Seite 1 von 1

Prüfen ob Datei existiert

Verfasst: 16.06.2006 13:30
von Thorium
Hallo,

ich muss prüfen ob eine bestimmte Datei in einem bestimmten Pfad existiert. Bei Visual Basic hab ich das immer so gemacht, das ich eine Funktion wie OpenFile oder FileSize angewand habe, lieferte mir die Funktion einen Fehler zurück existierte die Datei nicht. Bei PureBasic funktioniert das auch, aber nicht zufriedenstellend. Existiert die Datei nicht, wird automatisch von PureBasic ein Fester geöffnet, indem die üblichen Wahlmöglichkeiten sind: Wiederhohlen, Ignorieren, Abbrechen. Dieses Fenster will ich aber net haben.

Verfasst: 16.06.2006 13:33
von edel
PB hat auch FileSize.

Re: Prüfen ob Datei existiert

Verfasst: 16.06.2006 13:33
von Kiffi
> ich muss prüfen ob eine bestimmte Datei in einem bestimmten Pfad
> existiert.

FileSize() ist Dein Freund.
PB-Hilfe hat geschrieben:Syntax

Ergebnis = FileSize(DateiName$)

Beschreibung

Gibt die Größe der angegebenen Datei zurück.

Besondere 'Ergebnis' Werte:

-1: Datei wurde nicht gefunden.
-2: Datei ist ein Verzeichnis.
> Existiert die Datei nicht, wird automatisch von PureBasic ein Fester
> geöffnet, indem die üblichen Wahlmöglichkeiten sind: Wiederhohlen,
> Ignorieren, Abbrechen.

unwahscheinlich, dass dieses Fenster von PureBasic stammt.

Grüße ... Kiffi

Verfasst: 16.06.2006 13:39
von Thorium
OK, hab vergessen, das sich die Datei auf einer CD befindet. Der Titel des Fensters ist "Kein Datenträger". Habs grad mal geprüft und das Fenster kommt tatsächlich nur, wenn wirklich keine CD im Laufwerk liegt. Gibt es eine möglichkeit zu prüfen ob sich eine CD im Laufwerk befindet? Natürlich ohne dieses lästige Fenster.

Verfasst: 16.06.2006 13:46
von Kiffi
> Der Titel des Fensters ist "Kein Datenträger".

das Fenster kommt von Windows, nicht von PB

> Gibt es eine möglichkeit zu prüfen ob sich eine CD im Laufwerk befindet?
> Natürlich ohne dieses lästige Fenster.

nicht dass ich wüsste...

Grüße ... Kiffi

Verfasst: 16.06.2006 14:14
von Jilocasin
> Gibt es eine möglichkeit zu prüfen ob sich eine CD im Laufwerk befindet?
> Natürlich ohne dieses lästige Fenster.

klaro!
...

Code: Alles auswählen


Root.s = "D:\"
VolumeName.s = Space(100)
VolumeSerialNumber = 0
MCL = 0               ; Max. File Name Len (???)
FileSystemFlags = 0
FileSystemName.s = Space(100) ; FAT/NTFS usw...

GetVolumeInformation_(Root,@VolumeName,100,@VolumeSerialNumber,@MCL,@FileSystemFlags,@FileSystemName,100) 


Debug "------------------------ VolumeName:"
Debug VolumeName
Debug "------------------------ FileSystemName:"
Debug FileSystemName
Debug "------------------------ FileSystemFlags:"
Debug FileSystemFlags
Debug "------------------------ VolumeSerialNumber:"
Debug VolumeSerialNumber
Debug " = "+Hex(VolumeSerialNumber)
Debug "------------------------ DriveType:"
Debug GetDriveType_(Root)
Debug "------------------------"



Verfasst: 16.06.2006 14:18
von Kiffi
> klaro! [...]

ahja! schön! Schon wieder was gelernt :allright:

Danke & Grüße ... Kiffi

Verfasst: 16.06.2006 14:35
von Thorium
Vielen Dank, Jilocasin. Funzt einwandfrei. :allright:
An Kiffi und edel auch Danke für eure Bemühungen.

Verfasst: 16.06.2006 16:13
von Jilocasin
hihi...
man hilft wo man kann :wink: :mrgreen: :mrgreen: