Einzelnen Beitrag anzeigen

Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

Txt in Listview Laden

  Alt 16. Mär 2013, 13:34
Hallo ich habe ein Listview die über eine Objectlist bearbeitet werden kann nun Speichere ich beim beenden die Listview in eine *.txtab. Alles kein Problem soweit.

Beim laden der txt datei fügt er sie in die Listview = kassenbuch ein das funktionier. aber sobald ich neue Sachen der Listview mit hinzufüge dann verschwinden diese. Muss ich die txt in die Objectliste einlesen??? hier mal der Code.

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
Var
  LoadList: TStrings;
  i, ActPos, PrevPos: Integer;
Const
  Delimitter = #14;

Begin
   LoadList := TStringList.create;

  Try
    // Laden...
    LoadList.LoadFromFile('c:\test.txt');
    // Lösche den ListView
    Kassenbuch.Items.Clear;

    // Laufe durch Zeilen der StringList
    For i := 0 To pred(LoadList.Count) Do
    Begin
      PrevPos := 1;
      ActPos := 1;
      // Erste Position des Delimitters
      ActPos := PosEx(Delimitter, LoadList[i], succ(ActPos));
      // Erstelle Item
      With Kassenbuch.Items.Add Do
      Begin
        // setze Caption des neuen Items
        Caption := Copy(LoadList[i], PrevPos, (ActPos - PrevPos));
        PrevPos := succ(ActPos);
        // erzeuge für jeden gefundenen Delimitter ein SubItem
        Repeat
          ActPos := PosEx(Delimitter, LoadList[i], succ(ActPos));
          If ActPos <> 0 Then
            SubItems.Add(Copy(LoadList[i], PrevPos, (ActPos - PrevPos)))
          Else
            SubItems.Add(Copy(LoadList[i], PrevPos, Length(LoadList[i])));
          PrevPos := succ(ActPos);
        // Wenn ActPos = 0 (kein Delimitter gefunden) -> fertig
        Until ActPos = 0;
      End;
    End;
   finally
end;
   end;
  Mit Zitat antworten Zitat