Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programme (vb6) multilangue...

2 réponses
Avatar
mrZeby
Bonjour à tous/toutes,

je travaille sur un programme écrit en vb6 qui gère déjà l'anglais , le
français... le chinois,... mais ce programme n'affiche bien le chinois (par
exemple) que sur un OS chinois sinon tous les caractères affichés sont des
"???" or je viens de voir que skype par exemple peut s'executer en chinois
sur un windows xp français !!!!

ma question est donc simple ;-)... comment puis je en faire autant avec mon
programme vb6 ou ultérieur ?

je vous remercie d'avance pour vos éventuelles réponses...

2 réponses

Avatar
François Picalausa
On Nov 9, 4:14 pm, "mrZeby" wrote:
<snip /> skype par exemple peut s'executer en chinois
sur un windows xp français !!!!

ma question est donc simple ;-)... comment puis je en faire autant avec m on
programme vb6 ou ultérieur ?



Hello,

Le plus simple pour ce faire est, à mon avis, de passer à VB.Net qui
supporte nativement ce genre de scénarios (quitte à exporter la
logique business de VB6 au travers d'une DLL qui serait appelée depuis
la nouvelle interface).

Pour VB6, le livre "Internationalization With Visual Basic" de Michael
Kaplan est la référence. Il faut cependant savoir que rendre une
application VB6 compatible unicode demande notament:
- de ne plus utiliser les contrôles standards (des contrôles ActiveX
suportant unicode existent ici et là, sinon TextOutW et créer les
fenêtres à l'aide de CreateWindow(Ex)),
- d'abandonner certaines fonctions de VB6 (par exemple, Dir() ne
supporte pas les caractères en dehors de la codepage locale, qui
peuvent être utilisés dans les noms de fichiers, et sera utiliement
remplacé par FindFirstFileW).


François
Avatar
mrZeby
merci pour cette réponse rapide...
donc si je comprends bien pour mon programme VB6 (plusieurs centaines de
milliers de lignes de codes) point de salut, ou pas sans grandes
modifications...

"François Picalausa" a écrit dans le message de
news:
On Nov 9, 4:14 pm, "mrZeby" wrote:
<snip /> skype par exemple peut s'executer en chinois
sur un windows xp français !!!!

ma question est donc simple ;-)... comment puis je en faire autant avec
mon
programme vb6 ou ultérieur ?



Hello,

Le plus simple pour ce faire est, à mon avis, de passer à VB.Net qui
supporte nativement ce genre de scénarios (quitte à exporter la
logique business de VB6 au travers d'une DLL qui serait appelée depuis
la nouvelle interface).

Pour VB6, le livre "Internationalization With Visual Basic" de Michael
Kaplan est la référence. Il faut cependant savoir que rendre une
application VB6 compatible unicode demande notament:
- de ne plus utiliser les contrôles standards (des contrôles ActiveX
suportant unicode existent ici et là, sinon TextOutW et créer les
fenêtres à l'aide de CreateWindow(Ex)),
- d'abandonner certaines fonctions de VB6 (par exemple, Dir() ne
supporte pas les caractères en dehors de la codepage locale, qui
peuvent être utilisés dans les noms de fichiers, et sera utiliement
remplacé par FindFirstFileW).


François