Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zeiturechnungsprobleme (https://www.delphipraxis.net/2492-zeiturechnungsprobleme.html)

CalganX 26. Jan 2003 12:04


Zeiturechnungsprobleme
 
Hi,
warum WinAPI? Weil ich die Zeit aus einer API-Funktion bekomme!
So, nun zum Problem: Ich bekomme mit Hilfe der NetUserGetInfo-Funktion die Zeit des letzten Login und nun will ich die erhaltene Zeit umrechnen. Das mache ich mit folgendem Source:
Delphi-Quellcode:
TempTime := UnixToDateTime(aCurUserBuffer.usri11_last_logon, false);
if TempTime = 25569.0416666667 then
  TempS := 'Letzer LogIn: (nie)'
else
  TempS := 'Letzter LogIn: ' + DateTimeToStr(TempTime) + ' :: '+FloatToStr(TempTime);
{Unter der Verwendung der folgenden Funktion (aus der DP):}
function UnixtoDateTime(UnixTime: Double; UTC: Boolean): TDateTime;
var
  SysTime, TmpSysTime: TSystemTime;
  DTime: TDateTime;
  FTime, LTime: TFileTime;
begin
  DTime := (UnixTime / (24 * 3600)) + EncodeDate(1970, 1, 1);

  if UTC = true then
    result := DTime
  else
  begin
    DateTimeToSystemTime(DTime, TmpSysTime);

    SystemTimeToFileTime(TmpSysTime, FTime);
    FileTimeToLocalFileTime(FTime, LTime);
    FileTimeToSystemTime(LTime, SysTime);

    result := SystemTimeToDateTime(sysTime);
  end;
end;
{Folgende Variablendeklinationen:}
var
  TempTime: TDateTime;
  aCurUserBuffer: PUSER_INFO_11;
  TempS: String;
So, nun ist das Problem, dass bei allen, die noch nie eingeloggt waren immernoch das Datum 01.01.1970 01:00:00 steht.
Hat einer Abhilfe?

Chris

Luckie 26. Jan 2003 12:08

Frag doch einfach ab. Und wenn das Datum rauskommt, gibts du nichts aus. bzw, dann gibt dir _last_logn 0 zurück. Und wenn du 0 bekommst gibst du nicghts aus oder je nachdem, was du willst.

CalganX 26. Jan 2003 12:15

Klar!
Auf die Idee bin ich gar nicht gekommen! Danke! Jetzt funktioniert es.

Chris


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