Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   countdown der auf systemzeit zugreift (https://www.delphipraxis.net/79090-countdown-der-auf-systemzeit-zugreift.html)

schoenwetterflieger 16. Okt 2006 10:40


countdown der auf systemzeit zugreift
 
halli hallöle

ich bin gerade beim werkeln an einem countdown, der in ein normales programm eingebunden werden soll. der countdown soll auf die systemzeit des rechers zugreifen und somit immer genau, ohne eingabe der jezigen zeit, runterzählen. es soll das format tage stunden minuten sekunen besitzen, aber leider bringe ich keinen countdown zustade... bitte um HIIIIILLLFFEEEE

mfg schoenwetterflieger

ManuMF 16. Okt 2006 10:45

Re: countdown der auf systemzeit zugreift
 
Was für HIIIILLLLFFFEEE brauchst du denn?
- Wie man die Zeit bekommt? Delphi-Referenz durchsuchenTime bzw. Delphi-Referenz durchsuchenNow
- Wie man die Zeit verarbeitet? Delphi-Referenz durchsuchenFormatDateTime für Strings; Delphi-Referenz durchsuchenSecondOf, Delphi-Referenz durchsuchenMinuteOf etc. für Integer
Und die Berechnung ist abhängig von dem Zeitpunkt, zu dem der Countdown laufen soll. Tipp: Du kannst Delphi-Referenz durchsuchenTDateTime-Werte einfach subtrahieren, für den Countdown quasi "Rest = Später - Jetzt". Und an Später kommst du z.B. mit Delphi-Referenz durchsuchenStrToDateTime

chrisw 16. Okt 2006 11:59

Re: countdown der auf systemzeit zugreift
 
Hab das mal so gelöst : (Form mit nem Timer (interval 1 Sekunde (1000)) und nem Statusbar mit einem Panel)

Delphi-Quellcode:

TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  end;
.....

var CountDownTage : Integer = 5*24*60*60; // 5 tage in Sekunden als Beispiel

function GetDayHourMinuteSecond(CountDown : Integer) : String;
var t,h,m,sec : Word;
begin
  t := Countdown div 86400;
  Countdown := Countdown mod 86400;
  h := Countdown div 3600;
  Countdown := Countdown mod 3600;
  m := Countdown div 60;
  Countdown := Countdown mod 60;
  sec := Countdown ;
  Result := IntToStr(t) + ' Tage ' +
            IntToStr(h) + ' Stunden ' +
            IntToStr(m) + ' Minuten ' +
            IntToStr(sec) + ' Sekunden';
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Dec(CountDownTage);
  StatusBar1.Panels[0].Text := GetDayHourMinuteSecond(CountDownTage);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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