![]() |
ReadOnly
Gibt es eine möglichkeit eine Typisierte Datei im NurLesen Modus zu öffnen??
Habe nämlcih vor eine Schreibgeschützte Datei zu öffnen!
Code:
if UFileTools.Schreibschutz then
öffnenNurLesend else Reset(Speicher); |
Re: ReadOnly
Schau mal unter FileMode.
|
Re: ReadOnly
Schau dir dazu mal die globale Variable FileMode an. In der Hilfe stehen die dazu passenden Konstanten.
|
Re: ReadOnly
zB.
das fmOpenRead ist zB. dieser "suspekte" FileMode ;)
Delphi-Quellcode:
F := TFileStream.Create(Dateiname, fmOpenRead);
try ... finally F.Free; end; |
Re: ReadOnly
Delphi-Quellcode:
Habe es jetzt so gemacht das Wenn eine Datei Schreibgeschützt ist erstmal in der UnitDateiEigenschaften die Funktion
AssignFile(Speicher,Dateiname);
if FileExists(Dateiname) then Begin {Wenn Schreibgeschützt --> dann Fragen und öffnen} if UDateiEigenschaften.Schreibschutz then Begin System.FileMode := fmOpenRead; Reset(Speicher); end else Reset(Speicher); end else Rewrite(Speicher); end; Schreibschutz aufgerufen wird und gefragt wir ob der Schreibschutz entfernt werden soll! Die Funktion liefert true wenn am ende der Funktion noch ein Schreibschutz besteht und somit öffne ich die Datei im ReadOnly Modus! Ist die umsetzung so richtig?? Ich denke man muss jetzt nur noch irgendwann den FileMode wieder auf den Standart setzen oder?? |
Re: ReadOnly
Ähem... mit dem Setzen von FileMode wird kein Schreibschutz entfernt, sondern der Dateizugriff auf NurLesen gesetzt :warn:
|
Re: ReadOnly
Den Schreibschutz entferne ich auch in einer extra Funktion!
(ist im Code nicht zu sehen)! |
Re: ReadOnly
Wieso nicht so?
Delphi-Quellcode:
AssignFile(Speicher,Dateiname);
if FileExists(Dateiname) then Begin System.FileMode := 0; Reset(Speicher); end else Rewrite(Speicher); |
Re: ReadOnly
Zitat:
So hab ich es doch im Prinzip, nur das ich zwischen dem then else Block noch Prüfe ob die Datei schreibgeschützt ist, und wenn der Schreibschutz dann noch besteht soll er mit FileMode 0 arbeiten! |
Re: ReadOnly
Wenn Du die Datei sowieso nur lesen willst, ist es doch egal, ob sie schreibgeschützt ist, oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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