Hallo Leute,
Ich habe einen Timer in meiner Application der eine angegebene Zeit(Zeiteingabe.Text) vom User zurueck zaehlt.
Delphi-Quellcode:
procedure TDemoForm.Timer6Timer(Sender: TObject);
var
v : TDateTime;
begin
v := strtotime(Form2.Zeiteingabe.Text); //<-- Zeiteingabe in Minuten vom User.
if restzeit = v - 60 then
begin
DemoForm.Mainmenu1.Items[0].items[1].Enabled:= true; //<-- Item wieder aktivieren.
end;
if Now >= FNextAction then
begin
DoAktion;
CalcNextAction;
end;
UpdateProgressBar;
end;
procedure TDemoForm.DoAktion;
begin
mach irgendwas..
end;
procedure TDemoForm.CalcNextAction;
begin
FStartTime := Now;
FNextAction := FStartTime + StrToFloat(EdtTimeout.Text) * OneMinute;
end;
function TDemoForm.Restzeit: Double;
begin
Result := Now-FNextAction;
end;
function TDemoForm.RestzeitMinuten: Double;
begin
Result := Restzeit * 24.0 * 60.0;
end;
function TDemoForm.RestzeitSekunden: Double;
begin
Result := Restzeit * 24.0 * 60.0 * 60.0;
end;
procedure TDemoForm.UpdateProgressBar;
begin
ProgressBar1.Position := Trunc((now-FStartTime)/(FNextAction-Now)*ProgressBar1.Max);
RestZeit.Caption := TimeToStr(Restzeit);
end;
Das Menuitem wird bei einem Button.click deaktiviert damit keinen Misbrauch von dem Code im den Button
gemacht werden kann.
Jetzt moechte ich aber das das Menuitem wieder nach spriech 1 Minute aktiviert wird.
Ich wollte das im Timercode realisieren, siehe obener Code, das klappt aber nicht so recht, kann mir jemand bitte weiterhelfen?
Vielen Dank im voraus.
MFG, Lucius.