Hallo !
Einigen Programmierern, die vorher mit Quick- oder Visual Basic gearbeitet haben, könnte es schon aufgeafllen sein. In PureBasic fehlt ne wichtige Funktion für das Arbeiten mit Dateien. Ich rede hierbei von der Funktion [c]FreeFile()[/c]. Diese Funktion gibt die nähste freien Datei-ID zurück, die man mit OpenFile öffnen kann. Sowas ist schon wichtig, wenn man in einer Funktion mit API-Befehlen arbeitet und im Hauptprogramm auch noch Dateien geöffnet hat.
In PB fehlt eine wichtige Funktion !
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Versuch damit mal ne API zu füttern
Ich hab hier im Forum Code von Agent gesehen, wo eine Funktion drin stand, die das Datum der Datei zurückgibt, wann sie erstellt wurde. Hier der Code:
Wenn ich bei OpenFile die 0 durch #PB_Any ersetze, spielt die API nicht mehr so mit wie es seien sollte.
Code: Alles auswählen
Procedure.s getfiledate(filename.s)
; Protected filestamp
hFile.l = OpenFile(0,filename) ; change to your own path/file
GetFileTime_(hFile, @Create.FILETIME, @Access.FILETIME, @WRITE.FILETIME)
FileTimeToSystemTime_(@Create, @SysTime.SYSTEMTIME)
filestamp.s=""
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 filestamp
EndProcedure 
