Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi SET OF in stream schreiben (https://www.delphipraxis.net/119213-set-stream-schreiben.html)

dr. love 22. Aug 2008 08:41


SET OF in stream schreiben
 
hallo... kann mir zufällig jemand sagen, wie man ohne großen aufwand eine variable, die ein set irgendeines enum-typs enthält in einen stream schreiben kann?

stahli 22. Aug 2008 09:00

Re: SET OF in stream schreiben
 
Delphi-Quellcode:
uses
  TypInfo...


procedure TDState.SaveDataToFileStream(S: TFileStream; W: TWriter);
begin
  inherited;
  W.WriteString('StateType');
  W.WriteString(GetEnumName(TypeInfo(TStateType), Ord(StateType)));
  W.WriteString('StateTime');
  W.WriteDate(StateTime);
  W.WriteString('-');
end;

procedure TDState.LoadDataFromFileStream(S: TFileStream; R: TReader);
var
  SI: String;
begin
  inherited;
  repeat
    SI := R.ReadString;
    if SI = 'StateType' then
      StateType := TStateType(GetEnumValue(TypeInfo(TStateType), R.ReadString));
    if SI = 'StateTime' then
      StateTime := R.ReadDate;
  until SI = '-';
end;

EDIT:
Hab´s selbst noch gemerkt, dass das so noch nicht reicht ;-)
Lasse es aber stehen, da es vielleicht mal anderen hilft...

SirThornberry 22. Aug 2008 09:30

Re: SET OF in stream schreiben
 
am einfachsten so:
Delphi-Quellcode:
Stream.Write(YourSetVar, sizeof(YourSetVar));
und schon ist dein Set im Stream.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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