EXEMPLE D'AFFICHAGE DANS TOUTES LES LANGUES

jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 - 20 oct. 2004 à 11:17
karimvb120576 Messages postés 13 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 11 janvier 2007 - 27 déc. 2006 à 21:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26982-exemple-d-affichage-dans-toutes-les-langues

karimvb120576 Messages postés 13 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 11 janvier 2007
27 déc. 2006 à 21:33
Salut ,
voila je debute avec le VB et je me demande s 'il ya un moyen d'afficher des caractaire sur une zone text a partir d'un document word écrit en arab.

Merci
Tphilippe Messages postés 1 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 5 mai 2006
5 mai 2006 à 14:22
Dans le fichier test.RES les textes apparaisent sous forme de ????. Qu'est ce qui a été saisi? Ce ne sont pas que des points d'interrogation, puisque dès qu'on en saisi un de plus le programme n'affiche plus en russe ou en chinois mais il affiche que des ????. J'ai essayé d'écrire un truc en russe dans word, puis copier coller dans le fichier test.RES, des ??? sont apparus en lieu et place, mais lors de l'exécution du programme il n'a pas reconnu le texte et a affiché des ???.
Le contenu de ce fichier test.RES est la clé de voute du principe, mais comment est il renseigné?

Merci
kermaniesstt Messages postés 1 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 8 novembre 2005
8 nov. 2005 à 15:00
Salut
Je débute sur VB j'ai essayé de fonction le code mais ca n'a pas marche
Je te demande JOCKOS COMMENT T?A PU FAIRE FONCTIONNE CE CODE
MERCI D'AVANCE
breizhgatch Messages postés 7 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 26 octobre 2010
21 déc. 2004 à 18:01
Merci pour le code.
Cependant j'ai une plante sur la fonction StrConv; il aime pas le troisieme argument LCID quand celui-ci dépasse les 0x7F...
breizhgatch Messages postés 7 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 26 octobre 2010
21 déc. 2004 à 18:00
Merci pour le code.
Cependant j'ai une plante sur la fonction StrConv; il aime pas le troisieme argument LCID quand celui-ci dépasse les 0x7F...
DrJo45 Messages postés 16 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 23 juin 2006
2 nov. 2004 à 11:29
Désolé, j'étais en congés...
- Oui, j'ai oublié d'enlever la référence au controle TxText qu'on utilise par ailleurs, supprimez la référence, il n'est pas utile ici. Une fois ceci enlevé, l'accès aux méthode de vba.Strings ne devrait pas poser de Pb...
- Pour les boutons, il suffit de mettre style "1- Graphical" pour que ça marche., Mais en effet, les controles intrinsèques marchent vraiment bizarrement pour un langage soi-disant Unicode...
J'utilise habituellement ces méthodes dans un controle tableau pour lequel on peux définir le StyleSet (Font, Charset etc.) pour chaque cellule. Ceci me permet de saisir des traductions dans des langages utilisant des charsets différents.
Merci de vos commentaires, je vais continuer à chercher aussi ...
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
22 oct. 2004 à 11:09
Pour les autres contrôles (par exemple le Caption d'un Frame ou d'un Bouton), j'arrive à envoyer le texte unicode mais il n'est pas interpréter correctement avec le bon Charset...

ça affiche caractère par caractère en ASCII...

Par exemple, si j'ai un mot Chinois de 2 caractères, et bien ça affichera 4 caractères ASCII étendu (octet par octet) et non les 2 caractères chinois...

DrJo45, tu as une solution ?

Car c'est quand même très limitatif de ne pouvoir utiliser l'affichage en langue étrangère uniquement dans les TextBox et les Label...

a+
bidoch78 Messages postés 67 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 2 décembre 2005
21 oct. 2004 à 10:33
thanks.
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
20 oct. 2004 à 11:39
Ce qui est dommage, c'est que ça marche pour très très peu de contrôle...

A priori, uniquement pour les Label et les TextBox.

Pour tous les autres contrôles standards, il va falloir trouver autre chose... Je vais tenter le hooking windows pour capturer le message d'affichage et mettre ce que je veux à la palce, mais je ne suis pas sûr que cela puisse marcher...

:-(

Est-ce que quelqu'un aurait une autre solution plus simple ?
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
20 oct. 2004 à 11:25
J'ai réussi à utiliser ton code... ça à l'air de bien fonctionner...
Par contre, j'ai été obligé de précisé le nom de la classe pour utiliser les méthodes StrConv, Left, Chr, ...

Bref de faire partout : Strings.StrConv(...) ou Strings.Chr(...)

C'est bizarre, je n'avais jamais eu à faire cela auparavant... Tu aurais une explication ?

En tous cas, bravo, car peut de personne savent que l'on peut écrire des caractères unicodes dans les contrôles VB. Beaucoup utilise Form 2.0 (fm20.dll) ou alors des contrôles propriétaires couteux...
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
20 oct. 2004 à 11:17
Bonjour,

Merci pour ton code...

Par contre, j'ai un petit problème, je n'ai pas l'ocx Tx4Ole.ocx...

Et je n'arrive donc pas à tester ton projet (la fonction StrConv n'est pas reconnu)...

Ou peut-on trouver l'ocx Tx4Ole et que contient-il exactement ?

Merci
Rejoignez-nous