Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 10.03.2009, 22:50 Titel: Unicode & WStrings |
|
|
Hallo,
Ich habe wieder einmal eine kleine Frage:
Wie behandelt man UNICODE bzw WStrings am Besten?
Besonders speichern & ausgeben.
Wie kann man einen String als WString interpretieren lassen?
Ich mache es derzeit so:
Code: | declare function StrAsWStr(byref tmpStr as string) as wstring ptr
dim tmpWStr as wstring ptr
tmpWStr = StrAsWStr("D i e s i s t e i n U N I C O D E - S t r i n g ")
print "UNICODE-String"; *tmpWStr
Deallocate(tmpWStr)
function StrAsWStr(byref tmpStr as string) as wstring ptr
dim tmp as wstring ptr = Allocate( len(tmpStr) * Len(WString) )
dim SStrOff as uinteger = cint(StrPtr(tmpStr))
dim DStrOff as uinteger = cint(StrPtr(*tmp))
dim StrLen as uinteger = len(tmpStr)
asm
mov esi, [SStrOff]
mov edi, [DStrOff]
mov ecx, [StrLen]
cld
repnz movsb
end asm
return tmp
end function |
Das ist ziemlich kompliziert. Geht es einfacher? Wenn ja, wie?
Ist dieses Allocate und Deallocate bei WString immer nötig? Bei normalen Strings braucht man das ja auch nicht...
Achja: Die Zeichenkette "D i e s i s t e i n U N I C O D E - S t r i n g " soll einen Unicode String darstellen, der in einem normalen String gespeichert ist.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 11.03.2009, 22:02 Titel: |
|
|
Doch, und zwar im Zusammenhang mit der NetApi32.
Nach dreieinhalb Tagen habe ich mir dann eine Wrapperlibrary in C geschrieben, weil der Unicode Support unter FB einfach gesagt grottenschlecht ist.  |
|
Nach oben |
|
 |
|