Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: listbox inhalt in eine ini schreiben

  Alt 28. Jul 2006, 21:03
Hi.

Ich kann nachvollziehen, dass du nach einem Gegenstück (es gibt keines) zu ReadSectionValues() Ausschau hältst, aber da nach dem Bearbeiten einer Section diese in der INI-Datei komplett ersetzt werden muss, dürfte es keinen Zeitvorteil geben:

Delphi-Quellcode:
var
  ini: TMemIniFile;
  fn: TFileName;
  section: String;
  s: TStrings;
  i: Integer;
begin
  // prepare
  fn := ChangeFileExt(ParamStr(0), '.ini');
  ini := TMemIniFile.Create(fn);
  section := 'Privateer3000';
  ini.ReadSectionValues(section, ListBox.Items);

  // modify values ...

  // store Section - one fell sweep
  ini.EraseSection(section);
  s := TStringList.Create;
  ini.GetStrings(s);
  s.Add(Format('[%s]', [section]));
  s.AddStrings(ListBox.Items);
  ini.SetStrings(s);
  s.Free;

  // my favourite - one by one - my
  ini.EraseSection(section);
  with ListBox.Items do
  for i := 0 to Pred(Count) do
    ini.WriteString(section, Names[i], ValueFromIndex[i]);

  // update
  ini.UpdateFile;
  ini.Free;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat