vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Dateisystem22.03.05
CompareFileTime-Funktion

Diese Funktion vergleicht zwei FILETIME-Strukturen miteinander und gibt das Ergebnis zurück.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  9.515 

Deklaration:

Declare Function CompareFileTime Lib "kernel32.dll" ( _
  lpFileTime1 As  FILETIME, _
  lpFileTime2 As FILETIME) As Long

Beschreibung:
Diese Funktion vergleicht zwei FILETIME-Strukturen miteinander und gibt das Ergebniszurück.

Parameter:
lpFileTime1Erwartet die erste FILETIME-Struktur.
lpFileTime2Erwartet die zweite FILETIME-Struktur.

Rückgabewert:
Ist die erste der beiden FILETIME-Strukturen jünger, so wird der Wert "-1" zurückgegeben. Wenn beide Strukturen die selbe Zeit beinhalten so wird derWert "0" zurückgegeben. Wenn die erste Struktur älter ist als die zweite wird derWert "1" zurückgegeben.

Beispiel:

Private Declare Sub GetSystemTime Lib "kernel32.dll" (lpSystemTime As SYSTEMTIME) 
Private Declare Function LocalFileTimeToFileTime Lib "kernel32.dll"  ( _
  lpLocalFileTime As FILETIME, _
  lpFileTime As FILETIME) As Long
Private Declare Function SystemTimeToFileTime Lib "kernel32.dll"  ( _
  lpSystemTime As SYSTEMTIME, _
  lpFileTime As FILETIME) As Long
Private Declare Function CompareFileTime Lib "kernel32.dll" ( _
  lpFileTime1 As  FILETIME, _
  lpFileTime2 As FILETIME) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32.dll"  ( _
  lpFileTime As FILETIME, _
  lpSystemTime As SYSTEMTIME) As Long
Private Declare Function FileTimeToLocalFileTime Lib "kernel32.dll"  ( _
  lpFileTime As FILETIME, _
  lpLocalFileTime As FILETIME) As Long
 
Private Type FILETIME
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type
 
Private Type SYSTEMTIME
  wYear As Integer
  wMonth As Integer
  wDayOfWeek As Integer
  wDay As Integer
  wHour As Integer
  wMinute As Integer
  wSecond As Integer
  wMilliseconds As Integer
End Type
' Ermitteln ob
Private Sub Command1_Click()
  Dim LocalTime As FILETIME, GMTTime As FILETIME, Retval As Long
  Dim STimeLocal As SYSTEMTIME, STimeGMT As SYSTEMTIME, TmpTime As FILETIME 
 
  ' Systemzeit ermitteln (Ohne die Addition der Zeitzonen Informationen  
  ' z.B. in Berlin +1 Std.)
  Call GetSystemTime(STimeLocal)
 
  ' Systemzeit in eine FILETIME-Struktur konvertieren
  Retval = SystemTimeToFileTime(STimeLocal, TmpTime)
 
  ' Addieren / subtrahieren der Zeitzonendifferenz zu unserer Systemzeit
  Retval = FileTimeToLocalFileTime(TmpTime, LocalTime)
 
  ' UTC / GMT-Zeitzonen-Format der Systemzeit erstellen
  Retval = LocalFileTimeToFileTime(LocalTime, GMTTime)
 
  ' Kopieren der FILETIME-Strukturen in SYSTEMTIME-Strukturen
  Call FileTimeToSystemTime(GMTTime, STimeGMT)
  Call FileTimeToSystemTime(LocalTime, STimeLocal)
 
  ' Zeiten vergleichen
  Retval = CompareFileTime(LocalTime, GMTTime)
  Select Case Retval
  Case -1
    MsgBox "Die aktuelle Systemzeit ist früher als die GMT-Zeit"
  Case 0
    MsgBox "Die Zeiten sind Identisch"
  Case 1
    MsgBox "Die aktuelle Systemzeit ist später als die GMT-Zeit"
  End Select
  With STimeLocal
    Label1.Caption = .wHour & ":" & .wMinute & ":" & .wSecond & " (Lokal)" 
  End With
  With STimeGMT
    Label1.Caption = Label1.Caption & vbCrLf & .wHour & ":" &  _
    .wMinute & ":" & .wSecond & " (GMT)"
  End With
End Sub

Diese Seite wurde bereits 9.515 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel