Datei überprüfen

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Datei überprüfen

Beitrag von sobi »

Hallo,

gibt es eine Möglichkeit zu überprüfen, ob eine Datei bereits existiert?

LG


Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Re: Datei überprüfen

Beitrag von traumatic »

FileSize()
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: Datei überprüfen

Beitrag von sobi »

traumatic hat geschrieben:FileSize()
Das ist zwar ein guter Anfang, habe jedoch folgendes gefunden:

Result.w = FileExists(String) in der Helpfuncs Lib.

So, jetzt bin ich glücklicher! :)

Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Datei überprüfen

Beitrag von DarkDragon »

sobi hat geschrieben:
traumatic hat geschrieben:FileSize()
Das ist zwar ein guter Anfang, habe jedoch folgendes gefunden:

Result.w = FileExists(String) in der Helpfuncs Lib.

So, jetzt bin ich glücklicher! :)

Simon
Wo ist da der Unterschied? Mit FileSize bekommt man sogar noch mehr zurück.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

FileExists() ist soweit ich weiß nur ein anderer Name für FileSize(), nur dass FileExists u.U. nur 1 bei werten > 0 und 0 bei werten < 0 zurückliefert
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Alternativ auch "xxx = Readfile()". "xxx" muss dann eben etwas anderes als 0 sein. Ist aber vielleicht langsamer als die andere Routine, müsste man mal testen.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

ist FileExists() nicht aus einer userlib ?! das heisst wenn sich etwas in PB ändert kann es sein dass diese lib dann nicht mehr funktioniert.

FileSize() ist aufjedenfall der korrekte weg, alles andere wäre meiner meinung nach ziemlich sinnlos.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Für solche Sachen hab ich mir immer kleine wiederverwendbare Proceduren geschrieben. Im laufe der Zeit werden es immer mehr und man spart viel Zeit beim Programmieren. UserLibs sollte man nur in besonderen Fällen benutzen. Hab mal die von Dir gesuchte Funktion erstellt.

Code: Alles auswählen

Procedure.l FileExists(Filename.s)
  If FileSize(Filename) => 0 ; 0 Byte Dateien können auch existieren
    ProcedureReturn #True
  EndIf 
  ProcedureReturn #False
EndProcedure


; Beispiel:

If FileExists("C:\AUTOEXEC.BAT")
  MessageRequester("FileExists-Ergebnis", "Datei existiert", #MB_ICONINFORMATION)
Else
  MessageRequester("FileExists-Ergebnis", "Datei existiert nicht", #MB_ICONERROR)
EndIf
Kannste frei verwenden oder auch sein lassen :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
pogi02
Beiträge: 131
Registriert: 30.10.2004 00:52
Wohnort: Österreich
Kontaktdaten:

Beitrag von pogi02 »

und was bringt diese Funktion???

Nur damit der name von FileSize auf FileExist gewandelt wird?

Da nehm ich doch gleich Filsize oder? ist doch schneller und nicht so kompliziert
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> und was bringt diese Funktion???
Bei häufigerem Gebrauch spart man sich das nachsehen in der Hilfe, welche Werte von FileSize zurückgegeben werden. Wenn im gesamten Programm diese Überprüfung nur einmal nötig ist, kann man sich die Funktion natürlich sparen.
>> Da nehm ich doch gleich Filsize oder? ist doch schneller
Richtig, in der Zeit könnte man viele wichtige Dinge erledigen :mrgreen:
>> und nicht so kompliziert
Vielleicht wäre ein Click-To-Exe Baukasten einfacher für Dich ?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten