![]() |
"Dateizugriff verweigert"
Ich möchte die Dateigröße einer Datei auf der CD überprüfen, wenn ich das mache kommt die Meldung: "Dateizugriff verweigert". Das liegt daran, dass die Datei Schreibgeschüzt ist.
Wie kann ich aber trotzdem die Datei prüfen? Man kann ja nicht einfach die Attribute ändern, da es ja auf CD ist, oder doch? Vielleicht hatte jemand schonmal das gleiche Problem und kann mir helfen. :love: Danke UC |
Re: "Dateizugriff verweigert"
Öffne die Datei im "Read-Only" Modus. Zeige Deinen Code, und wir sagen Dir, wie Du den anpassen kannst ;-)
...:cat:... |
Re: "Dateizugriff verweigert"
Nein, ändern kannst du die Attribute nicht.
Du könntest jedoch die datei in eine Stringlist laden und dort was checken, oder einfach temporär irgendwo auf deiner Festplatte speichern, Attribute auslesen, und wieder löschen. So würde ich es machen, es kommen hier bestimmt gleich Posts, die mich alt aussehen lassen. :duck: |
Re: "Dateizugriff verweigert"
Ich benutzte diesen Code zum simplen überprüfen auf UPX (keine gute Variante, aber sie funktionert :zwinker: )
Delphi-Quellcode:
function IsUPXPacked(const FileName: TFileName): Boolean;
var l: Longint; sUPX: string; f: file; begin Result := False; sUPX := 'UPX'; AssignFile(f, FileName); Reset(f, 1); if FileSize(f) >= 600 then begin for l := 0 to 600 do begin Seek(f, l); BlockRead(f, sUPX[1], Length(sUPX)); if sUPX = 'UPX' then begin Result := True; Break; end; end; CloseFile(f); end; end; Doch diese Funtkion macht Probleme beim auslesen auf CDs :( |
Re: "Dateizugriff verweigert"
Kuck dir mal in der Hilfe FileMode an.
|
Re: "Dateizugriff verweigert"
Geht leider immer noch nicht. Es kommt immer noch die Meldung an der Stelle "if FileSize(f) >= 600", obwohl ich den Parameter bei Reset auf Null gesetzt habe.
|
Re: "Dateizugriff verweigert"
Aus der Delphi Hilfe. :warn: Diese Lösung ist nicht thread-safe!
Code:
...:cat:...
unction FileIsThere(FileName: string): Boolean;
{ Boolean function that returns True if the file exists; otherwise, it returns False. Closes the file if it exists. } var F: file; begin {$I-} [color=#e30000]AssignFile(F, FileName); [b]FileMode := 0; {Set file access to read only }[/b] Reset(F);[/color] CloseFile(F); {$I+} FileIsThere := (IOResult = 0) and (FileName <> ''); end; { FileIsThere } |
Re: "Dateizugriff verweigert"
:love: Danke, jetzt geht's.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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