ä,ö,ü aus negativen werten in AnsiString casten
-
Moin
Wenn man in einem char ein ä speichert, dann ist sein wert -127.
Wenn ich nun 256 hinzu addiere bekomme ich den richtigen ascii wert (132).
Wie kann ich den nun in einen AnsiString hineinschreiben.
Mit AnsiString[i] geht das auch nicht, weil das wieder chars sind(-128 ... 127).Das sieht genau so aus:
char TheChar=-124; //Das darf nicht geändert werden int TheRealChar=TheChar+256; AnsiString Result; Result+=(char)TheRealChar; ShowMessage(Result);Der code gibt mir nicht ein ä sondern ein doppel komme.
Ich weiss auch wieso (weil chars nur -128 ... 127 gehen)
Ich weiss einfach nicht wie ich das umgehen kann.
Result söllte = "ä" sein.Hat jemand eine Idee?
-
N-Dream schrieb:
Wenn man in einem char ein ä speichert, dann ist sein wert -127.
Nö, ist -28. Und wenn du damit weiterrechnest klappt es auch mit dem Nachbarn.

-
ja das weiss ich auch. aber meine pipe übergibt mir ein ä nicgt als -28!
-
Probiers doch mal mit unsigned char