Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   filtetime - filetime?? (https://www.delphipraxis.net/114853-filtetime-filetime.html)

marabu 2. Jun 2008 05:28

Re: filtetime - filetime??
 
Moin,

welche Akrobatik (TZ, DST) du in deiner Funktion anstellst, hängt nur vom übergebenen Wert ab.

Wenn du mit dieser Funktion die CountDown-Zeit ermitteln willst, dann musst du aber die Differenz anders bilden:

Delphi-Quellcode:
// TempFileTime := TFileTime(Int64(CurrentFileTime) - Int64(TempFileTime));
TempFileTime := TFileTime(Int64(TempFileTime) - Int64(CurrentFileTime));
Du erhältst sonst negative Werte, die von FileTimeToSystemTime() nicht akzeptiert und mit dem Fehler "Falscher Parameter" quittiert werden.

Das folgende ist deine Idee mit anderen Bezeichnern und einer Signatur, die den Umgang mit Fehlern leichter macht:

Delphi-Quellcode:
function CountDown(stLocal: TSystemTime; var stDiff: TSystemTime): Boolean;
var
  stNow: TSystemTime;
  ftLocal, ftNow: TFileTime;
  iDiff: Int64;
begin;
  GetLocalTime(stNow);
  Result := SystemTimeToFileTime(stNow, ftNow) and SystemTimeToFileTime(stLocal, ftLocal);
  if Result then
  begin
    iDiff := Int64(ftLocal) - Int64(ftNow);
    Result := FileTimeToSystemTime(TFileTime(iDiff), stDiff);
  end;
end;
Freundliche Grüße

lbccaleb 2. Jun 2008 05:36

Re: filtetime - filetime??
 
hey grlßten dank :thumb: :thumb:

so wie es aussieht klappt das wunderbar.. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr.
Seite 2 von 2     12   

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