![]() |
Delphi-Version: 10.2 Tokyo
TStringList in Datei/File speichern und laden
Guten Morgen,
prinzipiell ist mir bekannt wie ich eine TStringList speichern und laden könnte, allerdings sieht meine Situation wie folgt aus: Bei der Variable handelt es sich um ein dynamischen Array, demnach ist das abspeichern erschwert und das laden erst recht. In meinem Fall nutze ich den
Delphi-Quellcode:
, sowie den
SaveDialog
Delphi-Quellcode:
.
OpenDialog
Wie kann ich den Array am geschicktesten abspeichern und laden? Beim speichern würde ich eine Schleife nehmen, allerdings habe ich beim laden keinen Plan, da ja die Länge des Arrays, beim laden, unbekannt ist :pale: |
AW: TStringList in Datei/File speichern und laden
Lade es in eine Stringliste und kopiere es dann mittles ToStringArray in ein TArray<String>
|
AW: TStringList in Datei/File speichern und laden
Zitat:
Beim speichern habe ich auch noch meine Probleme, ist es möglich den gesamten Array in eine Datei zu speichern? |
AW: TStringList in Datei/File speichern und laden
Welche Art von Zeichen beinhaltet dein Array? String es Strings oder "beliebige Binärdaten" (bin jetzt implizit von Strings ausgegangen)?
|
AW: TStringList in Datei/File speichern und laden
Zitat:
|
AW: TStringList in Datei/File speichern und laden
Zitat:
Zitat:
Es handelt sich um einen Array vom Typ StringList. Jeder Index repräsentiert einen Datensatz (Hier "Integer" einer ListBox). Demnach ist jeder Array die Items einer ListBox (-> wird für ein dynamisches System benötigt). Ich möchte nun den Array bzw. die Datensätze in einer Datei speichern und laden, sodass der Benutzer jeder Zeit damit arbeiten kann. |
AW: TStringList in Datei/File speichern und laden
Zitat:
Delphi-Quellcode:
type
TStringArrayFiler = class(TObject) public class procedure LoadArray(var aArray: TArray<string>; const aFilename: string); class procedure SaveArray(const aArray: array of string; const aFilename: string); end; class procedure TStringArrayFiler.LoadArray(var aArray: TArray<string>; const aFilename: string); var LStream: TFilestream; LReader: TReader; I: Integer; begin LStream := TFilestream.Create(aFilename, fmOpenRead or fmShareDenyWrite); try LReader := TReader.Create(LStream, 4096); try SetLength(aArray, LReader.ReadInteger); for I := Low(aArray) to High(aArray) do aArray[I] := LReader.ReadString; finally LReader.Free; end; finally LStream.Free; end; end; class procedure TStringArrayFiler.SaveArray(const aArray: array of string; const aFilename: string); var LStream: TFilestream; LWriter: TWriter; I: Integer; begin LStream := TFilestream.Create(aFilename, fmCreate); try LWriter := TWriter.Create(LStream, 4096); try LWriter.WriteInteger(Length(aArray)); for I := Low(aArray) to High(aArray) do LWriter.WriteString(aArray[I]); finally LWriter.Free; end; finally LStream.Free; end; end; |
AW: TStringList in Datei/File speichern und laden
Noch mal nachgefragt:
Delphi-Quellcode:
ist das so korrekt?
var
myarr : array[0..n] of tstringlist; Und das mochtest Du in einem Rutsch speichern?
Delphi-Quellcode:
Gruß
myarr.savetoFile();
K-H |
AW: TStringList in Datei/File speichern und laden
Zitat:
Zitat:
|
AW: TStringList in Datei/File speichern und laden
Zitat:
Aber gibt es vielleicht eine kompaktere Version bzw. eine kompaktere Möglichkeit? :) Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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