![]() |
Überprüfen ob Datei verfügbar
Ich habe ein Programm geschrieben, welches Daten in eine .csv Datei schreibt. Nun will ich dass das Programm schaut, ob die Datei verfügbar ist oder nicht (zbsp: Wenn noch geöffnet).
In php würde ich das so machen:
Delphi-Quellcode:
Aber das scheint in Delphi nicht möglich zu sein. Wisst ihr, was da abhilfe schafft?
if(Rewrite(f)) then ..{ablauf}..;
|
Re: Überprüfen ob Datei verfügbar
Probiers mal damit.
Delphi-Quellcode:
Wenn die Datei offen ist, exisitiert sie ja logischerweise auch.
FileExists(pfad)
ansonsten:
Delphi-Quellcode:
mittels {$I-} werden Fehlermeldungen unterdrückt und deren Nummer kann statt dessen mit IOResult abgefragt werden (nur einmal, deswegen in anderer Vari speichern, wenn damit gearbeitet werden soll!).
function dateiVorhanden(pfad:string):boolean;
var datei:file; begin assignFile(datei,pfad); filemode:=0; {$I-} reset(datei); closefile(datei); {$I+} dateiVorhanden:=IOResult=0 end; |
Re: Überprüfen ob Datei verfügbar
hmm....ob sie vorhanden ist, ist ja nicht die frage. Sondern eher, ob sie noch von excell geöffnet ist.
Dein 2tes Beispiel werd ich mal ausprobieren. |
Re: Überprüfen ob Datei verfügbar
Habs grad mal ausprobiert.. reset liefert auch 0, wenn die Datei geöffnet ist. da müssteste dann rewrite benutzen (und Filemode nicht auf 0 setzen). Das jedoch initialisiert die Datei.
Hab das vor kurzem in nem anderen Thread gesehen, da gabs ne API-Funktion, direkt zu checken, ob die Datei von einem Programm geöffnet ist. |
Re: Überprüfen ob Datei verfügbar
die api-funktion kenn ich nicht, aber du kannst mit
TFileStream.Create(Filename, fmShareExclusive) die Datei öffnen. Wenn die Datei schon geöffnet ist müsste eine exception ausgelöst werden |
Re: Überprüfen ob Datei verfügbar
Ich glaub das war's auch, wenn ich mir diesesm fmShareExclusive angucke. :gruebel:
|
Re: Überprüfen ob Datei verfügbar
Ich bin leider ein totaler neuling und weis nicht, was dieses "fmShareExklusive" ist.
|
Re: Überprüfen ob Datei verfügbar
Nur n Konstantenbezeichner. Ich meinte damit eben nur, dass mir der Name davon bekannt vorkommt.
Edit: Juhu! 20. Nachricht |
Re: Überprüfen ob Datei verfügbar
einfach mal in der OH zu TFileStream gucken, da sind die ganzen Share-Dinger erklärt
|
Re: Überprüfen ob Datei verfügbar
:( Bei mir steht da irgendwie in der OH nix zu dem fmShare dings.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz