Hi,
ein paar kleine Änderungen - ohne dass ich dein Projekt ganz verstanden habe:
Delphi-Quellcode:
procedure TMain.loesche;
var
i: Integer;
begin
for i := 1 to high(zeiten) do
zeiten [i - 1] := zeiten[i];
setlength(zeiten, high(zeiten));
end;
procedure TMain.Button1Click(Sender: TObject);
//Button der die Ampeln erstellt
begin
inc(i); // i als globale Variable ist nicht sehr glücklich
Ampel:= TAmpel.Create(Main,('Ampel' + IntToStr(i)), i);
TAmpel(FindComponent('Ampel'+inttostr(i))).ein;
end;
procedure TMain.istGruen;
//wird von den Ampeln aufgerufen, sobald sie grün sind
begin
setlength(zeiten, Length(zeiten) + 1);
zeiten[High(zeiten)] := gettickcount;
gruen := true;
end;
procedure TMain.Button2Click(Sender: TObject);
{muss vom User geklickt werden, wenn eine Ampel auf grün schaltet}
var
zeit: integer;
begin
if gruen then begin
zeit := (gettickcount - zeiten[0]);
Listbox1.items.Add(inttostr(zeit) + ' ms');
loesche;
gruen := false;
end;
end;
Grüße vom marabu