![]() |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
1. Wenn du dich schon in einer Methode von TForm1 befindest, kannst du Form1 weglassen. Dann bekommst du auch keine Probleme bei mehreren Instanzen.
2. "Counte": soll das nicht Counter heißen :wink: ? 3. Das lässt sich extrem verkürzen:
Delphi-Quellcode:
[edit]So sollte es stimmen:
var s: string;
begin for i := 0 to Anzeige.Count - 1 do begin s := Anzeige.Items[i]; case s[Length(s)] of '0'..'6': if StrToInt(s) < 40 then Inc(Counte(StrToInt(s[Length(s)]))) else Counte(StrToInt(s[Length(s)])) := 0; '7'..'9': if StrToInt(s) < 30 then Inc(Counte(StrToInt(s[Length(s)]))) else Counte(StrToInt(s[Length(s)])) := 0; end; end; for i := 0 to 9 do (FindComponent('Label'+IntToStr(i+192)) as TLabel).Caption:=IntToStr(Counte[i]);
Delphi-Quellcode:
Gut, das mit dem Boolean zu Integer ist etwas verkünstelt, ich war zu faul, noch ein case einzufügen :wink: .
for i := 0 to Anzeige.Count - 1 do
begin s := Anzeige.Items[i]; Index := StrToInt(s[Length(s)]); for ii := 0 to 9 do if (Index = ii) and (Counte[Index] < 30 + Integer(Index <= 6) * 10) then Inc(Counte[Index]) else Counte[Index] := 0; end; |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
@Khabarakh
hab das probiertt, funkt nich
Delphi-Quellcode:
hab das probiert funkt nich
begin
for i := 0 to Form1.Anzeige.Count - 1 do begin s := Form1.Anzeige.Items[i]; case s[Length(s)] of '0'..'6': if StrToInt(s) < 40 then Inc(Counte[StrToInt(s[Length(s)])]) else Counte[StrToInt(s[Length(s)])] := 0; '7'..'9': if StrToInt(s) < 30 then Inc(Counte[StrToInt(s[Length(s)])]) else Counte[StrToInt(s[Length(s)])] := 0; end; end; for i := 0 to 9 do (FindComponent('Label'+IntToStr(i+192)) as TLabel).Caption:=IntToStr(Counte[i]); end;
Delphi-Quellcode:
P.S. können wir uns auf diese Zeile einigen, denn hier muss der Fehler liegen
var index,ii,i:integer;
begin for i := 0 to form1.Anzeige.Count - 1 do begin s := Form1.Anzeige.Items[i]; Index := StrToInt(s[Length(s)]); for ii := 0 to 9 do if (Index = ii) and (Counte[Index] < 30 + Integer(Index <= 6) * 10) then Inc(Counte[Index]) else Counte[Index] := 0; for x:= 0 to 9 do ( FindComponent('Label'+IntToStr(x+192)) as TLabel).Caption:=IntToStr(Counte[x]); end; end;
Delphi-Quellcode:
( FindComponent('Label'+IntToStr(x+192)) as TLabel).Caption:=IntToStr(Counte[x]);
Delphi-Quellcode:
P.S. hier hieß es nicht Counter weil ich hier den Counter schon als normale Variable vergeben habe
|
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
Zitat:
Was funktioniert denn nicht? Kommt eine Fehlermeldung? |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
Liste der Anhänge anzeigen (Anzahl: 1)
@Sharky es gibt keine Fehlermelung
So hab jetzt mal mein Beispielprogramm so eingestellt das es genau den Fehler macht Die 10 Zahlen rechts unten sollen die Counter darstellen die eigenlich Zählen müssten |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
Liste der Anhänge anzeigen (Anzahl: 1)
Hai,
warum hast Du denn die Methode Addmyitem bei deiner Form2 deklariert wenn Du sie doch nur in Form1 benutzt. Das problem liegt aber an dem FindComponent. Es findet die Labels nicht auf der Form1. Ich habe das ganze mal etwas umgeschrieben. Schaue Dir vor allem mal mein Set of Byte an ;-) |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
@Sharky
Ich danke Dir, bin ja ect begeistert von dem Ergebnis, Das mit der 2 Unit war eine Fehlgeschlagene Probe, ich wollte sehen ob ich dadurch ´das Programm schneller wird |
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra
Super sharky. :thumb:
MfG freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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