Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Objekt in Stream verwandeln und Stream in Text konvertieren (https://www.delphipraxis.net/7095-objekt-stream-verwandeln-und-stream-text-konvertieren.html)

cYaONE 1. Aug 2003 16:42


Objekt in Stream verwandeln und Stream in Text konvertieren
 
Servus,

Ist es irgendwie möglich ein Objekt in einen Stream zu verwandeln und diesen Stream dann in normalen Ascii-Text zu konvertieren?

Danke schonmal!

MatthiasO 1. Aug 2003 17:03

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Ich weiß zwar nicht genau, wie du das meinst und wozu du das brauchst, aber vielleicht so:
Delphi-Quellcode:
procedure WandleUm;
var
  MemoryStream: TMemoryStream;
begin
  MemoryStream := TMemoryStream.Create;
  //Objekt ist das Objekt, das du umwandeln möchtest
  MemoryStream.WriteBuffer(Objekt, SizeOf(Objekt));
  MemoryStream.Position := 0;
  //In Memo1 laden
  Memo1.Lines.LoadFromStream(MemoryStream);
  MemoryStream.Free;
end;
In Memo1 ist nun der Ascii-Text.

CalganX 1. Aug 2003 23:08

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Kleine, aber feine Änderung... ;)
Delphi-Quellcode:
procedure WandleUm;
var
  MemoryStream: TMemoryStream;
begin
  MemoryStream := TMemoryStream.Create;
  try
    //Objekt ist das Objekt, das du umwandeln möchtest
    MemoryStream.WriteBuffer(Objekt, SizeOf(Objekt));
    MemoryStream.Position := 0;
    //In Memo1 laden
    Memo1.Lines.LoadFromStream(MemoryStream);
  finally
    MemoryStream.Free;
  end;
end;
Chris

Christian Seehase 1. Aug 2003 23:42

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Moin cYaONE,

was hast Du denn vor?

@Matthias/Chris:
Spätestens, wenn eine binäre Null im Objekt vorhanden ist, würde das Laden ins Memo abbrechen.

cYaONE 2. Aug 2003 08:09

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Ich möchte gern die Eigenschaften eines TFont Objektes speichern, also die Eigenschaften wie Name, Größe, ...

cYaONE 2. Aug 2003 16:17

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Ist es jetzt irgendwie möglich ein TFont Objekt in einem String zu speichern?

Christian Seehase 2. Aug 2003 16:23

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Moin cYaONE,

es gibt zwar Möglichkeiten das Gewünschte zu speichern, allerdings kenne ich mich im VCL-Streaming-System dafür nicht genug aus, um hier die Vorgehensweise zu beschreiben.

Schau Dir mal in der Hilfe TWriter/TReader an.

Chewie 2. Aug 2003 16:29

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Ich bezweifle auch, dass die oben genannte Methode mit dem MemoryStream funktionieren würde. Denn es werden Sizeof(Typ) Bytes kopiert, und Sizeof(Klasse) = Sizeof(Pointer) = 4. Und da liegt das Problem.

cYaONE 2. Aug 2003 17:03

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
= man kann nicht machen, was ich machen will?

Chewie 2. Aug 2003 17:09

Re: Objekt in Stream verwandeln und Stream in Text konvertie
 
Zitat:

Zitat von cYaONE
= man kann nicht machen, was ich machen will?

Das sicher nicht. Der Krams liegt im Speicher, und auf das, was im Speicher ist, kann auch zugegriffen werden.
Christian Seehase hat den entscheidenenden Tip gegeben, TReader. Schau dir das mal in der OH an. Ich hab das leider noch nie benutzt und kann dir deswegen da auch wenig helfen.


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