AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String in Stream speichern

Ein Thema von d1ng0d0gt0r · begonnen am 30. Jan 2008 · letzter Beitrag vom 31. Jan 2008
 
WS1976
(Gast)

n/a Beiträge
 
#13

Re: String in Stream speichern

  Alt 31. Jan 2008, 05:38
Hallo,

Ich würde folgende Änderung vorschlagen:
um die Länge des Strings nicht zwischenspeichern zu müssen (fürs zurücklesen) benutze einfach: Stream.Size für die Länge des Strings.
Das ist zwar die Gesamtlänge des Streams aber so bist du immer auf der sicheren Seite. In deinem Beispiel war die Länge immer = 0, deshalb der Empfangsstring leer.

Ans Ende des Codes gehört:
stream.free;
bitte nicht vergessen.

hier der geänderte Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Stream: TMemoryStream;
  S: String;
  S_S: String;
  N: LongInt;
begin

S:= Edit1.Text;
N:= Length(S);

  if N > 0 then
  begin
    // Stream -> String String -> Stream
    Stream:= TMemoryStream.Create;
// Stream.Write(N, SizeOf(N));
    Stream.Write(S, N);

    // Stream -> String
    Stream.Position:= 0;
    Stream.read(S_S,Stream.Size);
  end;

  MessageBox(0, pchar(S_S), 'title', MB_OK);
  stream.free;
end;

Grüsse
Rainer
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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