Probleme mit md5filefingerprint()

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Hab den Wurm /:-> (denke ich zumindest)

Die Procedure GetFileDate hat die Datei nach dem öffnen nicht geschlossen. das macht es MD5FileFingerprint unmöglich sie ein 2. mal zu öffnen. Hier die veränderte Procedure:

Code: Alles auswählen

Procedure.l GetFileDate(strFileName.s)
    DefType.l hFile
    DefType.s FileStamp
    DefType.FILETIME Create, Access, Write
    DefType.SYSTEMTIME SysTime
    
    hFile = OpenFile(#PB_Any, strFileName)
    
    GetFileTime_(UseFile(hFile), @Create, @Access, @Write)
    FileTimeToSystemTime_(@Create, @SysTime)
    CloseFile(hFile)
    
    If SysTime\wDay < 10   : FileStamp+"0"+Str(SysTime\wDay)   : Else : FileStamp+Str(SysTime\wDay)   : EndIf
    FileStamp+"."
    If SysTime\wMonth < 10 : FileStamp+"0"+Str(SysTime\wMonth) : Else : FileStamp+Str(SysTime\wMonth) : EndIf
    FileStamp+"."
    FileStamp+Str(SysTime\wYear)
    FileStamp+" "
    If SysTime\wHour < 10   : FileStamp+"0"+Str(SysTime\wHour)   : Else : FileStamp+Str(SysTime\wHour)   : EndIf
    FileStamp+":"
    If SysTime\wMinute < 10 : FileStamp+"0"+Str(SysTime\wMinute) : Else : FileStamp+Str(SysTime\wMinute) : EndIf 
    FileStamp+":"
    If SysTime\wSecond < 10 : FileStamp+"0"+Str(SysTime\wSecond) : Else : FileStamp+Str(SysTime\wSecond) : EndIf
    
    ProcedureReturn ParseDate("%dd.%mm.%yyyy %hh:%ii:%ss", FileStamp)
EndProcedure 
Bild
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Hi LittleFurz.

Hm...du hast die Proc ein wenig abgewandelt. Das mit dem CloseFile leuchtet mir ein. Aber ist es nicht falsch closefile(hFile) zu benutzen, also das handle??? ich meine, das oben bei openfile(), #pb_any stehen muss, stimmt. so konnte das eh nicht gehen, da die filenr. 0 solange blockiert wurde, bis sie vom system geschlossen wurde, solange konnten die anderen threads die nr. nicht benutzen - klar. aber bei closefile das handle??? gehört da nicht die filenr hin? aber zumindest geht es besser wie vorher...dafür erstmal vielen dank.
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

einfache Antwort: . Ich benutze statt dem ID system von PB das "hWnd" System. Ich speichere die hWnd (hFile) und kann dan mit dieser an der Datei rumfummeln wie ich will.

Keine Ursache :allright: (habe die Funktion selbst benötigt)
Bild
Antworten