AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

INI File Schreiben und auslesen

Ein Thema von floppybe · begonnen am 13. Mär 2014 · letzter Beitrag vom 24. Mär 2014
 
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#12

AW: INI File Schreiben und auslesen

  Alt 14. Mär 2014, 01:00
Hallo,

ich gebe Deinen Code jetzt mal in gekürzter Fassung wieder:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
const
  Sektion='language';
  Eintrag='last language';
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(filename);
  try
    ini.WriteString(Sektion,Eintrag,ComboBox1.Text);
  finally
    Ini.Free;
  end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(filename);
  try
    ComboBox1.Text := Ini.ReadString('Sektion', 'Eintrag', 'Wert');
  finally
    ini.Free;
  end
end;
Aua!

Dein FormClose schreibt:
Code:
[language]
last language=das was in ComboBox1.Text steht
Dein FormCreate ließt (bzw. möchte lesen):
Code:
[Sektion]
Eintrag=
Da vermutlich weder der Abschnitt Sektion, noch der Schlüssel Eintrag existiert bzw. dem Schlüssel Eintrag kein Wert zugewiesen ist, steht am Ende der string 'Wert' in ComboBox1.Text drin - und das ist dann schon richtig so.

Versuche es mal so (das mit dem filename musst Du halt noch ergänzen):
Delphi-Quellcode:
const
  Sektion = 'language';
  Eintrag = 'last language';

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(filename);
  try
    ini.WriteString (Sektion, Eintrag, ComboBox1.Text);
  finally
    Ini.Free
  end;

procedure TForm1.FormCreate(Sender: TObject);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(filename);
  try
    ComboBox1.Text := Ini.ReadString (Sektion, Eintrag, 'Default');
  finally
    ini.Free
  end
end;
[EDIT]
Scheinbar ändert sich filename in Deiner Anforderung nicht; deshalb wäre es sinnvoll, dass Du Dir diese Geschichte nur einmal (FormCreate) zusammenschraubst und anschließend nur noch darauf zugreifst. Also:
Delphi-Quellcode:
type
  TForm1 = class (TForm)
  private
    FIniFileName : string;
  end;

procedure TForm1.CloseForm (Sender : TObject);
begin
  ini := TIniFile.Create (FIniFileName);

  // Rest wie gehabt
end;

procedure TForm1.CreateForm (Sender : TObject);
begin
  FIniFileName := ExtractFilePath (ParamStr (0)) + 'ini\einstellungen.ini';
  
  // Rest wie gehabt
end;
[/EDIT]

Gruß
Volker Zeller

Geändert von Volker Z. (14. Mär 2014 um 02:00 Uhr)
  Mit Zitat antworten Zitat
 

 

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 19:08 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