Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
777 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problèmes de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problèmes de variables

n°1072095
Akhesa
Posté le 04-05-2005 à 16:35:11  profilanswer
 

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...

mood
Publicité
Posté le 04-05-2005 à 16:35:11  profilanswer
 

n°1072381
AlainTech
Pas trouvé? Cherche encore!
Posté le 04-05-2005 à 20:43:18  profilanswer
 

Dans ton cas il me paraît nettement plus propre de travailler avec un(des) tableau(x).


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1072392
Akhesa
Posté le 04-05-2005 à 21:02:45  profilanswer
 

tu peux préciser ta pensée s'il te plaît...

n°1072395
Mythrandil
Posté le 04-05-2005 à 21:06:34  profilanswer
 

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

n°1072409
knakes
Posté le 04-05-2005 à 21:26:05  profilanswer
 

Peut être plus long mais qui me parait un peu plus simple :
 
Dans un module placer

Code :
  1. Public Type Text_Langues
  2. lbl_titre As String
  3. lbl_moi As String
  4. ...
  5. End Type
  6. '' On définit la chose
  7. Public TxtLng(lng) As Text_Langues
  8. '' On la paramètre
  9. TxtLng(1).lbl_titre = "Titre lbl_Titre"
  10. TxtLng(2).lbl_titre = "le meme mais en anglais"
  11. ...
  12. '' On l'initialise


 
La où tu en as besoin

Code :
  1. lbl_titre.Caption = txtlng(lng).lbl_titre


Le tout piloté comme suit (disons menu)

Code :
  1. Select Case lang_choix
  2. Case "fr"
  3. lng = 1
  4. Case "ang"
  5. lng = 2
  6. ...


 
edit : orthographe.


Message édité par knakes le 04-05-2005 à 21:26:52
n°1072541
Akhesa
Posté le 04-05-2005 à 23:37:32  profilanswer
 

knakes a écrit :


TxtLng(1).lbl_titre = "Titre lbl_Titre"
TxtLng(2).lbl_titre = "le meme mais en anglais"


 
ç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!


Message édité par Akhesa le 04-05-2005 à 23:38:07
n°1072634
knakes
Posté le 05-05-2005 à 09:27:16  profilanswer
 

J'ai oublié 2 : 3 trucs, c'est pour cela.
Revoilà le code.
 
Dans un module donc

Code :
  1. Option Explicit
  2.    
  3.      Public Const MaxLng = 5 ' On définit le nombre maximal de langues
  4.              
  5.      Public Type Text_Langues
  6.      lbl_titre As String
  7.      lbl_moi As String
  8.      '...                   ' On insère les différentes propriétés
  9.      End Type
  10.    
  11.      Public TxtLng(MaxLng) As Text_Langues ' On définit ce qui nous interesse


Dans le même module ou dans un autre, une Sub pour initialiser les langues par exemple :

Code :
  1. Sub InitLng()
  2.    
  3.      TxtLng(1).lbl_titre = "Titre lbl_Titre" 'On initialise dans une sub à part
  4.      TxtLng(2).lbl_titre = "le meme mais en anglais"
  5.    
  6.    End Sub


 
Dans une Sub Main on appelera la Sub d'initialisation par exemple via  

Code :
  1. Call InitLng ' Au démarrage, on initialise nos langues


 
Après dans notre programme, on affiche les messages désirés :

Code :
  1. lbl_titre.Caption = txtlng(lng).lbl_titre


 
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à.

n°1072955
Akhesa
Posté le 05-05-2005 à 16:14:31  profilanswer
 

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!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problèmes de variables

 

Sujets relatifs
Comment récupérer des variables ASP qu'on envoie à FLASH ?Problème concaténation variables [RESOLU]
Problemes de tableaux sous Firefox[Résolu]Transmission de variables
Variables partagées entre sessionsProblèmes rmi
Probléme avec des variables globalesPB transfert variables FLASH -> PHP : "monLoadVar.send"
autre problèmes: la récupération de variables dans script PHP[PHP] Problèmes transmission variables et stockage de fichiers
Plus de sujets relatifs à : Problèmes de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR