AGB  ·  Datenschutz  ·  Impressum  







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

Txt in Listview Laden

Ein Thema von Natcree · begonnen am 16. Mär 2013 · letzter Beitrag vom 17. Mär 2013
Antwort Antwort
Seite 1 von 2  1 2      
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:08
Habe mal meinen Code umgeschrieben er sagt mir jetzt list out of Bounds(0) als Fehler

Hier der Code


Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
Var
  Item: TListItem;
  LoadList: TStringlist;
  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; //Kassenbuch =Listview1

    // 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
       item.Data:=FObjects[i];
      With FObjects[i] 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
           item.SubItems.Add(Copy(LoadList[i], PrevPos, (ActPos - PrevPos)))
          Else
           item.SubItems.Add(Copy(LoadList[i], PrevPos, Length(LoadList[i])));
          PrevPos := succ(ActPos);
        // Wenn ActPos = 0 (kein Delimitter gefunden) -> fertig
        Until ActPos = 0;
      end;
   end;
   except
   end;
   end;
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:15
Zitat:
// Erstelle Item
item.Data:=FObjects[i];
wo wird item erstellt und was ist FObjects[i]
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:19
FObjects ist meine Objectliste

Zitat:
wo wird item erstellt
Was meinst du damit?
  Mit Zitat antworten Zitat
Volker Z.

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:30
Hallo,

item ist vermutlich ein Item der Listview. So müsste es dann wohl Kassenbuch.Item [i].Data := FObjects [i] heißen. Die Frage ist nur lebt den FObjects [i] an der Stelle schon? Ich sehe, dass Du da mit LoadFromFile irgendwas einließt, aber sicher nicht an Deine ObjectList weitergibst.

Gruß
Volker Zeller

Geändert von Volker Z. (16. Mär 2013 um 23:39 Uhr) Grund: Rechtschreibung
  Mit Zitat antworten Zitat
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:39
wie mache ich das denn mit dem weiter geben
  Mit Zitat antworten Zitat
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:41
ich habe die daten schon in die listview gebracht aber sie müssen in die Objectliste weil ich die Listview nach jeder eingabe update. wie bekomme ich denn die Übergabe zur objectlist hin?
  Mit Zitat antworten Zitat
Volker Z.

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

AW: Txt in Listview Laden

  Alt 17. Mär 2013, 01:19
Hallo,

wenn Du mit LoadList.LoadFromFile('c:\test.txt'); die Daten einliest und entsprechend in der Listview ausgibst, dann ist doch zunächst alles ok.
Wenn Du nun einen neuen Kassenbucheintrag hinzufügst (Kassenbuch.Items.Add) oder löscht (Kassenbuch.Items.Delete (Iregendeinindex)), dann kannst Du doch an geeigneter Stelle Deine Listview durcharbeitest und den ganzen Spaß über eine StringList abarbeiteten und in Deine Datei zurückschreiben: also
Delphi-Quellcode:
  // in einer for Schleife
  Stringlist.Add (Kassenbuch.Item [i].Caption + #14 + Kassenbuch.Item [i].SubItem [0] ...));

  // anschließend
  Stringlist.SaveToFile ('c:\test.txt');
sollte es das tun.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:45
Hallo,

item ist vermutlich ein Item der Listview. So müsste es dann wohl Kassenbuch.Item [i].Data := FObjects [i] heißen. Die Frage ist nur lebt den FObjects [i] an der Stelle schon? Ich sehe, dass Du da mit LoadFromFile irgendwas einließt, aber sicher nicht an Deine ObjectList weitergibst.

Gruß
F Objects liegt auf form1 und wird mit form create gestartet ich habe natürlich auch noch eine Klasse aber ich denke die muss da nicht mit rein oder auf diese greift er nur bei eigaben zurück dort sind die Formate für die einzellnen counts gesetzt.
  Mit Zitat antworten Zitat
Volker Z.

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:53
Hallo,

also FObjects ist eine Property von Form1. Was für ein Datentyp hat den FObjects? Was wird in FormCreate gestartet? Hilfreich wäre Quellcode.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Natcree

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

AW: Txt in Listview Laden

  Alt 16. Mär 2013, 23:55
procedure TForm1.FormCreate(Sender: TObject);
begin
FObjects := TObjectlist.Create;
end;
  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 01:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz