hilpers


  hilpers > microsoft.* > microsoft.vb > 10/2007

 #1  
21.10.2007, 13:55
Jens Müller
Hallo,

Durch Zufall habe ich heute gemerkt, dass es möglich ist, sowohl
erweiterte westliche ANSI Zeichen als auch Kyrillische, Arabische und
Hebräische Zeichen in eine VB Textbox gleichzeitig anzuzeigen:
http://666kb.com/i/asua5o6bmdxot78wo.jpg

Dazu habe ich den Charset auf 204 (Kyrillisch) gesetzt und den Text aus
der Zwischenablage eingefügt. Ich benutze Windows XP.
Ein Auslesen des Textes in eine Variable und Zurücksetzen lässt jedoch
nur die bekannten ? erscheinen, außer bei den westlichen Zeichen.
Müssten es nicht die kyrillischen sein, die erhalten bleiben?

Danke,
Jens
 #2  
21.10.2007, 15:56
Thorsten Doerfler
Jens Müller schrieb:
> Durch Zufall habe ich heute gemerkt, dass es möglich ist, sowohl
> erweiterte westliche ANSI Zeichen als auch Kyrillische, Arabische und
> Hebräische Zeichen in eine VB Textbox gleichzeitig anzuzeigen:
> [..]
>
> Dazu habe ich den Charset auf 204 (Kyrillisch) gesetzt und den Text aus
> der Zwischenablage eingefügt. Ich benutze Windows XP.


Es gab Änderungen bei den Steuerelementen unter Windows XP. Die sind
grundsätzlich Unicode fähig und das Einfügen aus der Zwischenablage
ist eine Angelegenheit, die die TextBox selber managed.

> Ein Auslesen des Textes in eine Variable und Zurücksetzen lässt jedoch
> nur die bekannten ? erscheinen, außer bei den westlichen Zeichen.


Weil hier wieder die VB Runtime und damit die reinen ANSI API
Funktionen zum Einsatz kommen. Dabei gehen sämtliche Unicode
Informationen verloren.

Wenn Du eine echte Unicode TextBox suchst, schau auf den Seiten von
Timo Kunze nach den EditControls:

http://www.timosoft-software.de/phpBB2/dload.php

Thorsten Dörfler
 #3  
21.10.2007, 16:44
Jens Müller
Thorsten Doerfler wrote:
> Es gab Änderungen bei den Steuerelementen unter Windows XP. Die sind
> grundsätzlich Unicode fähig und das Einfügen aus der Zwischenablage
> ist eine Angelegenheit, die die TextBox selber managed.


Aha ok.

>> Ein Auslesen des Textes in eine Variable und Zurücksetzen lässt
>> jedoch nur die bekannten ? erscheinen, außer bei den westlichen
>> Zeichen.

>
> Weil hier wieder die VB Runtime und damit die reinen ANSI API
> Funktionen zum Einsatz kommen. Dabei gehen sämtliche Unicode
> Informationen verloren.


Ok, da ich aber den charset nun auf Kyrillisch eingestellt habe, sollte
doch trotz der Systemsteuerungseinstellung für nicht-unicodefähige
Programme auf Deutsch, ein myString = Text1.text: Text1.text = myString
die Kyrillischen Zeichen nicht in Fragezeichen umwandeln, oder? Dass
Umlaute o.ä. verloren geht könnte man dann in kauf nehmen.

Jens
 #4  
23.10.2007, 01:45
Jürgen Hollweg
Wenn 's nicht zuviel Arbeit ist, solltest Du auf VB.NET umsteigen.
Ist zwar eklig wegen der Weitergabe des Frameworks, aber sonst toll.
 #5  
23.10.2007, 06:35
W. Wolf
Hallo Jürgen,
"Jürgen Hollweg" <j.hollweg> schrieb im Newsbeitrag news:a536
> Wenn 's nicht zuviel Arbeit ist, solltest Du auf VB.NET umsteigen.
> Ist zwar eklig wegen der Weitergabe des Frameworks, aber sonst toll.
>

Gibt es noch eine Steigerung von "eklig"?
Oder wie würdest Du sonst die IDE umschreiben? ;-)
Gruß
W. Wolf
Ähnliche Themen
Textbox und Unicode

Hi, kann man einer Textbox irgendwie die Darstellung des kompletten Zeichensatzes eines Unicode-Fonts beibringen? Danke für eventuelle Tipps. Gruß Werner

Unicode Kürzel zum Einfügen

Hi, ich bin jetzt auf OpenOffice umgestiegen und bin sehr angetan. Habe aber dazu auch gleich eine (bzw. zwei) Fragen, auf die ich bisher keine Antwort finden konnte: Ich...

Standard Textbox Text

Hallo, ich würde gerne einen Standard Text in einer Textbox anzeigen lassen, welcher 'verschwindet' sobald der Benutzer in die Textbox klickt. Danach kann der Benutzer seine...

Textbox und Unicode

Hallo NG! Ich möchte in meine Textbox alle Zeichen hineinschreiben können. Das geht ja, wenn ich die Schriftart wähle und dann auswähle, ob ich es Westlich, Griechisch, ......

Einfügen von Unicode-Symbolen

Wie kann ich in Excel Symbole (Unicode) über die Tastatur eingeben?


Alle Zeitangaben in WEZ. Es ist jetzt 09:56 Uhr. | Privacy Policy