![]() |
ListView Items in einer TextDatei speichern
Hallo Leute,
habe wiedermal ein problem :? und zwar möchte ich dass eingetragende items in einer TextDatei gespeichert werden. habe schon
Delphi-Quellcode:
ausprobiert funzt jedoch auch nicht, es kommt dann diese fehlermeldung:
ListView1.Items.SaveToFile(ExtractFilePath(ParamStr(0))+'Dateiname.txt');
Delphi-Quellcode:
ich hoffe ihr könnt mir helfen
Unit1.pas(53): Undefinierter Bezeichner: 'SaveToFile'
Viele Grüße alanblack |
Re: ListView Items in einer TextDatei speichern
Ja, das kann nicht funktionieren, weil es diese Funktion bei der List-View nicht gibt.
Also: selbst machen. ;) |
Re: ListView Items in einer TextDatei speichern
Das kannst Du über eine Schleife erledigen, lese die einzelnen Zeilen aus und schreibe sie in die Txt.
So in etwa:
Delphi-Quellcode:
Wenn Du hier im Form suchst, findest Du noch mehr Lösungsvorschläge.
rocedure TForm14.ExportInTxt;
var f: TextFile; i,j: Integer; tmp: String; begin AssignFile(f,ExtractFilePath(Application.ExeName)+'SerienTxt.txt'); rewrite(f); WriteLn(f, 'Vorname;Name;Firma;Strasse;PLZ;Ort;'); for i := 0 to ListView1.Items.Count-1 do begin tmp := ListView1.Items.Item[i].Caption + ';'; for j:= 0 to ListView1.Columns.Count-2 do tmp := tmp + ListView1.Items.Item[i].SubItems[j] + ';'; WriteLn(f, tmp); end; CloseFile(f); end; |
Re: ListView Items in einer TextDatei speichern
Hi,
was Mathias damit sagen will: du musst Zeile für Zeile und Spalte für Spalte durchgehen und das abspeichern oder XML verwenden. Chris |
Re: ListView Items in einer TextDatei speichern
Hi alanblack,
SaveToFile gibt es nur bei den SubItems.
Delphi-Quellcode:
Vielleicht hilft es dir ein wenig.
ListView1.Items.Item[].SubItems.SaveToFile();
Tschüß Markus |
Re: ListView Items in einer TextDatei speichern
Zitat:
|
Re: ListView Items in einer TextDatei speichern
Zitat:
mfg alanblack |
Re: ListView Items in einer TextDatei speichern
Der jeweilige Item[1],Item[2] oder in einer Schleife i.
|
Re: ListView Items in einer TextDatei speichern
hoi,
joah funzt es wird jedenfalls compilert, aber wenn ich nun die items angelegt habe (im externen programm (project1.exe)) und dann auf save klicke kommt eine Fehlermeldung Zugriffsverletzung Project1... was bedeutet das und wie kann ich den Bug entfernen? hier nocheinmal den kompletten Quellentext:
Delphi-Quellcode:
Viele Grüße
procedure TForm1.Button1Click(Sender: TObject);
begin With ListView1 Do Begin Columns.Clear; Columns.Add.Caption := 'Deutsch'; Columns.Add.Caption := 'Englisch'; ShowColumnHeaders := True; ViewStyle := vsReport; With Items.Add Do Begin Caption := Edit1.Text; SubItems.Add(Edit2.Text); End; End; end; procedure TForm1.Button2Click(Sender: TObject); begin ListView1.Items.Item[1].SubItems.SaveToFile('datei.txt'); end; end. |
Re: ListView Items in einer TextDatei speichern
Hi!
Bei mir geht der Quellcode einwandfrei. Es wird zwar nur 1 Zeile gespeichert (liegt wohl am Code, habe aber nicht näher analysiert), aber es kommt keine ZV. Ciao fkerber |
Re: ListView Items in einer TextDatei speichern
Wie beim TV-Koch:
Ich habe da mal was vorbereitet... :mrgreen: Happy :coder: Speichern:
Delphi-Quellcode:
Var
SaveList: TStrings; i, j: Integer; TempStr: String; // Den kannst du auch global definieren, du kannst dafür nehmen was du willst Const Delimitter = #14; Begin If Not SaveDialog1.Execute Then Exit; SaveList := TStringList.create; Try // Dein ListView With ListView1 Do Begin // Laufe durch alle Items For i := 0 To pred(Items.Count) Do Begin TempStr := ''; With Items[i] Do // Laufe durch alle SubItems For j := 0 To pred(SubItems.Count) Do TempStr := TempStr + Delimitter + SubItems[j]; SaveList.Add(Items[i].Caption + TempStr); End; End; // Speichern SaveList.SaveToFile(SaveDialog1.FileName); Finally // Freigeben ... FreeAndNil(SaveList); End; End; Laden:
Delphi-Quellcode:
Var
LoadList: TStrings; i, ActPos, PrevPos: Integer; // siehe oben... Const Delimitter = #14; Begin If Not OpenDialog1.Execute Then Exit; LoadList := TStringList.create; Try // Laden... LoadList.LoadFromFile(OpenDialog1.FileName); // Lösche den ListView ListView1.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 ListView1.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 // Freigeben... FreeAndNil(LoadList); End; End; |
Re: ListView Items in einer TextDatei speichern
Liste der Anhänge anzeigen (Anzahl: 2)
Versuche es mal damit.
Bei mir klappt es problemlos. |
Re: ListView Items in einer TextDatei speichern
Bei mir kommt immer eine Fehlermeldung names "Undefinierter bezeichner 'PosEx'."
[edit=MrSpock]Doppelpost gelöscht. Mfg, MrSpock[/edit] |
Re: ListView Items in einer TextDatei speichern
StrUtils zur USES Clauses hinzufügen.
|
Re: ListView Items in einer TextDatei speichern
"Datei nicht gefunden 'StrUtils.dcu'"
Lasst mich raten die Unit gibt es in Delphi3 noch nicht. |
Re: ListView Items in einer TextDatei speichern
*schieb*
|
Re: ListView Items in einer TextDatei speichern
ich hät da auch das Problem das
PosEx, PrevPos, ActPos mein Delphi 5 nicht kennt! Was kann ich als ersatz nehmen doer woher bekomme ich diese? |
Re: ListView Items in einer TextDatei speichern
Hi!
PrevPos und ActPos sind integer-Variablen, die hast du sicherlich nur vergessen zu deklarieren. Was PosEx angeht: Such mal hier nach dem Begriff, ich glaube, die Funktion steht hier irgendwo rum. Ciao Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 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