Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Constantin
Anmeldungsdatum: 31.08.2007 Beiträge: 36
|
Verfasst am: 22.02.2008, 20:07 Titel: Existiert Datei? |
|
|
Hi,
gibt es einen kurzen Befehl, um herauszufinden, ob eine Datei existiert?
Gibt es einen Befehl, um herauszufinden, ob es in dem Ordner X irgendeine Datei gibt?
Im Notfall könnte ich natürlich
Code: |
dim as string text
dim as byte datei_existiert = false
open "datei.txt" for input as #1
do
input #1, text
if text <> "" then
datei_existiert = true
end if
loop until eof(1)
close #1
|
verwenden, aber das dauert länger und kann nicht verwendet werden, um alle dateien im ordner zu erfassen...
SuFu hab ich auch schon verwendet, nix gefunden.
Kann mir jemand helfen?
Vielen Dank im Voraus! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.02.2008, 20:15 Titel: |
|
|
Code: |
if dir(Filename) <> "" then
'datei existiert...
End if
|
_________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 22.02.2008, 20:20 Titel: |
|
|
Code: |
dim f as integer = freefile
open "datei" for output as #f
if lof(f) = 0 then
print "Die Datei existiert nicht."
else
print "Die Datei existiert.
end if
close #f
|
Funktioniert, wenn die Datei nicht existiert, aber keinen Inhalt hat. Ansonsten kann man auch mit open pipe das machen. Hab ich nicht getestet, aber es müsste so funktionieren:
Code: |
dim f as integer = freefile
dim ex as boolean = false
dim what as string
open pipe "dir" for input as #f
while not eof(f)
line input #f, what
if instr(what, "datei") then
ex = true
end if
wend
if ex then
print "Datei existiert"
else
print "Datei existiert nicht"
end if
close #f
|
Edit: aah schon wieder ein Befehl den ich übersehen habe  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.02.2008, 20:23 Titel: |
|
|
raph ael hat Folgendes geschrieben: | open "datei" for output as #f |
bist du wahnsinnig?! testest du überhaupt, was du schreibst? so würdest du jede datei deines system unwiderruflich zerstören!
wennschon, dann müsste da BINARY statt OUTPUT stehen, was aber den nachteil hat, dass die datei angelegt wird, sofern sie nicht existiert und dann 0 byte groß ist. Sicherer wäre die INPUT-Methode (man muss den error-code abfangen), aber am besten einfach DIR. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Constantin
Anmeldungsdatum: 31.08.2007 Beiträge: 36
|
Verfasst am: 22.02.2008, 21:06 Titel: |
|
|
ich werd mich mal mit DIR vertraut machen... jo
Danke!!!! |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 23.02.2008, 13:01 Titel: |
|
|
bei dem open "datei" for output as #1 xD
_jojo_: _jede_ nicht grade aber.. mh.. jaah, doch nen haufen *gg* (wenn man mit dieser funktion ein backupprogramm schreiben will ROFL)
in qb hab ich immer open "datei" for append as #1 genommen (dann mit lof prüfen)
das problem war nur, existiert die nu nicht oder ist sie eunfach nur leer? _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 23.02.2008, 14:22 Titel: |
|
|
APPEND würde zum selben Ergebnis wie BINARY führen... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 23.02.2008, 20:48 Titel: |
|
|
Es gibt einen kurzen Befehl um die Existens einer Datei zu prüfen, siehe Referenz FileExists:
Code: | #INCLUDE "file.bi" 'oder "vbcompat.bi"
DIM filename AS STRING
PRINT "Bitte geben Sie einen Dateinamen ein: "
LINE INPUT filename
IF FILEEXISTS( filename ) THEN
PRINT "Datei gefunden: " & filename
ELSE
PRINT "Datei nicht gefunden: " & filename
END IF |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 23.02.2008, 21:07 Titel: |
|
|
nice, hab das gleich mal zu den Code-Beispielen im fb-portal hinzugefügt  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 23.02.2008, 21:24 Titel: |
|
|
und Jojo hat hier beschrieben wie ein Verzeichnis geprüft wird ob noch Dateien vorhanden sind
http://forum.qbasic.at/viewtopic.php?p=69032#69032
oder:
Code: | IF DIR("*") <> "" THEN 'Datei da...
... |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 23.02.2008, 21:32 Titel: |
|
|
volta hat Folgendes geschrieben: | Es gibt einen kurzen Befehl um die Existens einer Datei zu prüfen, siehe Referenz FileExists: |
Gerade recherchiert:
http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgFileexists
Somit erübrigt sich mein im letzten Posting genannter Feature Request bereits und das Titelproblem ist ebenfalls vollständig gelöst. => Somit können alle zuvor genannten "Bastlerlösungen" komplett "beerdigt" werden. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|