Saturday, December 26, 2009

Unicode Darstellung Wie geht das
















Betreff Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 01.10.2009 08:49:02


Hallo,

ich möchte ein VB6-Programm erstellen, welches den kyrillischen
Zeichensatz darstellen kann. Also alle Button-Beschriftungen und
Textausgaben sollen dann in russisch sein. Am liebsten wäre mir, wenn
die Button-Bezeichnungen in einer INI-Datei liegen. Damit man sie
einfach anpassen und editieren kann.

Wie geht das? Hat jemand evtl. ein kleines Bsp.-Projekt, welches auch
funktioniert? Oder geht das nur mit speziellen ActiveX-Controls?

Ich habe mir bspw. das Projekt [1] von www.activevb.de heruntergeladen
und ausgeführt, aber es funktioniert nicht. Es werden wieder nur
lateinische Buchstaben dargestellt.


Mit freundlichen Grüßen
Susann


[1] Unicode
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 01.10.2009 09:48:05


Hallo,

*Susann Markward* schrieb am 01.10.2009 08:49:
> ich möchte ein VB6-Programm erstellen, welches den kyrillischen
> Zeichensatz darstellen kann. Also alle Button-Beschriftungen und
> Textausgaben sollen dann in russisch sein. Am liebsten wäre mir, wenn
> die Button-Bezeichnungen in einer INI-Datei liegen. Damit man sie
> einfach anpassen und editieren kann.

Ich muss das noch präzisieren. Das Programm soll umschaltbar sein von

