![]() |
*.ini datei überschreibt sich immer selbest
guten morgen,
ich hab ein problem mit meiner *.ini datei. und zwar möchte ich, dass nicht immer alle dateien neu geschrieben werden, sondern das informationen vom speichern davor nicht verloren gehen. beispiel: ich speicher test1. soweit alles in ordnung. wenn ich jetzt aber nochmal speichern klicke und test2 speichern will, wird test1 überschrieben.
Delphi-Quellcode:
wie bekomme ich es hin, dass beispielsweise beim ersten speichern itemindex 0 test1 geschrieben wird und es beim zweiten speichern itemindex 1 erhalten bleibt?
Ini:=TIniFile.Create('C:\test.ini');
try case combobox.ItemIndex of 0: Ini.WriteBool('Test 1','Test 1',false); 1: Ini.WriteBool('Test 2','Test 2',false); end; finally Ini.Free; end; |
Re: *.ini datei überschreibt sich immer selbest
Es wird nichts gelöscht, es bleibt alles erhalten. Der von dir gepostete Code arbeitet korrekt.
|
Re: *.ini datei überschreibt sich immer selbest
mein ich doch, woran kann es denn dann liegen? das problem existiert aber, ich schreib ja nicht umsonst hier rein.
|
Re: *.ini datei überschreibt sich immer selbest
Ich glaube das liegt an den Leerzeichen in Section und name der Ini.
|
Re: *.ini datei überschreibt sich immer selbest
hi
zeig mal was du sonst noch so da stehen hast das es an dem code schnipsel auf keinen fall liegen kann! |
Re: *.ini datei überschreibt sich immer selbest
also an den leerzeichen liegt es nicht.
Delphi-Quellcode:
procedure Taendern.aendern_bClick(Sender: TObject);
var Ini: TIniFile; begin if isAdmin=true then begin while MessageDlg('Möchten Sie das Menü jetzt ändern?', mtConfirmation, [mbYes, mbNo], 0) = mrYes do begin Ini:=TIniFile.Create('C:\Schichtbuch\Schichtbuch.ini'); try schichtbuch.Einstellungenspeichen1.Click; case combo_aendern.ItemIndex of 0: begin schichtbuch.anlage.Items.text:=memo1.Text; schichtbuch.Label2.Caption:=edit1.text; combo_aendern.Items[0]:=edit1.Text; checkbox1.Caption:=edit1.text; end; 1: begin schichtbuch.arbeitcorner.Items.text:=memo1.Text; schichtbuch.Label3.Caption:=edit1.text; combo_aendern.Items[1]:=edit1.Text; checkbox2.Caption:=edit1.text; end; 2: begin schichtbuch.art.Items.text:=memo1.Text; schichtbuch.Label4.Caption:=edit1.text; combo_aendern.Items[2]:=edit1.Text; checkbox3.Caption:=edit1.text; end; 3: begin schichtbuch.kran.Items.text:=memo1.Text; schichtbuch.Label5.Caption:=edit1.text; combo_aendern.Items[3]:=edit1.Text; checkbox4.Caption:=edit1.text; if checkbox4.checked=true then Ini.WriteBool('Krananlage ändern','Krananlage 4',false); if checkbox5.checked=true then Ini.WriteBool('Krananlageändern','Krananlage 5',false); if checkbox6.checked=true then Ini.WriteBool('Krananlage ändern','Krananlage 6',false); if checkbox7.checked=true then Ini.WriteBool('Krananlage ändern','Krananlage 7',false); if checkbox8.checked=true then Ini.WriteBool('Krananlage ändern','Krananlage 8',false); if checkbox9.checked=true then Ini.WriteBool('Krananlage ändern','Krananlage 9',false); if checkbox4.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 4',true); if checkbox5.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 5',true); if checkbox6.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 6',true); if checkbox7.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 7',true); if checkbox8.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 8',true); if checkbox9.checked=false then Ini.WriteBool('Krananlage ändern','Krananlage 9',true); end; 4: begin schichtbuch.transport.Items.text:=memo1.Text; schichtbuch.Label6.Caption:=edit1.text; combo_aendern.Items[4]:=edit1.Text; checkbox5.Caption:=edit1.text; if checkbox4.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 4',false); if checkbox5.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 5',false); if checkbox6.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 6',false); if checkbox7.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 7',false); if checkbox8.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 8',false); if checkbox9.checked=true then Ini.WriteBool('Transportsystem ändern','Transportsystem 9',false); if checkbox4.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 4',true); if checkbox5.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 5',true); if checkbox6.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 6',true); if checkbox7.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 7',true); if checkbox8.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 8',true); if checkbox9.checked=false then Ini.WriteBool('Transportsystem ändern','Transportsystem 9',true); end; 5: begin schichtbuch.schrauber.Items.text:=memo1.Text; schichtbuch.Label7.Caption:=edit1.text; combo_aendern.Items[5]:=edit1.Text; checkbox6.Caption:=edit1.text; if checkbox4.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 4',false); if checkbox5.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 5',false); if checkbox6.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 6',false); if checkbox7.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 7',false); if checkbox8.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 8',false); if checkbox9.checked=true then Ini.WriteBool('Schrauber ändern','Schrauber 9',false); if checkbox4.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 4',true); if checkbox5.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 5',true); if checkbox6.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 6',true); if checkbox7.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 7',true); if checkbox8.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 8',true); if checkbox9.checked=false then Ini.WriteBool('Schrauber ändern','Schrauber 9',true); end; end; finally Ini.Free; end; edit1.text:=''; memo1.clear; combo_aendern.ItemIndex:=-1; schliessen_a.Click; exit; end;; end else showmessage('Sie benötigen Administratorenrechte!'); end; |
Re: *.ini datei überschreibt sich immer selbest
Zitat:
Mache ein ganz neues Projekt, ziehe eine lumpige ComboBox darauf und schreibe in das OnChange-Ereignis der Box dein Codeschnipsel. Setze meinetwegen sicherheitshalber ein Ini.UpdateFile vor das finally. Damit erzwingst du unter W95 z.B. das Schreiben aus dem Puffer auf Platte. Spiele mit der ComboBox herum und schaue, was passiert. |
Re: *.ini datei überschreibt sich immer selbest
hab den fehler gefunden. danke
|
Re: *.ini datei überschreibt sich immer selbest
Zitat:
Und was war es? |
Re: *.ini datei überschreibt sich immer selbest
ich ruf doch noch die prozedur schichtbuch.Einstellungenspeichen1.Click;. in dieser datei schreibe ich auch in die *.ini datei. dort habe ich aber die *.ini datei vor jedem speichern gelöscht, warum auch immer.
|
Re: *.ini datei überschreibt sich immer selbest
Zitat:
Delphi-Quellcode:
Ini.WriteBool('Krananlage ändern','Krananlage 4',not (checkbox4.checked));
|
Re: *.ini datei überschreibt sich immer selbest
spaß am tippen. wusste nicht das das auch geht. ist auch erst mein 3. programm. danke für den hinweis, werde ich dann das nächste mal berücksichtigen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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