Problèmes de variables - VB/VBA/VBS - Programmation
Marsh Posté le 04-05-2005 à 20:43:18
Dans ton cas il me paraît nettement plus propre de travailler avec un(des) tableau(x).
Marsh Posté le 04-05-2005 à 21:06:34
un tableau à trois colonnes. Première colonne le nom de la variable de label, deuxième colonne son contenu en Anglais, troisième colonne son contenu en Français.
Ainsi, pour le nom d'un label par exemple ( en FR), celui ci recevra :
lbl_titre.Caption = tbl_langues(ligne correspondant au titre, 2) si fr
lbl_titre.Caption = tbl_langues(ligne correspondant au titre, 1) si Anglais
Marsh Posté le 04-05-2005 à 21:26:05
Peut être plus long mais qui me parait un peu plus simple :
Dans un module placer
Code :
|
La où tu en as besoin
Code :
|
Le tout piloté comme suit (disons menu)
Code :
|
edit : orthographe.
Marsh Posté le 04-05-2005 à 23:37:32
knakes a écrit : |
ça me met TxtLng(1). en souligné et me dit déclaration attendue...
le tout est dans un module Variables
L'idée est parfaite sinon!!!!
Ça correspond pas mal à ce que demande mon client!
Marsh Posté le 05-05-2005 à 09:27:16
J'ai oublié 2 : 3 trucs, c'est pour cela.
Revoilà le code.
Dans un module donc
Code :
|
Dans le même module ou dans un autre, une Sub pour initialiser les langues par exemple :
Code :
|
Dans une Sub Main on appelera la Sub d'initialisation par exemple via
Code :
|
Après dans notre programme, on affiche les messages désirés :
Code :
|
Et toujours notre choix de langue.
Note : l'initialisation des langues peut se faire via des fichiers. En clair dans un fichier texte renommé en ce que tu veux, tu écris pour chaque ligne un massage qui devra apparaitre, puis dans ton programme, tu lui fais une boucle pour que les langues s'initialisent toutes seules au démarrage. Voilà.
Marsh Posté le 05-05-2005 à 16:14:31
Merci!!!!!!!
C'est parfait!!!!!
Je vais rester sur la solution que tu me donne ici, pour la bonne raison que c'est beaucoup plus facilement modifiable... Mon client change d'avis tous les deux jours sur sa façon de voir les choses....
En tout cas merci pour ton aide ce fut efficace et super super utile!!!!!!!
Merci a l'équipe de ce forum!
Marsh Posté le 04-05-2005 à 16:35:11
Salut!
J'ai un petit souci :
je dois (enfin j'aimerais) concatener deux variables qui contiennent une chaine chacune. Justque la c'est assez simple:
dim var_1 as string = "lo"
dim var_2 as string = "l"
ma_variable_finale = var_1 & var &2
il y a "lol" dans ma_variable_finale.
Le problème maintenant est que je veux construire le nom d'une variable de cette manière. Je m'explique : il faudrai que lol soit ensuite reconnu comme un nom de variable...
Je veux faire :
labelXXXX = 'la valeur de ma_variable_finale qui est un nom de variable contenu dans un autre module'
Je ne sais pas si je suis clair...
Et puis je ne sais pas si j'utilise une bonne méthode...
Je pourrais faire autrement mais je dois rendre un logiciel qui soit très facilement modifiable et extansible (c'est en fait pour un module de langue : l'implantation est faite par : nom_var_fr ou nom nom_var_ang ==> d'ou l'utilité de faire nom_var_&langue)
en fait cela m'éviterais de faire
select case langue
case "fr"
lbl_que_je_veux_traduire = nom_var_fr
case "ang"
lbl_que_je_veux_traduire = nom_var_ang
end select
ce qui est une syntaxe assez lourde si je dois le faire pour chaque chose affichée dans mon prog...