Traduction pb callbyname

Résolu
azghamoth Messages postés 2 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 1 février 2005 - 1 févr. 2005 à 10:01
azghamoth Messages postés 2 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 1 février 2005 - 1 févr. 2005 à 14:29
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

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
1 févr. 2005 à 12:43
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
azghamoth Messages postés 2 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 1 février 2005
1 févr. 2005 à 14:29
Merci beaucoup c'est exactement ce qu'il me fallait.
0
Rejoignez-nous