Einzelnen Beitrag anzeigen

skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: TDictionary speichern

  Alt 28. Feb 2019, 08:29
So, nach vielerlei Versuchen, das vernünftig hinzubekommen, bin ich auf die von mir bisher noch nie verwendeten
TBinaryWriter und TBinaryReader gestoßen.

damit war die Umsetzung absolut problemlos:
Schreiben:
Delphi-Quellcode:
    ms.Clear;
    BW := TBinaryWriter.Create(ms, TEncoding.Unicode, false);
    BW.Write(Dict.Count);
    for Pair in Dict do
    begin
      BW.Write(Pair.Key);
      BW.Write(Pair.Value);
    end;
    BW.Free;
Lesen:
Delphi-Quellcode:
    Dict.Clear;
    ms.Position := 0;
    BR := TBinaryReader.Create(ms, TEncoding.Unicode, false);
    anz := BR.ReadInteger;
    for i := 1 to anz do
    begin
      Key := BR.ReadString;
      Value := BR.ReadString;
      Dict.Add(Key, Value);
    end;
    BR.Free;
Damit sind auch die Probleme mit jeglichen Steuer/Sonderzeichen in den Values gelöst, die in der ersten manuellen Variante hätten auftreten können

Ciao
Stefan
  Mit Zitat antworten Zitat