,-----------. ,-----------.
| | | |
,-> Deutsch ---> Englisch --> Russisch --.
| |
`----------------------------------------'

jeder Sprache (DE, EN, RU) in eine andere. Und das zur Laufzeit des
Programms ohne einen Neustart des PCs.

Bisher ist es kein Problem, wenn ich die Regional-Code-Einstellungen
ändere. Nur erfordert das einen Neustart des Rechners. Genau das will
ich nicht.

Ich möchte eigentlich nichts anderes als das, was bspw. einige
Texteditoren können. Man ändert den Zeichensatz und kann dann auf
kyrillisch schreiben.

Wenn ich nun aber hier "Где можно купить мороженое?" schreibe, so ist
das kein Problem. Ich muss den Rechner nicht neu starten, um diesen Satz
schreiben zu können.

Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt.

Vielen Dank
Susann
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Wolfgang Badura"
Datum 01.10.2009 19:04:30


Hallo Susann!
> *Susann Markward* schrieb am 01.10.2009 08:49:
> Wenn ich nun aber hier "??? ????? ?????? ??????????" schreibe, so ist das
> kein Problem.
Für mich wäre das schon eines:
Ich wüßte nicht, wie ich in dieser Mitteilung einfach griechisch
weiterschreiben könnte.
Welche Tasten meiner deutschen Tastatur erzeugen welche griechischen (oder
kyrillischen) Zeichen?
Kannst Du mir sagen, was ich tun muß, damit ich das kann?
Diese Frage ist zwar keine Antwort auf Deine Frage, aber ich könnte etwas
lernen.
Danke, Wolfgang


















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Ulrich Korndoerfer
Datum 01.10.2009 23:24:16


Hallo Wolfgang,

Wolfgang Badura schrieb:
> Hallo Susann!
>> *Susann Markward* schrieb am 01.10.2009 08:49:
>> Wenn ich nun aber hier "??? ????? ?????? ??????????" schreibe, so ist das
>> kein Problem.
> Für mich wäre das schon eines:
> Ich wüßte nicht, wie ich in dieser Mitteilung einfach griechisch
> weiterschreiben könnte.
> Welche Tasten meiner deutschen Tastatur erzeugen welche griechischen (oder
> kyrillischen) Zeichen?
> Kannst Du mir sagen, was ich tun muß, damit ich das kann?
> Diese Frage ist zwar keine Antwort auf Deine Frage, aber ich könnte etwas
> lernen.
> Danke, Wolfgang

Ich vermute mal, der Text lag schon vor (in einer Unicode-Textdatei) und
wurde per Cut and Paste eingefügt.

Der Originalpost von Susann hat im Nachrichtenheader:

Content-Type: text/plain; charset=UTF-8; format=flowed

und wurde mit dem Email-Client Thunderbird erstellt. D.h., Thunderbird
wurde angewiesen, die Nachricht als reine Textnachricht zu erstellen
(kein HTML-Format), Textzeilen nicht umzubrechen und als Zeichensatz
UTF8 zu verwenden. Mit UTF8 können alle Unicode-Zeichen dargestellt
werden. Damit können im Textbody der Nachricht alle Unicode-Zeichen
verwendet werden.

Um diese auch lesen zu können, muß der Nachrichtenclient des Lesers
(also Deiner), ebenso eingestellt sein: er muß also angewiesen werden,
bei eingehenden (zu lesenden) Nachrichten den Zeichensatz UTF8 zu
akzeptieren und auch für die Darstellung zu verwenden. Er darf also
nicht angewiesen worden sein, den eingehenden Zeichensatz in einen
anderen Zeichensatz (zB Windows Westlich) umzukodieren.

Zusätzlich müssen natürlich im verwendeten Font die per UTF8 kodierten
Zeichen auch vorhanden sein, sonst werden sie als "?" dargestellt.

Um nun auf einem deutschen System eingemischt in den deutschen Text den
kyrillischen Text einzufügen, bleiben mehrere Möglichkeiten:

a) per Copy and Paste die bereits vorhandene kyrillische Zeichenfolge
einzufügen (zB aus einem kyrillischen Text, betrachte in einem Unicode
fähigem Texteditor oder aus einem PDF-Dokument etc)

b) diese per dddd oder hhhh direkt über die
(deutsche) Tastatur einfügen: zB der Unicode-Character U+0416 entspricht
dem Zeichen Ж. Dann entweder 1046 oder 0416
eingeben. Also die Alt-Taste gedrückt halten, und dann entweder den
Unicode-Zeichencode in Dezimaldarstellung ohne führende Nullen eingeben
(dies ist standardmäßig bei Windowssystemen so eingestellt) oder die
Plustaste auf dem numerischen Keypad drücken und danach den
Hexadezimalcode mit führenden Nullen (also immer vierstellig) eingeben.
Die Ziffern 0 bis 9 müssen immer auf dem numerischen Keypad eingegeben
werden, die hexadezimalen Zusatzziffern A-F über den normalen Tasturbereich.

c) das System anzuweisen, kurzzeitig (für die Eingabe des Textes) auf
ein kyrillisches Tastaturlayout umzuschalten. Dann sind die
entsprechenden Zeichencodes direkt einzelnen Tasten zugeordnet, also die
Taste "P" liefert dann dirket das kyrillische Zeichen Zeichen, der Taste "P" zugeordnet". Hilfreich hierbei wäre natürlich
eine über die Tastatur legbare Tastaturschablone, die visuell
ersichtlich macht, welche Taste auf der deutschen Tastur welches
kyrillische Zeichen liefert.

d) eine virtuelle Bildschirmtastatur zu verwenden: ein Programm, welches
auf dem Bildschirm eine kyrillische Tastatur darstellt, ein Zeichen zB.
per Mausklick auf eine der Tasten auswählt (oder direkt per Tastatur)
und dieses als Eingabe (so, als ob es direkt über eine
sprachenspezifische Hardwaretastatur eingegeben worden wäre) an den
EMail Client sendet. Dazu braucht man noch nicht mal Fremdsoftware,
sowas steht in Windows zur Verfügung.

e) als Variante von b) bzw. d) das Windowshilfsprogramm "Zeichentabelle"
verwenden, dort die Zeichen auszuwählen und per Copy and Paste in den
Emailtext einzufügen. Es können mehrere Zeichen hintereinander
ausgewählt werden und gemeinsam in einem Rutsch kopiert werden.

f) die weiteren Möglichkeiten, die ich vergessen habe :-). Siehe auch zB



Der Emailclient muß dabei natürlich angewiesen worden sein, die
Nachricht in UTF8 oder UTF16 zu erstellen. Sonst funktioniert zB Methode
b) nicht, da das eingegebene Unicode Zeichen sofort intern im
EMail-Client in den voreingestellten 8Bit Zeichensatz umgewandelt werden
würde, der dann wahrscheinlich ein Fragezeichen anzeigen würde, da das
gewünschte Zeichen nicht vorhanden ist.

Bei mir ist es so, daß ich den Thunderbird (den ich ebenso wie Susanne
verwende), so eingestellt habe, daß er standardmäßig für ausgehende
Mails den 8 Bit Zeichensatz Windows-Westlich verwenden soll. Das ist so,
weil man damit Schwierigkeiten aus dem Weg geht, die dadurch entstehen,
wenn man zB UTF8 verwenden würde, daß der Empfänger möglicherweise (und
das ist heute immer noch oft der Fall) dies ignoriert und versucht, die
übermittelten Zeichencodes einer fest vorgegebenen 8Bit-Tabelle
zuzuordnen (was natürlich nicht klappt).

Normalerweise ist das kein Problem, da das, was ich schreibe, ja auch
nur an Zeichen das verwendet, was in Windows-Westlich vorhanden ist (und
das reicht für alle Westeuropäischen Sprachen, wie Deutsch, Englisch,
Französisch etc). Wenn ich nun andere Zeichen eingeben will (zB
mahtematische Symbole oder kyrillische Zeichen), geht das (bei mir bei
meinen Einstellungen) nicht direkt über die Tastatur per xxxx, da
Thunderbird versucht, diese in den voreingestellten 8Bit Zeichensatz
umzuwandlen. Erstaunlicherweise läßt er aber das Einfügen per Copy und
Paste zu, stellt die so eingefügten Zeichen auch korrekt dar und fragt
mich dann, sobald ich die Nachricht absenden will, ob ich, da die
Nachricht nur per UTF8 darstellbare Zeichen enthält, als
Zeichensatzvorgabe ausnahmswiese für diese Nachricht UTF8 verwenden
will. Deshalb sollte dieser Beitrag auch als Zeichensatz UTF8
eingestellt haben :-)


ДЖЙЊЉлќФ (völlig sinnlose Zeichenfolge, aus dem Hilfsprogramm
"Zeichentabelle" kopiert :-)

--
Ulrich Korndoerfer

VB tips, helpers, solutions -> http://www.proSource.de/Downloads/
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Timo Kunze
Datum 02.10.2009 00:13:38


Ulrich Korndoerfer schrieb:
> f) die weiteren Möglichkeiten, die ich vergessen habe :-). Siehe auch zB
>
>

Ergänzend: IME (Input Method Editor).

TiKu
--
www.TimoSoft-Software.de - Unicode controls for VB6
"Those who sacrifice freedom for safety deserve neither."
"Demokratie ist per Definition unsicher. Ihr Schutz entsteht aus der
Überzeugung, dass die demokratischen Kräfte überwiegen und sich – auf
demokratischem Wege – durchsetzen."
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Ulrich Korndoerfer
Datum 02.10.2009 01:41:31


Hallo Timo,

Timo Kunze schrieb:
> Ulrich Korndoerfer schrieb:
>> f) die weiteren Möglichkeiten, die ich vergessen habe :-). Siehe auch zB
>>
>>
>
> Ergänzend: IME (Input Method Editor).

Prinzipiell ja, aber:

- absoluter Overkill für den simplen Anwendungsfall, mal eben ein paar
Unicodezeichen eingeben zu wollen
- marketingtechnisch verknüpft mit MS Office-Applikationen
- für den gewöhnlichen User schwer durchschaubar, was er sich an
Software holen muß, wie zu bedienen und welche Einschränkungen er in
Kauf nehmen muß

Zu den Einschränkungen: auf den ersten Blick (und wahrscheinlich auch
auf den zweiten, soweit habe ich mich allerdings damit nicht
beschäftigt) für komplexe Skripts aus dem asiatischen Raum gedacht. Ob
man damit auch mal eben umschaltbares Layout zB für kyrillische Zeichen
haben kann, ist zweifelhaft.

Dabei wäre es doch so einfach (wenn MS nur wollte): Windows stellt ja
bereits ein OnScreen Keyboard zur Verfügung /unter
Eingabehilfen/Bildschirmtastatur), welches Benutzern, die in irgendeiner
Weise physisch eingeschränkt sind, eine Eingabehilfe darstellt. Der
Hauptwitz bei dieser Geschichte ist, daß das virtuelle Keyboard mit der
Maus bedient wird (virtuelle Tasten anklicken) und das Ergebnis an das
Fenster/die Applikation sendet, die gerade den Fokus hat. Damit können
per Mausklick Tastaturcodes an jede beliebige Applikation gesendet werden.

MS müßte sich nur entschließen, folgende Änderungen/Erweiterungen
vorzunehmen:

- Tastaturlayout/Keycodezuordnung frei wählbar/konfigurierbar zu machen.

So wie es jetzt ist, wird immer nur das systemweite, den
Locale-Einstellungen entsprechende Tastaturlayout verwendet. Für ein
anderes Layout (andere Keycodezuordnung) müßte man systemweit die
Locale-Einstellungen umstellen, und das ist ja witzlos, wenn man nur
eben mal zb. ein paar kyrillische Zeichen eingeben will.

- Bedienung der virtuellen Tastatur per Tastatur erlauben

--
Ulrich Korndoerfer

VB tips, helpers, solutions -> http://www.proSource.de/Downloads/
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Thorsten Albers"
Datum 02.10.2009 12:25:10


Timo Kunze schrieb im Beitrag
...
> Ergänzend: IME (Input Method Editor).

Ein IME ist dafür wohl wenig sinnvoll, da er primär dazu dient,
Schriftzeichen eines Schriftsystemes einzugeben, das durch eine normale
Tastatur nicht richtig oder vollständig bedient werden kann (ob Unicode
oder nicht, spielt dabei keine Rolle).

--
Thorsten Albers

albers (a) uni-freiburg.de
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 02.10.2009 07:15:49


Hallo,

*Wolfgang Badura* schrieb am 01.10.2009 19:04:
> Hallo Susann!
>> *Susann Markward* schrieb am 01.10.2009 08:49:
>> Wenn ich nun aber hier "??? ????? ?????? ??????????" schreibe, so ist das
>> kein Problem.
> Für mich wäre das schon eines:

Das liegt an Deinem von Microsoft vernachlässigten News-Reader
(X-Newsreader: Microsoft Outlook Express 6.00.2900.5512), der wohl UTF8
nicht unterstützt. Wird es denn nur falsch zitiert (also beim editieren
falsch dargestellt), oder schon in der Anzeige des Postings?
Normalerweise, bei Einsatz eines modernen News-Readers (wie bspw. in
Mozilla Thunderbird integriert), sollten anstelle der Fragezeichen
kyrillische Buchstaben stehe. So wird es zumindest bei mir dargestellt.


> Ich wüßte nicht, wie ich in dieser Mitteilung einfach griechisch
> weiterschreiben könnte.

Umstellung des Tastatur-Layouts auf Griechisch und lostippen. So geht es
zumindest bei mir.


> Welche Tasten meiner deutschen Tastatur erzeugen welche griechischen (oder
> kyrillischen) Zeichen?

Dieselben, die auch die lateinischen Buchstaben erzeugen. Das Problem
ist nur, dass man nicht weiß, welcher fremdländische Buchstabe sich
hinter welchem lateinischen Buchstaben versteckt. Abhilfe:
Tastaturschablone (einfacherweise evtl. einfach ein Bild einer
griechischen Tastatur neben Deine lateinische Tastatur legen) und falls
das öfter vokommt, einfach eine griechische Tastatur kaufen und anschließen.


> Kannst Du mir sagen, was ich tun muß, damit ich das kann?
> Diese Frage ist zwar keine Antwort auf Deine Frage, aber ich könnte etwas
> lernen.

Nun wie gesagt, einfach unter Systemsteuerung -> Regions- und
Sprachoptionen das gewünschte Land einstellen und lostippen.
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Wolfgang Badura"
Datum 02.10.2009 13:35:25


This is a multi-part message in MIME format.

------=_NextPart_000_0033_01CA4365.349972F0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

Hallo!
"Wolfgang Badura" wrote in message =
news:4ac4e163$0$1556$91cee783@newsreader03.highway.telekom.at...
> Hallo Susann!
>> *Susann Markward* schrieb am 01.10.2009 08:49:
>> Wenn ich nun aber hier "=D0=93=D0=B4=D0=B5 =
=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE =D0=BA=D1=83=D0=BF=D0=B8=D1=82=D1=8C =
=D0=BC=D0=BE=D1=80=D0=BE=D0=B6=D0=B5=D0=BD=D0=BE=D0=B5?" schreibe, so =
ist das=20
>> kein Problem.
> F=C3=BCr mich w=C3=A4re das schon eines:

Die Darstellung im Outlook Express ist beim Lesen und Schreiben der =
Antwort noch OK.
Erst nachdem ich das Posting gesandt habe, bemerkte ich die ????.
Jetzt versuche ich es mit dem Format Rich Text (HTML), vielleicht =
bleiben die kyrillischen Zeichen dann erhalten.
Jetzt beim Antworten sind sie noch zu sehen!
Das mit der virtuellen Tastatur kenne ich, aber die Kultur-Einstellungen =
mitten im Schreiben zu =C3=A4ndern, kam mir nicht in den Sinn.
Werde mir das alles noch mit Mu=C3=9Fe anschauen.

Danke f=C3=BCr die wirklich ausf=C3=BChrlichen Antworten.
Wolfgang
------=_NextPart_000_0033_01CA4365.349972F0
Content-Type: text/html;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF






Hallo!

"Wolfgang Badura" <href=3D"mailto:WolfgangBadura@aon.at">face=3DArial>WolfgangBadura@aon.atface=3DArial>> wrote in=20
message
href=3D"news:4ac4e163$0$1556$91cee783@newsreader03.highway.telekom.at">ONT=20
size=3D2=20
face=3DArial>news:4ac4e163$0$1556$91cee783@newsreader03.highway.telekom.a=
tsize=3D2 face=3DArial>...

> Hallo Susann!
>> *Susann =
Markward*=20
schrieb am 01.10.2009 08:49:
>> Wenn ich nun aber hier size=3D3=20
face=3D"Times New Roman">"=D0=93=D0=B4=D0=B5 =
=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE =D0=BA=D1=83=D0=BF=D0=B8=D1=82=D1=8C =
=D0=BC=D0=BE=D1=80=D0=BE=D0=B6=D0=B5=D0=BD=D0=BE=D0=B5?" =
schreibe, so ist das=20

>> kein Problem.
> F=C3=BCr mich w=C3=A4re das schon=20
eines:

Die Darstellung im Outlook Express ist =
beim Lesen=20
und Schreiben der Antwort noch OK.

Erst nachdem ich das Posting gesandt =
habe, bemerkte=20
ich die ????.

Jetzt versuche ich es mit dem Format =
Rich Text=20
(HTML), vielleicht bleiben die kyrillischen Zeichen dann =
erhalten.

Jetzt beim Antworten sind sie noch zu=20
sehen!

Das mit der virtuellen Tastatur kenne =
ich, aber die=20
Kultur-Einstellungen mitten im Schreiben zu =C3=A4ndern, kam mir nicht =
in den Sinn.
Werde mir das alles noch mit Mu=C3=9Fe=20
anschauen.

 

Danke f=C3=BCr die wirklich =
ausf=C3=BChrlichen=20
Antworten.

Wolfgang


------=_NextPart_000_0033_01CA4365.349972F0--

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Wolfgang Badura"
Datum 02.10.2009 13:41:35


This is a multi-part message in MIME format.

------=_NextPart_000_0050_01CA4366.11AAECA0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

Hallo Susann!
"Wolfgang Badura" wrote in message =
news:4ac5e5e2$0$1563$91cee783@newsreader03.highway.telekom.at...
Jetzt versuche ich es mit dem Format Rich Text (HTML), vielleicht =
bleiben die kyrillischen Zeichen dann erhalten.
Jetzt beim Antworten sind sie noch zu sehen!

Beim Versenden wurde ich von Outlook Express gefragt ob ich den =
Unicode-Zeichensatz verwenden m=C3=B6chte.
Nachdem ich bejahte, siehe, die kyrillischen Zeichen blieben erhalten.
Ich m=C3=B6chte OE nicht wirklich loben, aber das Umschalten kann er =
anscheinend auch.

Wolfgang
------=_NextPart_000_0050_01CA4366.11AAECA0
Content-Type: text/html;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF






Hallo Susann!

"Wolfgang Badura" <href=3D"mailto:WolfgangBadura@aon.at">WolfgangBadura@aon.at> =
wrote in=20
message href=3D"news:4ac5e5e2$0$1563$91cee783@newsreader03.highway.telekom.at">ne=
ws:4ac5e5e2$0$1563$91cee783@newsreader03.highway.telekom.at...

style=3D"BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; =
PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px"=20
dir=3Dltr>
Jetzt versuche ich es mit dem Format =
Rich Text=20
(HTML), vielleicht bleiben die kyrillischen Zeichen dann=20
erhalten.

Jetzt beim Antworten sind sie noch zu =

sehen!

 

Beim Versenden wurde ich von Outlook =
Express=20
gefragt ob ich den Unicode-Zeichensatz verwenden =
m=C3=B6chte.

Nachdem ich bejahte, siehe, die =
kyrillischen=20
Zeichen blieben erhalten.

Ich m=C3=B6chte OE nicht wirklich =
loben, aber das=20
Umschalten kann er anscheinend auch.

 

face=3DArial>Wolfgang


------=_NextPart_000_0050_01CA4366.11AAECA0--

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Thorsten Albers"
Datum 02.10.2009 15:26:25


Wolfgang Badura schrieb im Beitrag
<4ac5e6f5$0$1547$91cee783@newsreader03.highway.telekom.at>...
> Jetzt versuche ich es mit dem Format Rich Text (HTML), vielleicht bleiben
die
> kyrillischen Zeichen dann erhalten.
> Jetzt beim Antworten sind sie noch zu sehen!
> Beim Versenden wurde ich von Outlook Express gefragt ob ich den Unicode-
> Zeichensatz verwenden möchte.
> Nachdem ich bejahte, siehe, die kyrillischen Zeichen blieben erhalten.
> Ich möchte OE nicht wirklich loben, aber das Umschalten kann er
anscheinend auch.

Das Umstellen auf HTML solltest Du lassen, da es in Newsgroups alles andere
als gern gesehen wird. Es sollte für jeden Teilnehmer möglich sein, sich
auch ohne irgendwelche Formatierungshilfen klar auszudrücken.
Und warum willst Du Deinen Newsreader auf Unicode umstellen? Willst Du in
Deinen Postings Unicode-Zeichen verwenden? Dann solltest Du bedenken, daß
so mancher in Newsgroups (noch) einen Newsreader verwendet, der die
Unicode-Zeichen nicht bzw. nicht korrekt darstellen kann. Wenn Du willst,
daß auch diese Deine Postings lesen können, solltest Du auf Unicode-Zeichen
verzeichten.

--
Thorsten Albers

albers (a) uni-freiburg.de

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Wolfgang Badura"
Datum 05.10.2009 14:01:01


Hallo Thorsten!
"Thorsten Albers" wrote in message
news:01ca4363$f01483a0$ab01a8c0@thalk8s8x...
> Wolfgang Badura schrieb im Beitrag
> <4ac5e6f5$0$1547$91cee783@newsreader03.highway.telekom.at>...
> Und warum willst Du Deinen Newsreader auf Unicode umstellen?

Will ich sowieso nicht, aber durch den Inhalt mit kyrillischen Buchstaben
ergab sich das automatisch.
Aber diesen einen Versuch war es der Neugier wegen schon wert.

Wolfgang


















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Herfried K. Wagner [MVP]"
Datum 02.10.2009 02:53:32


Hallo Susann!

"Susann Markward" schrieb:
>> ich möchte ein VB6-Programm erstellen, welches den kyrillischen
>> Zeichensatz darstellen kann. Also alle Button-Beschriftungen und
>> Textausgaben sollen dann in russisch sein. Am liebsten wäre mir, wenn die
>> Button-Bezeichnungen in einer INI-Datei liegen. Damit man sie einfach
>> anpassen und editieren kann.
>
> Ich muss das noch präzisieren. Das Programm soll umschaltbar sein von
>
> ,-----------. ,-----------.
> | | | |
> ,-> Deutsch ---> Englisch --> Russisch --.
> | |
> `----------------------------------------'
>
> jeder Sprache (DE, EN, RU) in eine andere. Und das zur Laufzeit des
> Programms ohne einen Neustart des PCs.

Falls es wahlweise Darstellung von Zeichen unterschiedlicher Zeichensysteme
geht, kannst Du dazu die Eigenschaft 'Charset' des Schriftobjektes
heranziehen. Dabei muß eine Schriftart ausgewählt werden, die Zeichen dieses
Zeichensatzes enthält (Tahoma enthält z.B. auch kyrillische Zeichen):

Charset Property


--
M S Herfried K. Wagner
M V P
V B

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von =?ISO-8859-15?Q?Jens_M=FCller?=
Datum 01.10.2009 09:50:34


Hallo Susann,

"Susann Markward" schrieb:
> Ich habe mir bspw. das Projekt [1] von www.activevb.de heruntergeladen und
> ausgeführt, aber es funktioniert nicht. Es werden wieder nur lateinische
> Buchstaben dargestellt.

Das Projekt beschreibt die Verwendung von Unicode mit Windows -W APIs. Die
VB Controls sind leider nicht unicode fähig. Da gibt es aber Alternativen
(z.B. auf timosoft-software.de).

Grüße,
Jens

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 02.10.2009 10:05:01


Hallo,

*Jens Müller* schrieb am 01.10.2009 09:50:
> Die VB Controls sind leider nicht unicode fähig.

Die Standard-Controls nicht. Das ist richtig. Microsoft hat aber gleich
die Unicode-fähigen Standard-Controls [1] beigelegt. Der Trick ist, man
muss sie erst aktivieren, wie ich jetzt herausgefunden habe.

