Hi
,
ich bin gerade dabei, ein eigentlich simples LottoTippProgramm zu schreiben. Allerdings hat es so seine Macken.
Delphi-Quellcode:
var
frmMain: TfrmMain;
lottozahlen: array [1..49] of integer;
durchlaeufe: integer;
implementation
{$R *.dfm}
procedure MixNumber(Anzahl: Integer);
var
i, a, zwischenspeicher: integer;
begin
for i:= 1 to 49 do lottozahlen[i]:=i;
for a:= 1 to Anzahl do
begin
for i:= 1 to 49 do
begin
zwischenspeicher:=random(49)+1;
lottozahlen[zwischenspeicher]:=i;
lottozahlen[i]:=zwischenspeicher;
end;
end;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Durchlaeufe:=0;
randomize;
end;
procedure TfrmMain.btnRandomClick(Sender: TObject);
var
Getippte_Zahlen: Array [1..6] of integer;
i: integer;
begin
MixNumber(10);
if durchlaeufe > 0 then
begin
for i:= 1 to 6 do
begin
TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Font.color:=clblack; //Hier kommt die Fehlermeldung beim 2. Tippen.
TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Font.size:=14;
TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Top:=TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Top+2;
TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Left:=TLabel(FindComponent('label'+inttostr(Getippte_Zahlen[i]))).Left+2;
end;
end;
for i:= 1 to 6 do
begin
Getippte_Zahlen[i]:=Lottozahlen[i];
TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Font.color:=clred;
TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Font.size:=18;
TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Top:=TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Top-2;
TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Left:=TLabel(FindComponent('label'+inttostr(lottozahlen[i]))).Left-2;
end;
Durchlaeufe:=Durchlaeufe+1;
end;
Die Fehlermeldung ist im Anhang. Wahrscheinlich ist es ein logischer Fehler. Deshalb habe ich es auch schon mit Breakpoints versucht und Zwischenwerte ausgegeben. Aber ich konnte den Fehler trotzdem nicht finden.