Einzelnen Beitrag anzeigen

Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Counter Beginnt nicht wieder mit zählen

  Alt 20. Apr 2005, 11:49
Naja, wichtig is ja eigentlich im Moment erstmal die exe.

Und ich kann wieder mal nur sagen, daß selbst in diesem Testprogramm der Algorithmus genau das macht, was du programmiert hast, Hallo_Thomas...

Betrachte diese 2 Fälle:
  1. Gebe ich als erstes eine 6 ein, ist Counter immer 0, da die ListBox eben von oben nach unten durchgegangen wird. Und da das als erstes eingegebene Element eine 6 ist, und dieses Element bei der Eingabe neuer Zahlen immer das letzte Element bleibt, wird nach der Schleife "Counter" immer 0 sein, da eben als letztes eine 6 gefunden und Counter auf 0 gesetzt wird.
  2. Geben ich als erstes (und vielleicht noch als 2., 3., ...) eine 1,3 oder 7 ein, stehen die immer ganz unten in der ListBox. Daher zeigt Counter immer an, wieviele 1er, 3er oder 7er eingegeben wurden, bis die erste 6 kam.
Du siehst also, so betrachtet macht dein Code, was du willst.
Hättest du mal früher etwas mehr gepostet, dann hätte man dazu auch gleich mehr sagen können. Das jetzt mal nur als Tip für die Zukunft.

Jetzt zur Lösung:
Ich gehe mal davon aus, daß du willst, daß dir angezeigt wird, wieviele 1er, 3er und 7er in der ListBox über der letzten 6 stehen, oder? Also, wieviele seit der letzten 6 eingegeben wurden?
Dann mußt du natürlich die ListBox auch rückwärts durchgehen:
Delphi-Quellcode:
Counter := 0;
for g := Anzeige.Count-1 to 0 do
  if StrToInt(Anzeige.Items[g]) in [1,3,7] then
    Inc(Counter)
  else if StrToInt(Anzeige.Items[g]) in [6] then
    Counter := 0;
Label6.Caption:= IntToStr(Counter) ;
PS: Gewöhn dir mal an, deinen Code etwas besser zu formatieren. Bei dir muß man immer suchen, was wozu gehört. Wenn du an bestimmten Stellen mit TAB etwas einrückst, macht das den Code viel lesbarer. Das erleichtert auch die Programmierung erheblich.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat