| |
|
|
|
Beschreibung:
MultiByteToWideChar wandelt einen Zeichencode String in einen Unicode String um.
Deklaration:
DEF @MultiByteToWideChar(6) !kernel32,MultiByteToWideChar
Parameter:
1.Parameter: Codepage Nummer als Integer. -0 = ANSI Codepage -1= OEM Codepage -2 = Macintosh Codepage 2.Parameter: Flags per die Art des Zeichencode Strings und die Art der Erzeugung (kann 0 sein). 3.Parameter: Bereich mt oder Adresse eines Strings, der konvertiert werden soll. 4.Parameter: Die Anzahl der Buchstaben des Strings aus Parameter 3 als Integer. Dieser Wert kann auf –1 gesetzt werden, wenn der String aus Parameter 3 ein abschließendes Nullbyte enthält. 5.Parameter: Ausreichend dimensionierte Bereichsvariable, die den erzeugten Unicode String aufnimmt. 6.Parameter: Dimensione des Bereichs von Parameter 5 als Integer.
Rückgabewert:
Wenn Parameter 6 auf 0 gesetzt wird und die Aktion gelingt, liefert die API als Rückgabe die erforderliche Dimensione des Bereiches in Parameter 5. Wenn Parameter 6 ungleich 0 ist und die Funktion erfolgreich abgeschlossen wurde, ist die Rückgabe die Anzahl der kopierten Zeichen (+abschließendes Nullbyte). Bei Rückgabe 0 ist ein Fehler aufgetreten.
Beispiele:
KompilierenMarkierenSeparierenDEF @WideCharToMultiByte(8) !"kernel32","WideCharToMultiByte"
DEF @MultiByteToWideChar(6) !"kernel32","MultiByteToWideChar"
DEF @GetACP(0) !"kernel32","GetACP"
Windowstyle 31
Windowtitle "Stringumwandlung ins Unicode Format"
Window 0,0-640,440
Declare Unicode#,SingleByte$,Fehler&
DIM Unicode#,256
Clear Unicode#
LET SingleByte$="Hallo"
LET Fehler&=@MultiByteToWideChar(@GetACP(),0,@ADDR(SingleByte$),-1,Unicode#,100)
Print "RĂĽckmeldung von MultiByteToWideChar="+@STR$(Fehler&)
Print "Singlebyte="+SingleByte$
PRINT "Unicode="+@CHAR$(Unicode#,0,@LEN(SINGLEBYTE$)*2)
Dispose Unicode#
While 0=0
Waitinput
Wend
[...] |
|
|
| |
|
|