AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TStringStream, nur andersrum o.O
Thema durchsuchen
Ansicht
Themen-Optionen

TStringStream, nur andersrum o.O

Ein Thema von himitsu · begonnen am 7. Feb 2011 · letzter Beitrag vom 7. Feb 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:08
Moin, also ich hab zwar für mich schon eine Lösung, aber dennoch eine Frage dazu...

Warum kann man den TStringStream nicht nutzen, um einen String aus einem Stream rauszuholen?

TStringReader oder so hilft da auch nichts.

Grund:
auf einer Seite wollte ich einen String in einen Stream verfrachten, welches ja mit TStringStream und WriteString geht.
Nach der Datenübertragung wollte ich dann den String wieder aus dem Stream rausholen, aber irgendein Id*** hat da was vergessen, so daß man keinen Stream übergeben kann, um danach über ReadString auszulesen.

Wenn ich jetzt den Stream z.B erst in ein TBytes umwandeln muß, um den TStringStream nutzen zu können, dann kann ich auch gleich den Stream in einem String kopieren.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:23
MeinStringStream.CopyFrom(Quellstream, 0);
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:35
is ja umständlich
hatte im Constructor gesucht.

so ala
Delphi-Quellcode:
X := TStringStream.Create(MyStream);
S := X.ReadString;
X.Free;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:42
Das meintest Du nicht?


Delphi-Quellcode:
var
  st:TStringStream;
  s1,s2:String;
begin
  s1 := 'TestString';
  st:=TStringStream.Create;
try
  st.WriteString(s1);
  st.Position := 0;
  s2 := st.ReadString(st.Size);
  Showmessage(s2);
finally
  st.Free;
end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:46
Nicht ganz.
Auf Clientseite kommt ein String in 'nen Stream rein,
dieser wird dann zum server übertragen
und dort muß der String wieder aus dem Stream raus.
function TDataServerDemoMethods.AddStream(S: String; StringStream: TStream): String; Bei der Datenübertrageung kommt der Stream dann aber nicht als TStringStream im Server an, da dort vom Server ein neues/anderes Stream-Objekt erstellt wurde.
$2B or not $2B

Geändert von himitsu ( 7. Feb 2011 um 12:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#6

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 12:51
Kannst ja gerne eine Klasse von TStringStream ableiten und ihr einen Constructor verpassen, der dir passt
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: TStringStream, nur andersrum o.O

  Alt 7. Feb 2011, 13:04
Sowas hätte Emba aber auch schon verbauen können, denn wenn man damit einen String in einen Stream reinmachen kann,
X := TStringStream.Create('abcde'); .
dann wäre der umgekehrte Weg doch auch sehr naheliegend gewesen?
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:51 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