AGB  ·  Datenschutz  ·  Impressum  







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

stream to widestring

Ein Thema von amg79 · begonnen am 14. Dez 2010 · letzter Beitrag vom 15. Dez 2010
Antwort Antwort
amg79

Registriert seit: 14. Dez 2010
2 Beiträge
 
#1

stream to widestring

  Alt 14. Dez 2010, 15:05
Delphi-Version: 2007
Hallo,
ich habe folgendes Problem:

Ich speichere einen Text (mit UTF-8 Zeichen) in einem MemoryStream ==> Text
Nach Ausgabe des Memorystreams in eine Textdatei (stream.saveToFile('test.txt')) werden dort alle Zeichen korrekt dargestellt.
Ich benötige den Streaminhalt jedoch in einem widestring.
Mit TReader bekomme ich den Fehler "ungültiger Eigenschaftswert". (siehe Funktion StreamToWideString)
Hat jemand einen Lösungsansatz? Ziel ist es, dass alle UTF-8 Zeichen korrekt dargestellt werden.

Delphi-Quellcode:
procedure TForm1.Test;
var
  Text : TMemoryStream;
  ws : widestring;
begin
Text := TMemoryStream.Create;
(query1.FieldByName('TestBobfeld') as TBlobField).SaveToStream(Text);

ws := StreamToWideString(Text);
end;

function TForm1.StreamToWideString(AStream : TMemorystream): WideString;
var
  r : TReader;
begin
 AStream.Position := 0;
 r := TReader.Create(AStream,AStream.Size);
 ws := r.ReadWideString;
 result := ws;
 r.free
end;

Geändert von mkinzler (14. Dez 2010 um 17:54 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#2

AW: stream to widestring

  Alt 14. Dez 2010, 16:21
Zunächst herzlich willkommen in der netten "Delphi-Praxis"

ich würde einfach den String manuell umwandeln. Etwa so:

  ws := UTF8Decode(query1.FieldByName('TestBobfeld').Value);
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: stream to widestring

  Alt 14. Dez 2010, 17:55
Und verwende bitte in der Zukunft. Code-Tags ( im speziellen den Delphi-Tag bei Delphi/Pascal-Code)
Markus Kinzler
  Mit Zitat antworten Zitat
amg79

Registriert seit: 14. Dez 2010
2 Beiträge
 
#4

AW: stream to widestring

  Alt 15. Dez 2010, 08:46
Funktioniert, Danke!
  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 23:31 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