![]() |
Ermitteln ob eine file-Variable geöffnet ist
Hi,
wie der Titel schon sagt, ich will ermitteln ob eine Dateivariable (mit reset oder rewrite) geöffnet ist.
Delphi-Quellcode:
Da es isopen leider nicht gibt, wollte ich wissen, ob es da einen Befehl gibt?
var
f:file; begin if isopen(f) then ... end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
Delphi-Quellcode:
Grüße vom marabu
function IsOpen(f: file): boolean;
begin Result := TFileRec(f).Mode <> fmClosed; end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
thanks
|
Re: Ermitteln ob eine file-Variable geöffnet ist
äääh,
Zitat:
|
Re: Ermitteln ob eine file-Variable geöffnet ist
zeig mal deinen sourcecode, bei mir funktioniert das ohne probleme.
|
Re: Ermitteln ob eine file-Variable geöffnet ist
sourcecode = die Funktion die oben steht.
Er markiert die Kopfzeile der Funktion, sowohl in der Interface wie auch in der Implementation, und sagt "Dateityp hier nicht zulässig" Ich denk mal dass er es irgendwie nicht mag, dass ich eine Variable vom Typ FILE reinschreib (d7 pers) |
Re: Ermitteln ob eine file-Variable geöffnet ist
achso, mit der Funktion hab ichs nicht probiert. Abhilfe: Schreib das ganze nicht in eine Funktion sondern direkt an die Stelle wo du es prüfen willst.
oder wenns unbedingt eine funktion sein soll dann so:
Delphi-Quellcode:
function IsOpen(const f: file): boolean;
begin Result := TFileRec(f).Mode <> fmClosed; end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
ja, jetzt gehts. Danke nochmal :thumb:
|
Re: Ermitteln ob eine file-Variable geöffnet ist
Einen hätt' ich noch:
Delphi-Quellcode:
marabu
function IsOpen(var f): boolean;
begin Result := TFileRec(f).Mode <> fmClosed; end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
danke, ich hab mich gerade gefragt, wie ich das mit sämmtlichen file-of-untertypen auch noch unter einen Hut bringen kann. :)
aber irgendwie kommt da immer true raus?
Delphi-Quellcode:
--> beide open :?:
var
f:file; begin try closefile(f); except end; if isopen(f) then showmessage('open') else showmessage('closed'); assignfile(f,'tempfile'); rewrite(f); if isopen(f) then showmessage('open') else showmessage('closed'); closefile(f); erase(f); end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
Die Variable Mode ist erst nach Ausführung von AssignFile() mit fmClosed initialisiert, vorher ist der Inhalt nicht definiert. Das hier kann dich vielleicht mehr überzeugen:
Delphi-Quellcode:
marabu
var
f: file; begin assignfile(f, 'tempfile'); if isopen(f) then showmessage('open') else showmessage('closed'); rewrite(f); if isopen(f) then showmessage('open') else showmessage('closed'); closefile(f); if isopen(f) then showmessage('open') else showmessage('closed'); erase(f); end; |
Re: Ermitteln ob eine file-Variable geöffnet ist
ahja...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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