Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zeitcountdown mit 2 variablen Zeiten (https://www.delphipraxis.net/47949-zeitcountdown-mit-2-variablen-zeiten.html)

Osse 18. Jun 2005 12:03


Zeitcountdown mit 2 variablen Zeiten
 
Hallo,

ich habe ein Programm geschrieben, in dem es möglich sein soll, zu einer betimmten Zeit ein Funktion zu Starten.

Um den Anweder einen kleien Überblick zu geben, wann die Funktion ausgeführt wird, möchte ich die noch verbleibende Zeit mit einem Countdown anzeigen.

Also konkret : ich gebe eine geprüfte Zeit ein, d.h. die Zeit liegt auch wirklich in der Zukunft. Nun möchte ich mir immer die Zeit berechenen lassen, die noch verbleibt bis die Funktion ausgeführt wird.


Gibt es in Delphi schon eine solche Funktion??

Danke

MFG Oliver

Oxmyx 18. Jun 2005 12:07

Re: Zeitcountdown mit 2 variablen Zeiten
 
Delphi-Quellcode:
VerbleibendeZeit := ZukunftsZeit - Now;

Sharky 18. Jun 2005 13:03

Re: Zeitcountdown mit 2 variablen Zeiten
 
Zitat:

Zitat von Oxmyx
Delphi-Quellcode:
VerbleibendeZeit := ZukunftsZeit - Now;

Hai Oxmyx,

Delphi-Referenz durchsuchenNow beinhaltet auch das aktuelle Datum. Darum müsste der Datumsanteil entfernt werden.
Delphi-Quellcode:
VerbleibendeZeit := ZukunftsZeit - Frac(now);
Aber mit dieser Art wird es sicher Probleme geben wenn zwichen der Zukunftszeit und jetzt ein Datumswechsel liegt.
Darum ist es sicher besser die Differenz in sekunden zu ermitteln und diese dann entsprechend formatiert darzustellen.

Oxmyx 18. Jun 2005 13:36

Re: Zeitcountdown mit 2 variablen Zeiten
 
Es ist doch vorteilhaft, TDateTime zu verwenden, gerade weil es eine Datumskomponente hat.

Sharky 18. Jun 2005 14:02

Re: Zeitcountdown mit 2 variablen Zeiten
 
Zitat:

Zitat von Oxmyx
Es ist doch vorteilhaft, TDateTime zu verwenden, gerade weil es eine Datumskomponente hat.

TDate, TTime und TDateTime sind alle drei gleich deklariert. :stupid:

Aber wie soll jetzt dies hier gelöst werden?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  VerbleibendeZeit : TDateTime;
  ZukunftsZeit : TDateTime;
begin
  ZukunftsZeit := EncodeDate (2005,6,20) + EncodeTime(1,30,0,0);
  VerbleibendeZeit := ZukunftsZeit - now;
  ShowMessage(DateTimeToStr (VerbleibendeZeit));
end;
Das Ergebniss der Berechnung muss also in jedem Fall noch weiter verarbeitet werden.

Osse 18. Jun 2005 17:31

Re: Zeitcountdown mit 2 variablen Zeiten
 
Vielen Dank,

da ich meine Zeit aus einem Editfenster eingelese, hatte ich natürlich nicht TDateTime sondern nur TTime :wall: :wall: :wall: .

Tja, schade Schokolde ging somit nicht.

Delphi-Quellcode:
Anfangszeit := Date + StrToTime(ME_Startzeit.editText);
und dann geht auch

Delphi-Quellcode:
TimeToStr(Anfangszeit - Now)
ganz hervorragend :bounce2:

Jetzt ist genau die richtige Zeit um :cheers:

Vielen Dank und einen schönen Abend noch


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz