Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: erstes Element aus dynamischem Array löschen

  Alt 3. Sep 2005, 16:56
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
  Mit Zitat antworten Zitat