AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitmesser

Ein Thema von nixalsverdruss · begonnen am 17. Jan 2009 · letzter Beitrag vom 17. Jan 2009
Antwort Antwort
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#1

Zeitmesser

  Alt 17. Jan 2009, 16:59
Hallo,
ich möchte gern ein Label auf einem Formular haben, dass zählt, wie lange das Form schon offen ist, also, dass unten die Zeit läuft. Hat da ejemand einen Quellcode für?
Danke schon mal im Voraus
nixalsverdruss
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Benutzerbild von Missionar
Missionar

Registriert seit: 19. Apr 2008
26 Beiträge
 
#2

Re: Zeitmesser

  Alt 17. Jan 2009, 17:01
ja
Gebet den Hungernden eine Gabel, damit er ordentlich Essen kann
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#3

Re: Zeitmesser

  Alt 17. Jan 2009, 17:10

top

du kannst einfach einen Timer machen und dann in die Timer-Prozedur z.B. schreiben
Label1.caption:=inttostr(strtoint(Label1.caption)+1); solltest aber dann Label1.Caption beim Form.Create oder noch davor auf 0 setzen und das Timer-Interval auf 1000 lassen
  Mit Zitat antworten Zitat
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Zeitmesser

  Alt 17. Jan 2009, 17:13
okay dankeschön, probier ich gleichmal....
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Zeitmesser

  Alt 17. Jan 2009, 17:16
Super!!!!!!!!!!!!!!!!!!!!! Genauso wollt ichs haben! Dankeschön!
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#6

Re: Zeitmesser

  Alt 17. Jan 2009, 17:21
um es etwas genauer zu haben, verwende am besten GetTickCount (liefert die ms ab, die der PC schon läuft.)
-"Was studierst du eigentlich? Nerdologie?"
-"Informatik..."
-"Wusst ich´s doch!"
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: Zeitmesser

  Alt 17. Jan 2009, 17:23
Hi!

Ich wäre mir aber nicht so sicher, ob das so genau funktioniert. Ich denke nämlich nicht unbedingt, dass der Timer genau im Takt 1000ms aufgerufen wird - bspw. nicht, wenn der Rechner mal gerade voll ausgelastet wird o.ä.

Ich würde zwar auch einen Timer mit Takt 1000ms nutzen, allerdings dann nicht einen Counter erhöhen, sondern die aktuelle Zeit auslesen und dann die Zeit beim Öffnen irgendwo gespeichert haben und dann die Differenz ordentlich formatiert ausgeben.


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#8

Re: Zeitmesser

  Alt 17. Jan 2009, 17:31
Zitat:
Ich würde zwar auch einen Timer mit Takt 1000ms nutzen, allerdings dann nicht einen Counter erhöhen, sondern die aktuelle Zeit auslesen und dann die Zeit beim Öffnen irgendwo gespeichert haben und dann die Differenz ordentlich formatiert ausgeben.
ja das scheint mir auch sinnvoller, hatte ich auch am anfang schon gedacht, aber soll er entscheiden wie er es umsetzen möchte
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Zeitmesser

  Alt 17. Jan 2009, 17:41
Zitat von fkerber:
Hi!

Ich wäre mir aber nicht so sicher, ob das so genau funktioniert. Ich denke nämlich nicht unbedingt, dass der Timer genau im Takt 1000ms aufgerufen wird - bspw. nicht, wenn der Rechner mal gerade voll ausgelastet wird o.ä.

Ich würde zwar auch einen Timer mit Takt 1000ms nutzen, allerdings dann nicht einen Counter erhöhen, sondern die aktuelle Zeit auslesen und dann die Zeit beim Öffnen irgendwo gespeichert haben und dann die Differenz ordentlich formatiert ausgeben.


Ciao, Frederic
Das denke ich auch. Dazu mal ein Beispiel aus dem Kopf getippt (keine Garantie):
Delphi-Quellcode:
type
  TMyForm = class(TForm)
    MyTimer: TTimer;
    MyLabel: TLabel;
    ...
    procedure FormCreate(Sender: TObject);
  private
    FStart: TDateTime;
    ...
  end;

...

uses DateUtils;
...

procedure TMyForm.FormCreate(Sender: TObject);
begin
  FStart := now; //Startzeit merken
end;

procedure TMyForm.MyTimerTimer(Sender: TObject);
const SecsPerMinute = 60;
      SecsPerHour = SecsPerMinute * 60;
var dwSecDiff: Cardinal;
begin
  dwSecDiff := DateUtils.SecondsBetween(now,FStart); //Zeitdifferenz in Sekunden
  MyLabel.Caption := Format('%.2d Stunden, %.2d Minuten, %.2d Sekunden',
                            [dwSecDiff div SecsPerHour,
                             dwSecDiff mod SecsPerHour div SecsPerMinute,
                             dwSecDiff mod SecsPerMinute]);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz