Thema: Delphi Listbox-Inhalt speichern

Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: Listbox-Inhalt speichern

  Alt 25. Jul 2007, 12:04
Delphi-Quellcode:
const Trenner = '========';

//Speichern
procedure TForm1.Button1Click(Sender: TObject);
var sList: TStringlist;
begin
  sList := TStringlist.Create;
  try
    sList.AddStrings(ListBox1.Items);
    sList.Add(Trenner);
    sList.AddStrings(ListBox2.Items);
    sList.SaveToFile('C:\Listboxen.txt');
  finally
    sList.Free;
  end;
end;

//Einlesen
procedure TForm1.Button2Click(Sender: TObject);
var iPos,i: integer;
    sList: TStringList;
begin
  ListBox1.Clear;
  ListBox2.Clear;
  ListBox1.Items.BeginUpdate;
  ListBox2.Items.BeginUpdate;
  sList := TStringlist.Create;
  try
    sList.LoadFromFile('C:\Listboxen.txt');
    //Index der Trennzeile ermitteln
    iPos := sList.IndexOf(Trenner);
    if iPos > -1 then
      begin
        //vom Listenende bis zum Vorgänger des Trenners
        for i := Pred(sList.Count) downto Succ(iPos) do
          begin
            //Zeile an erster Stelle einfügen
            ListBox2.Items.Insert(0,sList[i]);
            //und aus Liste löschen
            sList.Delete(i);
          end;
        //nun noch Trennzeile löschen
        sList.Delete(iPos);
      end;
    //der Rest gehört in die erste ListBox
    ListBox1.Items.Assign(sList);
  finally
    sList.Free;
  end;
  ListBox1.Items.EndUpdate;
  ListBox2.Items.EndUpdate;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat