Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#11

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 16:51
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 ?
3. Das lässt sich extrem verkürzen:
Delphi-Quellcode:
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]);
[edit]So sollte es stimmen:
Delphi-Quellcode:
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;
Gut, das mit dem Boolean zu Integer ist etwas verkünstelt, ich war zu faul, noch ein case einzufügen .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat