Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   ALT+NumBlock - Memo vs. RichEdit (https://www.delphipraxis.net/153980-alt-numblock-memo-vs-richedit.html)

martinf16 23. Aug 2010 19:30

ALT+NumBlock - Memo vs. RichEdit
 
Ich hoffe ihr könnt mir weiterhelfen..

Wenn ich ALT+Zahlen des Numblocks verwende, um Zeichen einzugeben unterscheidet sich das Ergebnis je nachdem ob ich in ein Memo oder ein RichEdit eingegeben habe. Bei meinen Tests habe ich herausgefunden dass sich das Verhalten auch in Anwendung wie Word oder dem Windows Editor unterscheidet.

Kann mir jemand sagen wieso das so ist oder vielleicht sogar wie ich bei einem Memo dasselbe Verhalten wie im RichEdit erzeugen kann?

Vielen Dank.

himitsu 23. Aug 2010 20:56

AW: ALT+NumBlock - Memo vs. RichEdit
 
Wie unterscheidet das sich?

martinf16 23. Aug 2010 22:51

AW: ALT+NumBlock - Memo vs. RichEdit
 
Nehmen wir zum Beispiel die Kombination ALT+1234. Diese ist im Memo oder im Windows Editor Ê. Tippt man dasselbe im RichEdit oder Word ergibt sich Ӓ.

Ich habe schon überlegt ob der Code vielleicht einmal als ANSI und einmal als Unicode interpretiert wird.. Aber wie steuert man dann dieses Verhalten?!

SirThornberry 24. Aug 2010 06:15

AW: ALT+NumBlock - Memo vs. RichEdit
 
Ich glaube das hat weniger damit zu tun wie man das steuert als damit ob das Programm Unicode unterstützt oder nicht bzw. welche Codepage verwendet wird.

himitsu 24. Aug 2010 06:22

AW: ALT+NumBlock - Memo vs. RichEdit
 
Hmmm, OK, das erklärt, warum mir solche Unterschiede noch nicht aufgefallen sind.

Nutze mal folgenden Code ... nach meinen Erfahrungen funktioniert der eigentlich immer.
Alt + 0 + dezimalerZeichenCode

Im Edit und Memo werden anschenend alle Codes ohne führende 0 als ANSI angesehn und dann entsprechend nach Unicode umgerechnet.
Jedenfalls ergeben, so wie es aussieht, Codes über 127 andere Werte.

[edit] 2 neue Antworten ... ich sollte schneller antworten :)

martinf16 24. Aug 2010 10:39

AW: ALT+NumBlock - Memo vs. RichEdit
 
ALT + 0 + AnsiZeichenCode funktioniert sowohl im Memo als auch im RichEdit einwandfrei, es erscheinen die erwarteten Zeichen.

ALT + AnsiZeichenCode ohne Null funktioniert sowohl im Memo als auch im RichEdit nicht, es ergeben sich aber auch hier die gleichen Zeichen. Also liegt hier auch kein Problem.

Probleme gibt es bei allen Codes über 255. Soweit ich das feststellen konnte erscheinen im Memo wiederrum irgendwelche Zeichen aus dem ANSI Zeichensatz, im RichEdit dagegen die korrekten erwarteten Unicode Zeichen.

Was die Unicode-Unterstützung angeht sollte das ganze Programm doch Unicode unterstützen. Wieso sollten Memo und RichEdit unterschiedlich betroffen sein? Wenn ich Unicodezeichen manuell in das Memo lade, schreibe oder verarbeite funktioniert es auch.

p80286 24. Aug 2010 16:18

AW: ALT+NumBlock - Memo vs. RichEdit
 
Ich habe das alles mal in einem XP-Notepad ausprobiert, der ja auch Unicode kann.
[alt]+01234 ergibt xD2 was wohl korrekt ist da 1024+210 (xD2) = 1234.
[alt]+1234 ergibt x25x65 was hinten und vorne nicht stimmen kann da dez9573=x2565
da schein irgendwer im Hintergrund wilde Zeichensatzarithmetik zu treiben.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz