Ich bin in der Hilfe und ihm Forum nicht fündig geworden und es ist lange her, seit ich mich damit beschäftigte.
1.
Wenn ich im Programmcode einen Text eingebe und auf diesen per Pointer mit @ Zugreife, wie lang ist der Speicherbereich dann je Buchstabe?
Code: Alles auswählen
Debug @">"
Debug PeekB(@">")
Debug PeekB(@">"+1)
Debug PeekC(@">")
Wird der Text als ASCII mit einem Zeichen gespeichert oder als UNICODE mit zwei? Es scheint laut Hilfe wohl in einer der letzten Versionen eine kleine Änderung gegeben zu haben, ob die sich auswirkt und wie es vorher war weiß ich nicht.
Falls, was ich vermute, die IDE auch Unicodezeichen verarbeiten kann, dann sollte es Char mit zwei Byte sein. Der Textcode oben ist mir nicht hilfreich, da ich nicht sicher weiß wie die "Unicodetabelle" und die Bytebelegung ist.
2.
Es geht mir darum mit (z.b.)
Code: Alles auswählen
CompareMemory(*Position, @">", 1)
FALLS, was ich vermute, ">" somit zwei Byte nutzt (mit 1 Byte auslesen bei dem Zeichen bisher keine Probleme, das heißt aber nichts), wie kann ich das direkt abfangen?
also konvertieren oder so. Eine extra If-Abfrage und auslesen per peek usw möchte ich nicht.
Als Umgehung mit einer neuen Variable könnte bzw. sollte es wohl so gehen:
Code: Alles auswählen
AsciiVar.a = peekc(@">")
CompareMemory(*Position, @AsciiVar, 1)
Code: Alles auswählen
*Ascii = Ascii("Hélé")
ShowMemoryViewer(*Ascii, 4)
Code: Alles auswählen
ShowMemoryViewer(@"Hélé", 4)
Code: Alles auswählen
ShowMemoryViewer(@"Hélé", 8)
Damit ich sicher sein kann, wie läuft das ab, wie sollte ich es machen? Bisher klappt das zwar, nur vermute ich ist es glück.
Danke
Toshy