Autor Beitrag
detlef-d
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 12.06.10 18:51 
hi,

ich bräuchte noch eine kleine funktion bei der die ermittelte laufzeit abgefragt werden + gestoppt werden
und wo ich z.b. dadruch jede Minute einen variablen wert verändern kann.
gibt es etwas derartiges?

mfg

Moderiert von user profile iconNarses: Titel geändert.
Georg08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 155
Erhaltene Danke: 6

Win XP
Delphi 7.0 Personal
BeitragVerfasst: Sa 12.06.10 18:57 
Also jede Minute eine Variable ändern geht mit einemn Timer:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  Timer1: TTimer;
begin
  Timer1:= TTimer.Create(self);
  Timer1.Enabled:= true;
  Timer1.Interval:= 1000//1000 entspricht einer Sekunde
  Timer1.OnTimer:= Form1.Ontime;
end;

procedure TForm1.OnTime(Sender: TObject);
begin
  //hier die Variable ändern
end;

hab den code nicht getestet
detlef-d Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 12.06.10 19:43 
und wenn ich schon einen bestehenden timer habe
der z.b mit dem intervall 100 läuft,
wie kann ich dort nach einer gewissen zeit einen variablen wert erhöhen
bzw die zeit auslesen die der timer gelaufen ist?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 12.06.10 19:51 
Du kannst dir in einem privaten Feld z.B. die Startzeit merken und die mit der aktuellen vergleichen.

Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
private
  FStartTime: Cardinal;

// Starten:
FStartTime := GetTickCount;
MyTimer.Enabled := True;

// im Timer:
MyLabel.Caption := 'Vergangene Millisekunden: ' + IntToStr(GetTickCount() - FStartTime);
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Mo 14.06.10 20:15 
Meinst Du das ganz einfach so?:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
var //Form-Variablen
ZeitInMS:Integer;

procedure ButtonStartStopOnClick(Sender: TObject);
begin
TimerStopDieZeit.Enabled:= not TimerStopDieZeit.Enabled;
if (TimerStopDieZeit.Enabled) then
   begin
   ZeitInMS:=0;
   LabelVergangeneZeit:Caption:=IntToStr(ZeitInMS);
   end;
end;

procedure TimerStopDieZeitOnTimer(Sender: TObject);
begin
ZeitInMS:=ZeitInMS+1;
LabelVergangeneZeit.Caption:=IntToStr(ZeitInMS)
end;

Dabei müsstest Du dann nur den Timer.Intervall auf 1000 haben.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Mo 14.06.10 21:22 
Alternativ kannst du GetPerformanceCounter / GetPerformanceFrequency verwenden.