Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#39

Re: brauche bishen hilfe damit die zeit im Edit runter leuft

  Alt 24. Apr 2005, 07:51
Hier eine ganz einfache Lösung. In diesem Beispiel wird davon ausgegangen das im Edit-Feld Sekunden angegeben wurden.
Delphi-Quellcode:
var
  Counter : Integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Clear;
  Timer1.Enabled := False;
  Timer1.Interval := 1000; // = 1 Sekunde
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Timer1.Enabled := False; // Wenn eine Taste gedrückt den Timer anhalten
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9',#8,#13]) then // Nur Zahlen, Del und Enter zulassen
  begin
    Key := #0;
  end;
  if (Key = #13) then // Wenn Enter gedrückt wurde
  begin
    Counter := StrToInt (Edit1.Text); // Countdown aus dem Edit nehmen
    Timer1.Enabled := True; // Timer wieder starten
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  DEC (Counter); // Die Counter runterzählen
  if (Counter = 0) then // Zeit ist abgelaufen
  begin
    Edit1.Clear;
    Timer1.Enabled := False;
    ShowMessage ('blubb');
  end
  else
  begin
    Edit1.Text := IntToStr (Counter); // Den aktuellen Countdown ins Edit
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"