AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi *.ini datei überschreibt sich immer selbest
Thema durchsuchen
Ansicht
Themen-Optionen

*.ini datei überschreibt sich immer selbest

Ein Thema von herrentor · begonnen am 25. Feb 2005 · letzter Beitrag vom 25. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#1

*.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 09:00
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:
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;
wie bekomme ich es hin, dass beispielsweise beim ersten speichern itemindex 0 test1 geschrieben wird und es beim zweiten speichern itemindex 1 erhalten bleibt?
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 09:15
Es wird nichts gelöscht, es bleibt alles erhalten. Der von dir gepostete Code arbeitet korrekt.
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#3

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 09:32
mein ich doch, woran kann es denn dann liegen? das problem existiert aber, ich schreib ja nicht umsonst hier rein.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 09:53
Ich glaube das liegt an den Leerzeichen in Section und name der Ini.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#5

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 09:53
hi

zeig mal was du sonst noch so da stehen hast das es an dem code schnipsel auf keinen fall liegen kann!
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#6

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 10:06
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;
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 10:11
Zitat von herrentor:
das problem existiert aber
Aber nicht in dem von dir geposteten Code (jedenfalls nicht unter D7 auf NT).

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.
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#8

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 10:21
hab den fehler gefunden. danke
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 10:25
Zitat von herrentor:
hab den fehler gefunden. danke
Freut mich.
Und was war es?
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#10

Re: *.ini datei überschreibt sich immer selbest

  Alt 25. Feb 2005, 10:36
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz