![]() |
ini files funktionieren nicht
hallo,
ich muss bei meinem programm daten aus einer ini-datei lesen. leider funktioniert das nicht so, wie ichs mir vorgestellt hab. genauer gesagt: es passiert GARNICHTS. eine fertige ini datei mit werten hatte ich schon und hab dazu schnell noch ne procedure geschrieben, die dann aber keine testwerte ausgespuckt hat. auch eine überprüfung mit sectionexists(..) brachte vorerst keine positiven werte. also hab ich mir gedacht, lass ich mir die datei einfach vom programm schreiben. dazu folgende procedure:
Code:
in den uses hab ich IniFiles drin...
procedure tform1.writeini;
var ini:Tinifile; begin ini:=TIniFile.Create('cfg.ini') ; ini.WriteString('Benutzer','Name1','Mustermann'); ini.WriteString('Benutzer','Name2','Meier'); ini.Free; end; zu meinem erstaunen musste ich feststellen, das auch hier nichts passierte. was hab ich falsch gemcaht? hab ich was vergessen? danke für die hilfe martin |
Re: ini files funktionieren nicht
Wenn du den Dateinamen so angibst, dann speichert er die Ini-Datei ins Windowsverzeichnis. Vielleicht hast du sie deshalb nicht entdeckt...?
|
Re: ini files funktionieren nicht
Hi,
wenn du die INI im Verzeichnis deines Programms erstellen möchtest, und du Schreibrechte besitzt dann kannst du es so machen:
Delphi-Quellcode:
Bei mir ging es dann.
procedure TForm1.Button1Click(Sender: TObject);
var ini:Tinifile; begin ini:=TIniFile.Create(ExtractFilepath(paramstr(0))+ 'cfg.ini') ; ini.WriteString('Benutzer','Name1','Mustermann'); ini.WriteString('Benutzer','Name2','Meier'); ini.Free; end; |
Re: ini files funktionieren nicht
Oder noch einfacher:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ini:Tinifile; begin ini:=TIniFile.Create('.\cfg.ini') ; ini.WriteString('Benutzer','Name1','Mustermann'); ini.WriteString('Benutzer','Name2','Meier'); ini.Free; end; |
Re: ini files funktionieren nicht
'.\cfg.ini' ist nicht empfehlenswert. Dann speichert er ins aktuelle Ausführungsverzeichnis, was nicht zwingend das Verzeichnis der exe ist
|
Re: ini files funktionieren nicht
Besser ist es aber die ini-Datei ins Profilverzeichnis(APPDATA) des Benutzers oder unter "Alle Benutzer" zu speichern
|
Re: ini files funktionieren nicht
boah verdammt... wer hat sich denn sowas ausgedacht!
wenn ich als exe ne datei erstellen würde, bei der kein pfad oder ähnliches davor steht, dann pack ich mir die doch ins das verzeichnis, wo ich selber bin... ich weiß auch nicht, warum das immer alles so umnständlich sein muss. jedenfalls danke an alle für die schnelle hilfe, funktioniert bestens. martin |
Re: ini files funktionieren nicht
Normalerweise funktioniert das mit ParamStr, liefert Dir das Verzeichnis deiner Exe - (unter Vista wohl nicht mehr wegen den Schreibrechten).
Delphi-Quellcode:
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'cfg.ini');
|
Re: ini files funktionieren nicht
Zitat:
Es wird in User\Applicationsdatata\... oder so ähnlich ein virtuelles Verzeichnis angelegt und dort steht dann die Inifile. Gruß Peter |
Re: ini files funktionieren nicht
@hanspeterAuch mit ParamStr oder muss der komplette Pfad User\Applicationsdatata\... bla angeben werden ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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