"Existiert Datei" nicht mit FileType machen!

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Midimaster

Betreff: "Existiert Datei" nicht mit FileType machen!

BeitragFr, Jun 17, 2011 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schreib das mal ins Code-Archiv, weil zu dem Thema nix im Forum zu finden ist, und der nächste dann nicht solange nach der Ursache suchen muss, wie ich grad...

Zwar eignet sich FileType in den meisten Fällen, um nachzuweisen, dass eine Datei existiert: Fehlt die Datei gibt FileType eine 0 zurück.


Allerdings habe ich jetzt festgestellt, dass FileType bei Dateien, die mittels INCBIN eingebunden oder mit koriolis.zipstream aus einem ZIP geladen werden auch dann eine 0 zurückgibt, wenn die Dateien vorhanden sind:

BlitzMax: [AUSKLAPPEN]

Incbin "TEST.TXT"

Print "so wird es nichts:"
Print FileType("IncBin::TEST.TXT")



BlitzMax: [AUSKLAPPEN]
Import koriolis.zipstream
Incbin "TEST.ZIP"

DatenPfad$="ZIP::Incbin::TEST.ZIP//"

Print "so wird es nichts:"
Print FileType("ZIP::Incbin::TEST.ZIP//TEST.TXT")



Besser verwendet man diese Funktion FileExists(). Sie führt immer zu einem korrektem Ergebnis.

BlitzMax: [AUSKLAPPEN]
Import koriolis.zipstream
Incbin "TEST.TXT"
Incbin "TEST.ZIP"

DatenPfad$="ZIP::Incbin::TEST.ZIP//"

Print "So geht es dennoch:"
Print FileExists("IncBin::TEST.TXT")
Print FileExists("ZIP::Incbin::TEST.ZIP//TEST.TXT")

End

Function FileExists%(Datei$)
Stream:TStream=ReadFile (Datei)
If stream=Null Then Return 0
CloseFile Stream
Return 1
End Function

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group