![]() |
Speichern in INI geht net
Hi habe mal wieder ein problem mit meiner Inidatei
das Speichern meines True'S geht net mehr warum kann mir einer vielleicht helfen???
Delphi-Quellcode:
Gruss Sascha
procedure TForm5.CheckBox1Click(Sender: TObject);
begin INIDocPfad:= Form1.Serverpfad + 'Einstellungen\DocSettings.ini'; if CheckBox1.Checked = True then begin Panel3.Color:= CLLime; with TMemIniFile.Create(INIDocPfad) do try WriteBool(DokumentEinstellung,Anzeigen1,True); // Wert in die ini datei schreiben WriteString(DokumentEinstellung, PanelFarbeEinAus, (ColorToString(Panel3.Color))); // farbe Speichern WriteString(DokumentEinstellung,PanelText, ('Dokumentenanzeige Ein')); finally Free end; If CheckBox1.Checked = False then Begin Panel3.Color:= CLRed; with TMemIniFile.Create(INIDocPfad) do try WriteBool(DokumentEinstellung,Anzeigen1,False); // Wert in die ini datei schreiben WriteString(DokumentEinstellung, PanelFarbeEinAus, (ColorToString(Panel3.Color))); // farbe Speichern WriteString(DokumentEinstellung,PanelText, ('Dokumentenanzeige AUS')); UpdateFile; finally Free; Button3.Click; //Timer stoppen end; End; end; end; |
Re: Speichern in INI geht net
Moin, Moin Sascha.
Ich sehe das "UpdateFile" nur in einem Zweig (wenn Checked=false), es muss dann auch im True-Zweig enthalten sein. Übrigens: Warum erfolgen Create und Free des MemINI's nicht im FormCreate und im FormClose? Ist das nicht einfacher?? Gruß Ralph |
Re: Speichern in INI geht net
Versuch es mal so:
Delphi-Quellcode:
procedure TForm5.CheckBox1Click(Sender: TObject);
const einaus: array[Boolean] of string = ('AUS','Ein'); Farben: array[Boolean] of TColor = (clRed,clLime); begin INIDocPfad:= Form1.Serverpfad + 'Einstellungen\DocSettings.ini'; Panel3.Color:= Farben[CheckBox1.Checked]; with TMemIniFile.Create(INIDocPfad) do try WriteBool(DokumentEinstellung,Anzeigen1,CheckBox1.Checked); // Wert in die ini datei schreiben WriteString(DokumentEinstellung, PanelFarbeEinAus, (ColorToString(Panel3.Color))); // farbe Speichern WriteString(DokumentEinstellung,PanelText, Format('Dokumentenanzeige %s',[einaus[CheckBox1.Checked]])); UpdateFile; finally Free; end; //das gehört eigentlich hierhin if not CheckBox1.Checked then //hatte diese Zeile vergessen Button3.Click; //Timer stoppen end; |
Re: Speichern in INI geht net
Hey der code is richtig gut und Kurz da wird man ja neidisch :wink: danke
|
Re: Speichern in INI geht net
Respekt "alter Mann aus Thüringen" - aber wenn es in der umständlichen Version nicht funktioniert hat, dann lag es doch wohl am fehlenden UpdateFile :wink:
Gruß Ralph PS : Wie schaut's jetzt in Thüringen aus? Habt ihr Schnee??? |
Re: Speichern in INI geht net
Nein, in Thüringen liegt kein Schnee :? :lol:
|
Re: Speichern in INI geht net
ja das updatefile hat auch gefehlt hatte dann aber Trotzdem nicht gefunzt hatte dann immer nur ein True.
Zitat:
|
Re: Speichern in INI geht net
Zitat:
@Sascha: Ich hasse es, wenn man dasselbe 2 mal schreibt und versuche immer, so etwas zu vermeiden, auch bei einer Fallunterscheidung. Da bietet sich ein konstantes Array eben an. |
Re: Speichern in INI geht net
Zitat:
|
Re: Speichern in INI geht net
Jooo, Sascha, jetzt sehe ich es: Das END von "if CheckBox1.Checked = True then begin" war ganz am Prozedurende und nicht am Blockende - konnte also nicht funktionieren, da die Abfrage "if..Checked=false" nie erreicht wurde.
Gruß Ralph |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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 by Thomas Breitkreuz