Entwickler-Ecke

Dateizugriff - Prüfen, ob Datei geöffnet ist


Stauch - Do 03.04.03 09:59
Titel: Prüfen, ob Datei geöffnet ist
Mit AssignFile(MyFileVar, Dateiname) die Filevariable mit einer Datei verbinden.
Ich möchte aber vorher prüfen, ob MyFileVar bereits mit einer anderen Datei verbunden ist.
Gibt es da einen effizienten Weg?

MfG C.


wulfskin - Do 03.04.03 13:09

Hallo Stauch!

Ich verstehe dein Problem noch nicht ganz: Willst du wissen, ob eine Datei bereist geöffnet ist, wie du im Title geschrieben hast, oder willst du wissen, ob die Datei mit einer anderen verbunden ist. Wenn du das letztere meinst, dann erklär doch mal bitte, was du mit "verbunden" meinst!
Am einfachsten geht das wohl, wenn du sagst, was du damit machen möchtest.

Gruß wulfskin!


Stauch - Do 03.04.03 14:22

Hallo,
ich meinte verbunden im Sinne zugeordnet:
In der Hilfe steht zu AssignFile
Zitat:
Die Funktion AssignFile ordnet den Namen einer externen Datei einer Dateivariablen zu.


Ich möchte prüfen, ob die DateiVariable MyFileVar schon einer externen Datei zugeordnet ist, ehe sie mit AssignFile einer anderen externen Datei zugeordnet wird. Ziel ist, den Nutzer auf eventuellen Datenverlust hinzuweisen.

MfG Carsten

Moderiert von user profile iconKlabautermann: BBCode Aktiviert und "repariert".


Gausi - Fr 04.04.03 14:14

ich würde es einfach andersrum versuchen:
Zuerst probieren, die alte datei zu schliessen, und dann die neue zu "assignen". Also ungefähr:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
try
   closefile(MyFileVar);
except
   memo1.lines.add('Datei war nicht offen, alles ok');
   // kann man eigentlich weglassen die Zeile
end;
assignfile(MyFileVar, 'neuedateiname');
...

So dürfte nix verloren gehn, denke ich.


Stauch - Mo 07.04.03 10:44

Danke, dass war genau, was ich suchte :D