Entwickler-Ecke
Dateizugriff - Kein Zugriff auf Ini Datei
Tony-S - Di 11.05.10 22:38
Titel: Kein Zugriff auf Ini Datei
Hallo Forum ich weiß nicht mehr weiter:
Ich kann weder eine Ini Datei in einem vorgegeben Pfad erstellen:
Delphi-Quelltext
1: 2: 3:
| const AppDataRootDir = '\Überordner'; AppDataProjectDir = '\Settings'; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TfrmOptionen.FormCreate(Sender: TObject); var PathSettings: String; begin PathSettings := GetSpecialFolder (CSIDL_Appdata)+ AppDataRootDir + AppDataProjectDir; ini:=TIniFile.Create(PathSettings+'\Settings.ini'); try cbNewSnippet.Checked := Ini.ReadBool('MainSettings', 'cb1', False); cbClipboard.Checked := Ini.ReadBool('MainSettings', 'cb2', True); cbStrg.Checked := Ini.ReadBool('MainSettings', 'cb3', False); cbMouseUp.Checked := Ini.ReadBool('MainSettings', 'cb4', True);
finally ini.Free ; end;
end; |
Denn es wird einfach kein Ordner erstellt... und sobald ich versuche zu speichern:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TfrmOptionen.btnSaveclick(Sender: TObject); var PathSettings: String; begin
PathSettings := GetSpecialFolder (CSIDL_Appdata)+ AppDataRootDir + AppDataProjectDir; ini:=TIniFile.Create(PathSettings+'\Settings.ini');
try Ini.WriteBool('MainSettings', 'cb1', cbNewSnippet.Checked); Ini.WriteBool('MainSettings', 'cb2', cbClipboard.Checked); Ini.WriteBool('MainSettings', 'cb3', cbStrg.Checked); Ini.WriteBool('MainSettings', 'cb4', cbMouseUp.Checked);
finally ini.Free; end; end; |
erhalte ich diesen Fehler
Das einzige was ich nicht verstehe, mein Benutzerordner hat ein kleines Schloss am Ordnersymbol, den Schreibschutz aufzuheben habe ich schon versucht.. es reagiert irgendwann nicht mehr - mein anderes Programm nutzt aber auch diese Art des Speicherns und kann Ordner UND ini files erstellen, daran liegts also nich ...
Wäre klasse wenn jemand helfen kann ich weiß überhaupt nicht mehr weiter :/
Moderiert von
Narses: Bild als Anhang hochgeladen.Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 12.05.2010 um 00:31
jaenicke - Di 11.05.10 22:56
Ich sehe nirgends wo du versuchst den Ordner zu erstellen. Hast du vergessen den Code dazu zu posten? :gruebel:
Denn ohne dass du den Ordner mit ForceDirectories z.B. erstellst, kannst du logischerweise auch nicht darauf zugreifen.
Für die automatische Verwaltung der Einstellungen gibt es von mir ja auch was:
http://www.delphi-forum.de/viewtopic.php?t=92348
Tony-S - Di 11.05.10 23:23
Ja... irgendwas war da doch.... :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| if not DirectoryExists(PathSettings) then begin ForceDirectories(PathSettings);
if fileexists(PathSettings+'\'+'Settings.ini') = False then begin AssignFile(f, PathSettings+'\'+'Settings.ini'); Rewrite(f); Write(f, ''); CloseFile(f); end;
end; |
Tud mir leid, manchmal schein ich blind zu sein ;) - danke vielmals.
jaenicke - Mi 12.05.10 05:48
Es reicht auch einfach das ForceDirectories dazuzuschreiben. Nur die eine Zeile, mehr nicht, eine Prüfung ob das Verzeichnis existiert passiert in diesem Befehl bereits. Die Ini-Datei wird auch automatisch erstellt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!