,----------------------------------------------------------------
|Wählen Sie im Menü Projekt Komponenten und überprüfen Sie
|Microsoft Forms 2.0 Object Library . Die Toolbox, einschließlich
|UNICODE-Versionen der im Textfeld, Bezeichnung und usw. werden
|mehrere neue Steuerelemente hinzugefügt.
`----------------------------------------------------------------


[1]
[1] Ein blankes Beispiel-Projekt zum Test der Unicode-Fähigkeit.

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Timo Kunze
Datum 02.10.2009 10:24:13


Susann Markward schrieb:
> Die Standard-Controls nicht. Das ist richtig. Microsoft hat aber gleich
> die Unicode-fähigen Standard-Controls [1] beigelegt.
Haben sie nicht. Die MS Forms 2.0 sind nicht für den Einsatz mit VB6
gedacht und führen dort auch gerne mal zu Problemen soweit ich das in
Erinnerung habe. Zudem dürfen die MS Forms 2.0 nicht mit ausgeliefert
werden, d. h. wenn du sie verwendest, müssen die Kunden deiner Software
MS Office installiert haben, damit deine Software läuft.

Für Unicode-fähige Controls, die für VB6 ausgelegt sind und völlig frei
verwendet werden dürfen, verweise ich auf meine Webseite.

Timo
--
www.TimoSoft-Software.de - Unicode controls for VB6
"Those who sacrifice freedom for safety deserve neither."
"Demokratie ist per Definition unsicher. Ihr Schutz entsteht aus der
Überzeugung, dass die demokratischen Kräfte überwiegen und sich – auf
demokratischem Wege – durchsetzen."
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 02.10.2009 10:59:34


Hallo,

*Timo Kunze* schrieb am 02.10.2009 10:24:
> Haben sie nicht. Die MS Forms 2.0 sind nicht für den Einsatz mit VB6
> gedacht und führen dort auch gerne mal zu Problemen soweit ich das in
> Erinnerung habe. Zudem dürfen die MS Forms 2.0 nicht mit ausgeliefert
> werden, d. h. wenn du sie verwendest, müssen die Kunden deiner Software
> MS Office installiert haben, damit deine Software läuft.

O.K. Das ist natürlich tatsächlich ein Problem. Ich frage mich nur, wozu
MS diese Controls dann entwickelt und beigelegt hat! Ich sehe schon, in
diesem Fall führt wohl kein _einfacher_ Weg an Deinen Controls vorbei. ;-)

Danke für Deine tolle Arbeit und das zur Verfügung stellen dieser Controls.

Mit freundlichen Grüßen
Susann
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Timo Kunze
Datum 02.10.2009 11:04:56


Susann Markward schrieb:
> O.K. Das ist natürlich tatsächlich ein Problem. Ich frage mich nur, wozu
> MS diese Controls dann entwickelt und beigelegt hat!
Für die Verwendung mit MS Office (VBA).

Timo
--
www.TimoSoft-Software.de - Unicode controls for VB6
"Those who sacrifice freedom for safety deserve neither."
"Demokratie ist per Definition unsicher. Ihr Schutz entsteht aus der
Überzeugung, dass die demokratischen Kräfte überwiegen und sich – auf
demokratischem Wege – durchsetzen."
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 05.10.2009 14:34:27


Hallo,

ich bemerke gerade nach meiner Euphorie, dass leider eine Menü-Bar
fehlt. Ist diese gerade in der Entwicklung, oder muss ich mich da nach
einer Alternative umschauen?

Vielen Dank
Susann
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Timo Kunze
Datum 05.10.2009 14:59:58


Susann Markward schrieb:
> ich bemerke gerade nach meiner Euphorie, dass leider eine Menü-Bar
> fehlt. Ist diese gerade in der Entwicklung, oder muss ich mich da nach
> einer Alternative umschauen?
Die ist geplant, aber nicht innerhalb der nächsten 6 Monate zu erwarten.
Für Ende Oktober ist erstmal eine Bibliothek bestehend aus ComboBox,
DriveComboBox, ImageComboBox und ListBox vorgesehen.

Timo
--
www.TimoSoft-Software.de - Unicode controls for VB6
"Those who sacrifice freedom for safety deserve neither."
"Demokratie ist per Definition unsicher. Ihr Schutz entsteht aus der
Überzeugung, dass die demokratischen Kräfte überwiegen und sich – auf
demokratischem Wege – durchsetzen."
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Schmidt"
Datum 05.10.2009 14:57:45



"Susann Markward" schrieb im Newsbeitrag
news:4ac9e7bf$0$30221$9b4e6d93@newsspool1.arcor-online.net...

> ich bemerke gerade nach meiner Euphorie, dass leider eine Menü-Bar
> fehlt. Ist diese gerade in der Entwicklung, oder muss ich mich da nach
> einer Alternative umschauen?

Wenn Du "was Komplettes" möchtest, dann vielleicht mal hier
nachschauen:
>
http://www.componentsource.com/products/codejock-xtreme-suitepro-activex/index-de-eur.html


Das sieht für den Preis IMO relativ vollständig bzw. "anständig" aus...

Olaf



















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Thorsten Doerfler
Datum 02.10.2009 10:30:24


Susann Markward schrieb:
>> Die VB Controls sind leider nicht unicode fähig.
>
> Die Standard-Controls nicht. Das ist richtig. Microsoft hat aber gleich
> die Unicode-fähigen Standard-Controls [1] beigelegt.

Nein, das hat Microsoft nicht gemacht. Die gehören zu Office und sind
nicht weiterverteilbar. Das steht auch in dem von Dir verlinkten Artikel.

> [1]

INFO: Usage and Redistribution of FM20.DLL
http://support.microsoft.com/kb/224305/en-us/

Ferner sollte folgender KB Artikel auch nicht unterschlagen werden:

PRB: "Error 7 - Out of Memory" Error Message From Visual Basic
Application Using FM20.DLL
http://support.microsoft.com/kb/241245/en-us/

Was also auf den ersten Blick sehr einfach aussieht, kann sich am Ende
zu einem echten Problem entwickeln. Ganz davon abgesehen, dass die
FM20.DLL Controls teilweise ein recht eigenwilliges Verhalten und
Aussehen an den Tag legen.

Thorsten Dörfler
--
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 05.10.2009 14:32:43


Hallo,

*Thorsten Doerfler* schrieb am 02.10.2009 10:30:
> Nein, das hat Microsoft nicht gemacht. Die gehören zu Office und sind
> nicht weiterverteilbar. Das steht auch in dem von Dir verlinkten Artikel.

Mal unbenommen dem von Dir hier u.g., was zweifelsohne stimmt, möchte
ich noch einmal auf die Thematik "Weiterverteilbarkeit" zu sprechen kommen.

In [1] steht u.a.

,--------------------------------------------------------------------
|As an alternative to having your end users install Microsoft Office,
|you can have them freely download and install the Microsoft ActiveX
|Control Pad, which also installs the Fm20.dll. For more information,
|see the following Microsoft Developer Network (MSDN) Web site:
|
|http://msdn.microsoft.com/en-us/library/ms968493.aspx
|(http://msdn.microsoft.com/en-us/library/ms968493.aspx)
`--------------------------------------------------------------------

