Traduction pb callbyname

Résolu
Signaler
Messages postés
2
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
1 février 2005
-
Messages postés
2
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
1 février 2005
-
Bonjour,



voilà mon problème:



Je souhaite effectuer la traduction d'un logiciel de la façon suivante.



On lit un fichier *.lng comme ci dessous:



Expl : Français.lng:

[Form1]

Label1(0):caption:YOUPI

label1(1):caption:RETEST

command1:caption:YOUPI

!NEXT



Une fonction permettant de lire le fichier stocke dans un tableau tmp(2) les valeurs de la facon suivante:



tmp=split(Cline,":") (Cline est la ligne lut dans le fichier)



une varaible Block récupère aussi la valeur entre [] ici Form1



une fois cela fait on obtient (pour une ligne):

tmp(0)=label1(0) ; tmp(1)=caption ; tmp(2)=YOUPI



Le but étant donc de modifier à l'aide de CallByName la propriété de
Form1.label1(0).caption en lui affectant la valeur de tmp(2)



ce qui donnerait :

Callbyname Block & tmp(0), tmp(1),vblet,tmp(2)



Sauf que la je suis blocké car callbyname recquiert un objet et je ne sais pas comment faire

pour qu'un objet référence Form1.label1(0) car block & tmp(0) est de type string.



Ma question est certainement spéciale voire débile mais bon ...



Merci d'avance

2 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

tu fais un truc dans le genre de :

Dim f As Form
For Each f In Forms
If f.Name = Block
Then
Exit For
End If
Next
'si pas d'index
CallByName f.Controls(tmp(0)), tmp(1), VbLet, tmp(2)
'si index : tmp(3) = l'index
CallByName f.Controls(tmp(0)).Item(tmp(3)), tmp(1), VbLet, tmp(2)

ShareVB
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
1 février 2005

Merci beaucoup c'est exactement ce qu'il me fallait.