Entwickler-Ecke
Dateizugriff - .Ini wird nich erstellt.
Arbengie - So 13.02.11 14:13
Titel: .Ini wird nich erstellt.
Hi ich versuche eine .Ini Datei zu erstellen, aber sie wird einfach nich erstellt.
Und sie sollte in den Ordner rein, wo die .exe ist.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| uses IniFiles;
var ini: TIniFile;
procedure TfrmMain.FormCreate(Sender: TObject); begin ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'values.ini'); end; |
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 13.02.2011 um 22:57
Webo - So 13.02.11 14:19
Arbengie hat folgendes geschrieben : |
Und sie sollte in den Ordner rein, wo die .exe ist. |
Und das ist gleich ein möglicher Grund. Unter Windows Vista/Windows 7 haben Anwendungen ohne Administratorrechte nicht auf alle Ordner Schreibrechte - für sowas ist das %APPDATA%-Verzeichnis gedacht.
Tranx - So 13.02.11 14:23
Gut zu wissen. Dann werde ich das mal bei meinen Programmen umsetzen. Wie ist es aber mit Programmen, die nicht lokal, sondern auf Netzlaufwerken laufen?
Arbengie - So 13.02.11 14:34
habe win XP
Webo - So 13.02.11 14:40
So, mal eben getestet. Es scheint erst gespeichert zu werden, wenn du den Inhalt der Datei änderst. Als ich ini.WriteString('1','2','3'); einfügte schrieb er die Datei auch in das angegebene Verzeichnis.
Arbengie - So 13.02.11 15:00
hm yo es geht danke :)
Xion - So 13.02.11 15:22
Wenn ich mich nicht irre, solltest du nach jedem Arbeiten mit einer Ini-Datei
Ini.UpdateFile;
aufrufen, damit die Änderungen auch wirklich (immer) gespeichert werden. So auch beim Erstellen der Datei.
Delete - So 13.02.11 16:27
Das habe ich noch nie gemacht und hatte bisher keine Probleme, zumindest nicht mit der Klasse TIniFiles.
Tankard - So 13.02.11 16:30
hi
schreib mal was in die ini datei rein mit zb.:
Delphi-Quelltext
1:
| ini.WriteBool ('Section','Varname',True); |
dann sollte die ini datei da sein, sonst wird nix angelegt.
Edit:
komisch eben waren die beitraege noch nicht da, bin wohl noch nicht ganz wach, war gestern trinken :)
jaenicke - So 13.02.11 17:31
Webo hat folgendes geschrieben : |
Und das ist gleich ein möglicher Grund. Unter Windows Vista/Windows 7 haben Anwendungen ohne Administratorrechte nicht auf alle Ordner Schreibrechte - für sowas ist das %APPDATA%-Verzeichnis gedacht. |
Und wer sich nicht darum kümmern möchte, ob der Benutzer gern XML-Dateien oder die veralteten INIs haben will und wo er sie speichern möchte, kann meine entsprechenden Klassen nutzen:
http://www.delphi-forum.de/viewtopic.php?t=92348
Tranx - So 13.02.11 18:39
Ich schließe die Datei immer mit Free ab:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| IniFile := TIniFile.Create(Dateiname); with Inifile do begin WriteString(....); : free; end; : |
Das steht auch so in der Form in den Beispielen der Hilfe.
jaenicke - So 13.02.11 18:53
Das ist ja auch richtig so, das Objekt muss natürlich wieder freigegeben werden.
Nur das with sieht unschön aus.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!