| |
|
|
Georg Hovenbitzer | Hallo zusammen,
vielleicht kann mir jemand einen Tip geben. Ich bekomme von einer Funktion die Adresse eines Strings zurück. Nun kann es leider sein, dass dies ein Unicode oder ein normaler String ist. Wie kann ich dies ermitteln um entsprechend darauf reagieren zu können. |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 15.06.2008 ▲ |
|
|
|
|
Frank Abbing | Für solche Fälle gibt es wohl die API IsTextUnicode(). Hast du sie schon getestet? |
|
|
| |
|
|
|
Georg Hovenbitzer | Hallo Frank,
mit der API hatte ich schon Versuche gemacht, es kommt nicht viel sinnvolles raus. Das Problem ist, die API verlangt die Länge des Strings, diese ermittle ich mit WideCharToMultiByte. LenA& = WideCharToMultiByte(0,0,ptrUnicode&,-1,0,0,0,0) IsTextUnicode(ptrUnicode&,LenA&,0) Dabei kommt aber bei nicht Unicode Strings eine falsche länge raus. Mir fehlt noch so die richtige Idee zur Lösung. |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 15.06.2008 ▲ |
|
|
|
|
Sebastian König | Georg Hovenbitzer
vielleicht kann mir jemand einen Tip geben. Ich bekomme von einer Funktion die Adresse eines Strings zurück. Nun kann es leider sein, dass dies ein Unicode oder ein normaler String ist. Wie kann ich dies ermitteln um entsprechend darauf reagieren zu können.
Ich würde sagen, dass man das allein durch Betrachten des Strings überhaupt nicht sicher sagen kann... Wenn Du im Grunde nur ANSI-Zeichen erwartest, kannst Du natürlich gucken, ob jedes zweite Byte Null ist. Aber zum einen heißt Unicode nicht gleich unbedingt, dass die Zeichen 16bit groß sind (siehe [...] ) und zum anderen könnte der String ja Zeichen außerhalb des ANSI-Fensters enthalten.
In der Dokumentation der Funktion sollte allerdings irgendwo stehen, was für einen String sie zurückgibt...
MfG
Sebastian |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.06.2008 ▲ |
|
|
|
|
Dieter Zornow | |
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 15.06.2008 ▲ |
|
|
|
|
Frank Abbing | Jaja, genau. Hatte heut morgen keinen Quellcode parat, aber der Tipp passte ja. |
|
|
| |
|
|
|
Georg Hovenbitzer | Hallo zusammen,
vielen Dank für die ganzen Tips. Ich habe nur ein Problem mit der API IsTextUnicode. Da ich nur eine Adresse habe wo der String hinterlegt ist, komm ich nicht an die Länge ran und somit kann diese API nicht verwenden. Ich werde auch mal den Stefan Töngi, der Entwickler der audiogenie.dll, dazu befragen. Da seine Funktion abhängig von MP3 File mal Unicode oder normalen String zurückgibt. |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 15.06.2008 ▲ |
|
|
|