Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Zeitdifferenz "ordentlich" formatiert darstellen (https://www.delphipraxis.net/32577-zeitdifferenz-ordentlich-formatiert-darstellen.html)

CJ_lux 10. Aug 2008 18:35

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
Zitat:

Zitat von DeddyH
Machen wir das nicht viel zu kompliziert? Es würde doch reichen, die eingegebene Zeit einmalig zu wandeln und dann in z.B. einem Timer-Event zu vergleichen und auszugeben.

versteh nicht wirklich was du denkst? :stupid:

DeddyH 10. Aug 2008 18:44

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
Angenommen, Du hast ein privates Feld "FTimeUntil" vom Typ TTime definiert. Dann ginge doch so etwas (Zuweisung mittels 2 Edits ohne Fehlerprüfung):
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
begin
  FTimeUntil := Date + StrToTime(Format('%s:%s',[edtHour.Text,edtMinute.Text]));
  cdTimer.Enabled := True;
end;
Und im Timer-Event dann so:
Delphi-Quellcode:
procedure TForm1.cdTimerTimer(Sender: TObject);
var RemainingSeconds: Cardinal;
begin
  RemainingSeconds := SecondsBetween(Now,FTimeUntil);
  lblRemaining.Caption := Format('Noch %.2d:%.2d:%.2d bis %s',
                                  [RemainingSeconds div 3600,
                                   RemainingSeconds div 60 mod 60,
                                   RemainingSeconds mod 60,
                                   FormatDateTime('hh:mm',FTimeUntil)]);
end;

CJ_lux 10. Aug 2008 18:53

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
ich weis nicht... das kenn ich noch gar nicht (das Feld "FTimeUntil" & Edits ohne Fehlerprüfung)
muss zuerst noch versuchen das zu verstehen und so :P (bin wirklich neuling was programmieren angeht :?)

DeddyH 10. Aug 2008 18:56

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
Das ist eigentlich ganz einfach: da globale Variablen im Allgemeinen "pfui" sind, deklariert man sich ein privates Feld.
Delphi-Quellcode:
type TMyForm = class(TForm)
...
private
  FTimeUntil: TTime;
...
end;
Und mit der fehlenden Fehlerprüfung meinte ich nur, dass ich in meinem Beispiel nicht nachschau, ob in den Edits Blödsinn drinsteht (keine Zahlen oder eine Stunde > 23 z.B.).

CJ_lux 10. Aug 2008 19:10

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
Zitat:

Zitat von DeddyH
Und mit der fehlenden Fehlerprüfung meinte ich nur, dass ich in meinem Beispiel nicht nachschau, ob in den Edits Blödsinn drinsteht (keine Zahlen oder eine Stunde > 23 z.B.).


wozu sind diese inputboxen dann gut wenn man akkes reinschreiben darf? :nerd:


für den rest... so langsam wird das ganze chinesisch für mich^^
kannst du mier ein beisèiel programmieren das funktionstüchtig ist, dann kann ich dass leichter verstehen (Nein, will nicht von anderen profitieren, will es selbst auch können :tongue: )

DeddyH 10. Aug 2008 19:14

Re: Zeitdifferenz "ordentlich" formatiert darstell
 
Wieso, das Beispiel aus #32 ist funktionstüchtig, Du müsstest nur eine Fehlerbehandlung einbauen. Beispielsweise könntest Du mit TryStrToInt schauen, ob die Eingabe in eine Zahl gewandelt werden kann. Wenn nicht, hat der Anwender anscheinend nicht genug Grips oder ist böser Absicht oder einfach nur Softwaretester :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 4 von 4   « Erste     234   

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