Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi array of array to tfilestream?? (https://www.delphipraxis.net/37705-array-array-tfilestream.html)

Beckman 9. Jan 2005 08:26


array of array to tfilestream??
 
ich hab da was komisches zusammebgebatelt und hab nun ein problem mit dem abspeichern/auslesen...



Delphi-Quellcode:
  TUsers = array of record
    Name: String;
    Address: String;
    Password: String;
    Channels: array of record
      Name: String;
      IsCommander: Boolean;
      IsMaster: Boolean;
      AutoVoice: Boolean;
      AutoOp: Boolean;
      end;
    end;

var
  Users: TUsers;


ich habs mit nem array of fixed string records mal gemacht. da hab ich eben mit stream.writebuffer(array, (sizeof(array)) gemacht, was aber hier irgenwie nich mehr geht.

ich koennts irgendwie machen, dass ich immer die stingfelder limitiere jeweils und die items des subarrays im mainarray abspeicher und die anzahl der items im hauptarray im haupt configfile (inifile) abspeicher.

aber das waer glaub ich ne haessliche loesung sein.



oder kann mir jemand eine andere methode ans herz legen?


hab eigentlich fuer XML grad sympathie entwickelt, aber ich weiss net ob das so passend in dem fall ist.




tnx.




update

sonst werd ich das so abspeichern, in ner INI file.

Code:
[0]
name=beckman
address=beckman.xchannel.org
password=passhalt
1=#xchannel,false,false,true,false

[1]
name=becki
address=becki.xchannel.org
password=passhalt
1=#xchannel,false,false,true,false
2=#xchannel,true,false,true,false

Keldorn 9. Jan 2005 08:47

Re: array of array to tfilestream??
 
XML kommt drauf an, allerdings wird die Datei dann auch schnell recht groß.

wenn du einen Filestream verwenden willst, kannst du mit Twriter/Treader die Daten in den stream schreiben.

du kannst dir das hier als Anregung mal anschauen. für das Unterarray geh ich so vor : arraylänge in stream schreiben, dann in einer schleife alle items. bei auslesen: erst länge lesen, array entsprechend dimensionieren und dann die einträge in einer schleife auslesen.

Mfg Frank

Jens Schumann 9. Jan 2005 08:50

Re: array of array to tfilestream??
 
Hallo,
wenn Du anstatt in Records in Objekten denken würdest, findest Du die Lösung hier in der DP.
Es handelt sich um den geradezu klassischen Anwendungsfall für die dpcollection unit
Die Beispielanwendung zu dieser unit enthält ein Beispiel für ein 2dimensionales "Array".

Beckman 9. Jan 2005 11:44

Re: array of array to tfilestream??
 
k, danke sehr!
(ich wusste bisher gar net, dass das zweidimensionaler array heisst :P)

aber danke, ich check mal


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz