Habe meine Änderung mal mit ^ hervorgehoben.
Zitat von
pilic:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
ini := TIniFile.create(IncludeTrailingBackslash(ExtractFilePath(ParamStr(0))) + 'settings.ini');
^^^^^^^^^^^^^^^^^^^^^^^^ // wichtig
try
ini.WriteBool('myOne', 'c1', Checkbox1.Checked);
ini.WriteBool('myOne', 'c2', Checkbox2.Checked);
ini.WriteBool('myOne', 'c3', Checkbox3.Checked);
ini.WriteBool('myOne', 'c4', Checkbox4.Checked);
finally
ini.free;
end;
end;
ExtractFilePath gibt kein "\" zurück, es sei denn, die Anwendung wurde in "c:\" gestartet. IncludeTrailingBackSlash fügt das abschließende "\" hinzu. Es könnte also sein, dass Deine Anwendung wer weiss wo eine ini geschrieben hat.
Zitat von
Jürgen Thomas:
Zitat von
pilic:
[myOne]
1=1
2=1
3=0
4=0
Deine Werte sind integer, nämlich 0/1. Eigentlich speichert TIniFile bool-Werte mit:
Zitat:
1=True
2=True
3=False
4=False
Das ist nicht richtig. Wenn man mit WriteBool schreibt, wird schon 1/0 in die Ini geschrieben, welches ja für True/False steht. Das funktioniert alles wunderbar. Ich setze es zu Dutzenden in meiner Anwendung ein.