| |
|
|
|
Descripción:
WideCharToMultiByte wandelt una Unicode String en una Multi- oder Singlebyte String en.
Deklaration:
DEF @WideCharToMultiByte(8) !kernel32,WideCharToMultiByte
Parámetro:
1.Parámetro: Codepage Nummer como Integer. => -0 = ANSI Codepage -1= OEM Codepage -2 = Macintosh Codepage 2.Parámetro: Performance- y Umwandlungsflags como LongInt (kann 0 ser). 3.Parámetro: Zona mt oder Adresse uno Cuerdas en el Unicode Formato, el konvertiert voluntad se. 4.Parámetro: Anzahl el Buchstaben en el String de Parámetro 3. Wird hier –1 angegeben, se angenommen, dass el String con un Nullbyte endet y el Größe automáticamente berechnet. 5.Parámetro: Ausreichend dimensionierte Bereichsvariable, el el konvertierten String aufnimmt. 6.Parámetro: Größe des Bereichs de Parámetro 5 como Integer. Wenn dieser Parámetro 0 es, son el Función el benötigte Anzahl a Bytes para Parámetro 5 zurück. 7.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un String, el una Buchstaben enthält, el eingesetzt se, si una Unicode Buchstabe no traducido voluntad kann. Dieser Parámetro kann 0 ser – lo se entonces una Systemstandard verwendet. 8.Parámetro: Bereichsvariable, el el Adresse uno Flags empfängt, el anzeigt si una Buchstabe por una ‚Default’ (Parámetro 7) ersetzt wurde (kann 0 ser). => -1 = Sí -0 = Nein
Rückgabewert:
Wenn Parámetro 6 en 0 gesetzt se y el Aktion gelingt, liefert el API como Rückgabe el erforderliche Größe des Bereiches en Parámetro 5. Wenn Parámetro 6 ungleich 0 es y el Función erfolgreich abgeschlossen wurde, Es el Rückgabe el número el kopierten Signo (+abschließendes Nullbyte). En Rückgabe 0 es una Fehler aufgetreten.
Beispiele:
KompilierenMarcaSeparaciónDEF @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#,SingleByte$,Fehler&
DIM Unicode#,256*2
DIM SingleByte#,256
Clear Unicode#
LET SingleByte$=@input$("Bitte Wort eingeben","Stringumwandlung","Hallo")
LET Fehler&=@MultiByteToWideChar(@GetACP(),0,@ADDR(SingleByte$),-1,Unicode#,256*2)
Print "Rückmeldung von MultiByteToWideChar="+@STR$(Fehler&)
Print "Singlebyte="+SingleByte$
PRINT "Unicode="+@CHAR$(Unicode#,0,@LEN(SINGLEBYTE$)*2)
Let Fehler&=@WideCharToMultiByte(@GetACP(),0,Unicode#,-1,SingleByte#,256,0,0)
Print "Rückmeldung von WideCharToMultiByte="+@STR$(Fehler&)
Print "Zurück in Singlebyte="+@STRING$(Singlebyte#,0)
Dispose Unicode#
Dispose SingleByte#
While 0=0
Waitinput
Wend
|
|
|
| |
|
|