![]() |
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 |
Re: Speichern in INI geht net
Nein, ich meinte damit, dass Du 2 Blöcke hast, in denen Du in die Ini schreibst.
|
Re: Speichern in INI geht net
Achso hatte schon Angst gehabt ich hätte mal wieder Bockmisst gemacht.
Das sehe ich ein, ich bin halt immernoch nicht so gut in Programmieren, läuft schon besser aber es gibt manschmal Tage da will es halt net so wie ich :oops: Aber kann es sein das die String anweisung nicht ganz stimmt |
Re: Speichern in INI geht net
Welche String-Anweisung?
|
Re: Speichern in INI geht net
Diese hab ich gedacht
Delphi-Quellcode:
Stimmt aber habe nur noch ein fehler zur laufzeit drin dort muss sich der String zur laufzeit ändern
WriteString(DokumentEinstellung,PanelText, Format('Dokumentenanzeige %s',[einaus[CheckBox1.Checked]]));
|
Re: Speichern in INI geht net
Nimm doch die Format-Anweisung mal auseinander, dann kommst Du auf die Langform:
Delphi-Quellcode:
if CheckBox1.Checked then
s := 'Dokumentenanzeige Ein' else s := 'Dokumentenanzeige AUS'; |
Re: Speichern in INI geht net
Danke genau das hat gefehlt ich mach lieber schluss das ist einer von den Tagen an den ich lieber sein lassen sollte
Danke euch frohe Weinachten noch |
Re: Speichern in INI geht net
Dir auch :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 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