Das verstehe ich dahingehend, dass jeder die DLL vom angegebenen Link
herunterladen und installieren darf. Was steht dem Weiterverteilen im Weg?

Oder sehe ich das falsch?
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 05.10.2009 14:40:59


Hallo,

*Susann Markward* schrieb am 05.10.2009 14:32:
> In [1] steht u.a.

Jaja, ich bin mal wieder eine Quatschtante. Habe ich doch wieder mal den
Referenzlink vergessen. Der sei hiermit nachgereicht.

[1]
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Thorsten Doerfler
Datum 05.10.2009 15:06:25


Susann Markward schrieb:
> In [1] steht u.a.
>
> ,--------------------------------------------------------------------
> |As an alternative to having your end users install Microsoft Office,
> |you can have them freely download and install the Microsoft ActiveX
> |Control Pad, which also installs the Fm20.dll. For more information,
> |see the following Microsoft Developer Network (MSDN) Web site:
> |
> |http://msdn.microsoft.com/en-us/library/ms968493.aspx
> |(http://msdn.microsoft.com/en-us/library/ms968493.aspx)
> `--------------------------------------------------------------------
>
> Das verstehe ich dahingehend, dass jeder die DLL vom angegebenen Link
> herunterladen und installieren darf. Was steht dem Weiterverteilen im Weg?

Du darfst dieses Paket dennoch nicht in Dein Setup bzw. Dein wie auch
immer geartetes Distributionsmedium aufnehmen, sondern kannst allenfalls
Deinen Anwendern den Hinweis geben, sie mögen dieses Tool auf der
angegebenen Seite herunterladen und installieren, da es Komponenten
enthält, die Deine Anwendung zwingend benötigt.

Ich kann nur für mich sprechen, aber ich hätte da doch eine enorme
Hemmschwelle ein Tool zu installieren, das seit über 13 Jahren nicht
mehr weiterentwickelt wurde, dazu noch "ActiveX" im Titel trägt und im
Zusammenhang mit dem IE 3.0 steht.

Die darin enthaltene FM20.DLL hat genau so viele Jahre auf dem Buckel
und es ist nicht bekannt, wie kompatibel aktuelle Versionen dieser DLL
mit der dort gelieferten Version sind, geschweige welche
Sicherheitlücken darin oder in dem zwangsinstallierten "ActivX Control
Pad" enthalten sind.

Alles in allem sehr viele Hürden, die Du da in Kauf nehmen möchtest.
Beim Einsatz in einem Hobbyprojekt würde ja nichts dagegen sprechen,
aber ich denke, Du entwickelst professionell und trägst auch eine
gewisse Verantwortung für Deine Software.

Thorsten Dörfler
--
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Peter Fleischer"
Datum 02.10.2009 09:05:35


"Susann Markward" schrieb im Newsbeitrag
news:eK8F4MmQKHA.3876@TK2MSFTNGP06.phx.gbl...

> ich möchte ein VB6-Programm erstellen, welches den kyrillischen
> Zeichensatz darstellen kann. Also alle Button-Beschriftungen und
> Textausgaben sollen dann in russisch sein. Am liebsten wäre mir, wenn die
> Button-Bezeichnungen in einer INI-Datei liegen. Damit man sie einfach
> anpassen und editieren kann.

Hi Susann,
ich habe früher so etwas auch gemacht. Mit VB6 gibt es aber sehr viele
Probleme. Die einfache Darstellung in einem Zeichensatz in den
Standard-Steuerelementen geht mit Charset (z.B. Charset=204 für kyrillisch).
Die Unicode-Zeichen müssen dafür aber konvertiert werden und es muss ein
Zeichensatz genutzt werden, der zur Konvertierung passt und die Zeichen auch
richtig darstellen kann. Mit der Umschaltung der Tastatur kann man auch in
einem z.B. deutschen System kyrillische Zeichen eingeben. Nicht möglich ist
die parallele Darstellung von Zeichen verschiedener Zeichensätze, z.B. von
deutschen Umlauten und kyrillischen Zeichen.

Das gesamte VB6-Projekt vollständig auch in einer nicht-europäischen Sprache
zu nutzen (z.B. auch Forms-Überschriften) läuft letztendlich in die
Erstellung und Verwaltung separater Projekte hinaus. Umschalten kann man
dann nicht so einfach, da dafür das Betriebssystems umzuschalten und ein
Neustart erforderlich ist.

> Wie geht das? Hat jemand evtl. ein kleines Bsp.-Projekt, welches auch
> funktioniert? Oder geht das nur mit speziellen ActiveX-Controls?

Es gibt uncodefähige Steuerelemente von Drittanbietern. Das löst aber nicht
alle Probleme der Mehrsprachigkeit der gesamten Anwendung (z.B. auch
Hilfesystem).

Mein Fazit ist, 8 Jahre nach Bereitstellung von VB.NET sollte man bei
solchen anspruchsvollen Forderungen mal über den Einsatz von VB.NET
nachdenken. Da ist die Mehrsprachigkeit des gesamten Projektes incl.
Umschaltung während der Arbeit überhaupt kein Problem.

--
Viele Grüsse
Peter

















Betreff Re: Unicode-Darstellung - Wie geht das?
Von Susann Markward
Datum 02.10.2009 10:00:50


Hallo,

*Peter Fleischer* schrieb am 02.10.2009 09:05:
> ich habe früher so etwas auch gemacht. Mit VB6 gibt es aber sehr viele
> Probleme. Die einfache Darstellung in einem Zeichensatz in den
> Standard-Steuerelementen geht mit Charset (z.B. Charset=204 für
> kyrillisch). Die Unicode-Zeichen müssen dafür aber konvertiert werden
> und es muss ein Zeichensatz genutzt werden, der zur Konvertierung passt
> und die Zeichen auch richtig darstellen kann. Mit der Umschaltung der
> Tastatur kann man auch in einem z.B. deutschen System kyrillische
> Zeichen eingeben. Nicht möglich ist die parallele Darstellung von
> Zeichen verschiedener Zeichensätze, z.B. von deutschen Umlauten und
> kyrillischen Zeichen.

Habe ich gerade geschafft. Siehe dazu [1]. Jetzt würde mich natürlich
interessieren, wo es das Problem genau gibt?

[1] Ein blankes Beispiel-Projekt zum Test der Unicode-Fähigkeit.



> Das gesamte VB6-Projekt vollständig auch in einer nicht-europäischen
> Sprache zu nutzen (z.B. auch Forms-Überschriften) läuft letztendlich in
> die Erstellung und Verwaltung separater Projekte hinaus.

Das geht nicht. Das Problem ist, dass die Software unterbrechungsfrei
weiterarbeiten muss. Bisher ist das kein Problem bei allen Sprache mit
lateinischen Zeichensatz (DE, FR, EN, US, ES, ...). Jetzt möchten Kunden
in Russland eine lokalisierte Version. Gleichzeitig soll es aber möglich
sein, das Service-Techniker aus DE die GUI einfach (und eben ohne
Neustart der Software) auf EN oder DE umstellen können soll, da sie der
russischen Sprache nicht so fließend und umfassend mächtig sind.


> Umschalten kann
> man dann nicht so einfach, da dafür das Betriebssystems umzuschalten und
> ein Neustart erforderlich ist.

Ja, das hatte ich davor auch schon. Nur ich möchte das eben so, wie das
Mozilla Thunderbird auch kann.


> Es gibt uncodefähige Steuerelemente von Drittanbietern. Das löst aber
> nicht alle Probleme der Mehrsprachigkeit der gesamten Anwendung (z.B.
> auch Hilfesystem).

Grrr. Wie sagt ein Freund von mir immer: "Hallo??? Wir sind schon zum
Mond geflogen ...!" Aber wahrscheinlich war das nach der Entwicklung von
VB6 :-D Man kann wahrscheinlich nicht alles haben.


> Mein Fazit ist, 8 Jahre nach Bereitstellung von VB.NET sollte man bei
> solchen anspruchsvollen Forderungen mal über den Einsatz von VB.NET
> nachdenken. Da ist die Mehrsprachigkeit des gesamten Projektes incl.
> Umschaltung während der Arbeit überhaupt kein Problem.

Ja, neue Projekte sowieso. Aber es geht um die Erweiterung eines
bestehenden Projekts.
















Betreff Re: Unicode-Darstellung - Wie geht das?
Von "Peter Fleischer"
Datum 02.10.2009 13:14:47


"Susann Markward" schrieb im Newsbeitrag
news:u9pHqZzQKHA.4600@TK2MSFTNGP05.phx.gbl...

> Habe ich gerade geschafft. Siehe dazu [1]. Jetzt würde mich natürlich
> interessieren, wo es das Problem genau gibt?
>
> [1] Ein blankes Beispiel-Projekt zum Test der Unicode-Fähigkeit.
>

Hi Susann,
was du da geschafft hast ist nur ein kleiner Teil. Wenn dieser ausreicht,
dann ist das ok. Ändere mal die Form-Überschrift, füge ein Help hinzu und
lass das in einem russischen Windows laufen.

>> Das gesamte VB6-Projekt vollständig auch in einer nicht-europäischen
>> Sprache zu nutzen (z.B. auch Forms-Überschriften) läuft letztendlich in
>> die Erstellung und Verwaltung separater Projekte hinaus.
>
> Das geht nicht. Das Problem ist, dass die Software unterbrechungsfrei
> weiterarbeiten muss. Bisher ist das kein Problem bei allen Sprache mit
> lateinischen Zeichensatz (DE, FR, EN, US, ES, ...).

Das ist mit dem mitteleuropäischen Zeichensatz kein Problem.

> Jetzt möchten Kunden in Russland eine lokalisierte Version.

Das kannst du als einheitliche VB6-Version vergessen, oder du beschränkst
dich auf Labels und TextBoxes.

> Gleichzeitig soll es aber möglich sein, das Service-Techniker aus DE die
> GUI einfach (und eben ohne Neustart der Software) auf EN oder DE umstellen
> können soll, da sie der russischen Sprache nicht so fließend und umfassend
> mächtig sind.

Für Teile der Anwendung, die mit viel Sprachproblemen zu tun haben, wären
ein .NET-Steuerelemente sinnvoll. Da hast du dann auch in VB6 alle
sprachlichen Möglichkeiten innerhalb dieser Steuerelemente.

>> Umschalten kann man dann nicht so einfach, da dafür das Betriebssystems
>> umzuschalten und ein Neustart erforderlich ist.
>
> Ja, das hatte ich davor auch schon. Nur ich möchte das eben so, wie das
> Mozilla Thunderbird auch kann.

Der ist garantiert nicht in VB6 programmiert :-)

>> Es gibt uncodefähige Steuerelemente von Drittanbietern. Das löst aber
>> nicht alle Probleme der Mehrsprachigkeit der gesamten Anwendung (z.B.
>> auch Hilfesystem).
>
> Grrr. Wie sagt ein Freund von mir immer: "Hallo??? Wir sind schon zum Mond
> geflogen ...!" Aber wahrscheinlich war das nach der Entwicklung von VB6
> :-D Man kann wahrscheinlich nicht alles haben.

Die sind aber nicht mit einem Doppeldecker zum Mond, sondern mit einer
modernen Rakete. Mit VB.NET kannst du ein Vorhaben problemlos realisieren.

>> Mein Fazit ist, 8 Jahre nach Bereitstellung von VB.NET sollte man bei
>> solchen anspruchsvollen Forderungen mal über den Einsatz von VB.NET
>> nachdenken. Da ist die Mehrsprachigkeit des gesamten Projektes incl.
>> Umschaltung während der Arbeit überhaupt kein Problem.
>
> Ja, neue Projekte sowieso. Aber es geht um die Erweiterung eines
> bestehenden Projekts.

Es gibt Grenzen in VB6, den Stress mal nicht berücksichtigt. Wenn das alles
(Grenzen und Stress) kein Problem ist, dann geht das auch.

--
Viele Grüsse
Peter



No comments:

Post a Comment