![]() |
Re: Counter Beginnt nicht wieder mit zählen
Liste der Anhänge anzeigen (Anzahl: 1)
Insgesamt werde der Code zulang aber im wesentlichen sieht er so aus
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var a: String; begin a:='1' ; Anzeige.Items.InsertObject(0, a,Pointer(clRed)); end; procedure TForm1.Button3Click(Sender: TObject); Var a:String; begin a:='3' ; Anzeige.Items.InsertObject(0, a,Pointer(clRed)); end; procedure TForm1.Button5Click(Sender: TObject); Var a:String; begin a:='5' ; Anzeige.Items.InsertObject(0, a,Pointer(clRed)); end; procedure TForm1.Button6Click(Sender: TObject); Var a:String; begin a:='6' ; Anzeige.Items.Insert(0, a); end; procedure TForm1.Button7Click(Sender: TObject); Var a:String; begin a:='7' ; Anzeige.Items.InsertObject(0, a,Pointer(clRed)); end; procedure TForm1.NeustartClick(Sender: TObject); begin Anzeige.Items.Clear; end; procedure TForm1.AnzeigeDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var g, Counter: Integer; begin with Control as TListBox do begin Canvas.FillRect(Rect); Canvas.Font.Color := TColor(Items.Objects[Index]); Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]); end; begin Counter := 0; for g := 0 to Anzeige.Count-1 do begin if StrToInt(Anzeige.Items[g]) in [1,3,7] then Inc(Counter) else if StrToInt(Anzeige.Items[g]) in [6] then Counter := 0; end; end; Label6.Caption:= IntToStr(Counter) ; end; end. ; P.S. Im Orginal gibts noch mehr Zahlen Das Problem ist, das ich möchte das oben in der Listbox die neuen Zahlen erscheinen, dadurch Funktioniet der Counter nicht so wie er sollte |
Re: Counter Beginnt nicht wieder mit zählen
hi,
irgendwie fehlen da dateien in deiner zip datei, wenn ich mich nicht irre :) |
Re: Counter Beginnt nicht wieder mit zählen
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:
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. :mrgreen: 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:
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.
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) ; |
Re: Counter Beginnt nicht wieder mit zählen
Ein langer Weg, aber Die Lösung ist nahe :thumb:
Jetzt zählt der Counter bei einer Zahl [1,3,7] aber springt bei der 2. Zahl[1,3,7] sofort wieder zurück |
Re: Counter Beginnt nicht wieder mit zählen
[edit] geloescht [end edit] sorry
|
Re: Counter Beginnt nicht wieder mit zählen
:pale: :oops: *hust* *hust* Da muß der Hausgeist am Werk gewesen sein, ich war das nämlich bestimmt nicht. *hust* *hust*
Denn natürlich muß da anstatt "From ... To ..." "From ... DownTo ..." stehen. ........... Wie gesagt, ich war das nicht! Pöhser Hausgeist! :witch: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz