AGB  ·  Datenschutz  ·  Impressum  







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

Sekunden und Millisekunden anzeigen

Ein Thema von TheMiller · begonnen am 3. Jan 2008 · letzter Beitrag vom 5. Jan 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 22:24
Hallo,

ich versuche die zwischen zwei Zeitpunkten vergangene Zeit in Sekunden und Millisekunden anzuzeigen. Ich habe auch schon eine Funktion, aber die Zeit läuft irgendwie zu schnell...

Delphi-Quellcode:
var
  h, m, s: Word;
  Diff: Integer;
begin
  TimeNow:=GetTickCount;
  Diff:=TimeNow - StartTime;
  m:=Diff div 60;
  s:=Diff mod 60;
  Form1.Caption:=Format('%.2d:%.2d', [m, s]);
Wie bekomme ich da auchnoch die ms dazu?

Danke
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 22:29
Schau dir mal DecodeDateTime an.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 22:30
Meine Hilfe geht nicht.. Hab Windows Vista und Delphi 7 und da geht die Hilfe nicht mehr??
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#4

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 22:31
Also ich finde den QueryPerformanceCounter am besten.

Das hier
Hier im Forum suchenQueryPerformanceCounter
Hier im Forum suchenQueryPerformanceFrequency

denötigst du, um berechnungen anzustellen.

Der hat mich nie im Stich gelassen

//Edit: Natürlich das für dich interessante ist, dass das Ergebnis in µSek herauskommt. Also nur noch durch 1000 für mSek bzw. durch 1000² für Sek teilen.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 22:42
Zitat von DJ-SPM:
Meine Hilfe geht nicht.. Hab Windows Vista und Delphi 7 und da geht die Hilfe nicht mehr??
Schau hier
Blackheart
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#6

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 23:22
weshalb soll das nicht gehen?
Delphi-Quellcode:
var
 anfang, differenz: cardinal;
begin
 anfang := gettickcount();
 //was dazwischen
 differenz := GetTickDiff(Anfang, GetTickCount()); //differnz in millisekunden
was mir aufgefallen ist, ist

a) deine variable StartTime nicht initialisiert
b) arbeitest du mit zu kleinen variablen
c) wandelst du deine werte falsch um.

denk dran, gettickcount gibt die anzahl der verstrichenen millisekunden zurück ... <HTH>
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: Sekunden und Millisekunden anzeigen

  Alt 3. Jan 2008, 23:55
Hey!

Die Variable ist initialisiert, aber nicht in dieser Prozedur, sondern in einem Button.OnClick.

Würde gerne GetTickDiff aufrufen, aber es wird bei mir nicht gefunden. In welcher Unit ist die? Achso: Und meine Hilfe funzt wieder! Danke! Doch da steht weder zu GetTickCount noch zu GetTickDiff was drin...

Danke
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#8

Re: Sekunden und Millisekunden anzeigen

  Alt 4. Jan 2008, 00:16
GetTickDiff() //IdGlobal
GetTickCount()//Windows
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

Re: Sekunden und Millisekunden anzeigen

  Alt 4. Jan 2008, 01:05
Ich habe nun folgenden Code:

Delphi-Quellcode:
Diff:=GetTickDiff(StartTime, GetTickCount());
s:=Diff div 60; //für Sekunden
Form1.Caption:=Format('%.2d', [s]);
Jetzt sehe ich ja in der Caption der Form die "Sekunden". Doch die laufen viel zu schnell und stimmen nicht mit "realen" Sekunden überein! Wieso nicht? Was mache ich falsch?

StartTime ist übrigens dann initialisiert, wenn der Timer gestartet wird und bekommt den aktuellen GetTickCount-Wert.

danke.
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#10

Re: Sekunden und Millisekunden anzeigen

  Alt 4. Jan 2008, 01:19
Zitat von DJ-SPM:
Ich habe nun folgenden Code:

Delphi-Quellcode:
Diff:=GetTickDiff(StartTime, GetTickCount());
s:=Diff div 60; //für Sekunden
Form1.Caption:=Format('%.2d', [s]);
Jetzt sehe ich ja in der Caption der Form die "Sekunden". Doch die laufen viel zu schnell und stimmen nicht mit "realen" Sekunden überein! Wieso nicht? Was mache ich falsch?

StartTime ist übrigens dann initialisiert, wenn der Timer gestartet wird und bekommt den aktuellen GetTickCount-Wert.

danke.
Delphi-Quellcode:
Diff:=GetTickDiff(StartTime, GetTickCount());
s:=Diff div 1000; //für Sekunden <<< so wird schon eher 'n schuh draus
Form1.Caption:=Format('%.2d', [s]);
gettickcount liefert die zeit in millisekunden = 1/1000 sekunde, keine 60'tel. daher musst du hier mit 1000 dividieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:16 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