Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi string in unicode konvertieren (https://www.delphipraxis.net/9693-string-unicode-konvertieren.html)

steppo 1. Okt 2003 21:41


string in unicode konvertieren
 
Wer kann mir sagen, wie ich eine Variable vom typ string in unicode umwandeln kann?

Chewie 1. Okt 2003 21:50

Re: string in unicode konvertieren
 
Schau dir mal StringToWideString an.

steppo 1. Okt 2003 22:10

Re: string in unicode konvertieren
 
Wo finde ich diese funktion?
In der Hilfe ist nur StringToWideChar zu finden!

Chewie 1. Okt 2003 22:12

Re: string in unicode konvertieren
 
:duck:

Die meinte ich eigentlich. Sorry :?

steppo 1. Okt 2003 22:23

Re: string in unicode konvertieren
 
Sieht nett aus, aber so richtig werde ich daraus nicht schlau.

Ist die Funktion so richtig angewandt?

Function bla
var
Test,Test1:PWideChar;

begin

Test1:=StringToWideChar('Hallo',Test,length('Hallo '));

end;

Christian Seehase 1. Okt 2003 22:50

Re: string in unicode konvertieren
 
Moin Steppo,

da PWideChar nur ein Pointer ist, musst Du auch noch Speicher reservieren:

Delphi-Quellcode:
var
Test,Test1:PWideChar;

begin
  Test := AllocMem(length('hallo')*2);
  try
    Test1:=StringToWideChar('Hallo',Test,length('Hallo')*2);
  finally
    // Test1 wird hierdurch auch ungültig
    FreeMem(Test,length('hallo')*2);
  end;
end;

steppo 1. Okt 2003 22:55

Re: string in unicode konvertieren
 
danke werde es ausprobieren!
Habe mehrere Einträge die so umgewandelt werden müssen.

Melde mich dann wieder.

P.S.: Wie kann ich mir die konvertierte Variable anzeigen lassen?

Christian Seehase 1. Okt 2003 23:01

Re: string in unicode konvertieren
 
Moin Steppo,

z.b. mit ShowMessage.

Delphi-Quellcode:
ShowMessage(Test);
Wichtig hierbei:
Nach dem finally Block sind die Pointer beider Variablen wieder ungültig.

Ach so:
Du kannst es auch mit WideString machen. Dann fällt das Problem mit dem selber wieder freigeben müssen des Speichers flach.
Sollte also auch so gehen:

Delphi-Quellcode:
var
  wsTest3 : WideString;

begin
  wsTest3 := StringOfChar(#00,length('hallo')*2);
  StringToWideChar('hallo',@wsTest2[1],length('hallo')*2);
end;

jbg 2. Okt 2003 00:24

Re: string in unicode konvertieren
 
Und warum das ganze so kompliziert?

Delphi-Quellcode:
var
  A: string; // AnsiString
  W: WideString;
  PW: PWideChar;
begin
  A := 'Hallo';
  W := A; // Compiler Magic sorgt für die Konvertierung

  W := 'Hallo';
  A := W; // Compiler Magic sorgt für die Konvertierung

  PW := PWideChar(W);
end;

Chewie 2. Okt 2003 14:16

Re: string in unicode konvertieren
 
Verdammte Compiler-Magic...
Nimmt einem die ganze Arbeit ab. Das ist wohl mit der Grund, warum C-Programmierer Delphi-Programmierer nicht für voll nehmen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Seite 1 von 2  1 2      

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