Propriété ".Caption" des objets des Forms

PhilippeROB Messages postés 5 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 17 octobre 2005 - 7 oct. 2005 à 15:01
acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006 - 8 oct. 2005 à 12:57
Bonjour le forum,

J'ai conçu un projet constitué de plusieurs formes qui comportent chacune plusieurs objets (ComboBox, ListBox, CheckBox, ScrolBar...)

Je souhaiterais nommer ces objets par l'intermédiaire d'un tableau.

Exemple ->
Form1.CommandButton.caption=Tab(i,j)
avec i l'indice de langue et j, le nom de l'objet.

Imaginons :
- Tab(1,53)="continuer" en français
- Tab(2,53)="continuar" en Espagnol
- Tab(3,53)="continu" en Anglais
etc..

Mon code ne fonctionne pas et le fichier log m'indique le message suivant :
"La propriété caption dans CommandButton doit être une chaine entre guillemets"

Dois je comprendre que je dois nécessairement tapper en dur le texte des objets.
Ou puis je m'en sortir autrement ?

Bien cordialement

Philippe

5 réponses

Sniper_Vgaerr Messages postés 113 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 14 août 2006
7 oct. 2005 à 15:09
Salut,

Essaye de faire comme çà :
Dim Valeur as string
Valeur = Tab(i,j)
Form1.CommandButton.Caption = Valeur

@+
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 oct. 2005 à 15:25
salut,
plus rapidement qu'en passant par une variable, je te propose plutôt :
Form1.CommandButton.Caption=CStr(Tablo(i,j))

en effet, d'abord enregistrer en String, mais surtout, ne pas utiliser un tableau nommé TAB qui est un mot réservé
PCPT
0
PhilippeROB Messages postés 5 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 17 octobre 2005
7 oct. 2005 à 15:41
Je vous remercie de bien avoir voulu me répondre. J'avais envisagé vos deux réponses avant de soumettre une question si banale mais aucune ne débloque le programme.

Il semble, d'après le message du fichier Log, que je sois obligé d'écrire le texte entre deux guillemets et que je ne puisse ni passer par une variable intermédiaire, ni forcer la chaine de caractères par la fonction convert string. Pour tout dire, cela m'étonne beaucoup.

Philippe
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 oct. 2005 à 16:05
salut
[VB6]

pas d'erreur chez moi.
essai ce code, s'il fonctionne, c'est que ton erreur vient d'ailleurs. peut-être la déclaration de ton type de tableau....


'ma Form1 contient 6 CommandBoutton1 indexés de 0 à 5
Dim TabLangues(1, 2) As String
'
'
Private Sub Form_Load()
'init tab
TabLangues(0, 0) = "boutton1"
TabLangues(0, 1) = "boutton2"
TabLangues(0, 2) = "fermer"
TabLangues(1, 0) = "chk 1"
TabLangues(1, 1) = "hello"
TabLangues(1, 2) = Me.Caption

'nomme
Dim i As Integer
For i = 0 To 5
If i < 3 Then
If i <> 0 Then
Command1(i).Caption = TabLangues(0, Int (i / 2) + 1)
Else: Command1(i).Caption = TabLangues(0, 0): End If
Else
If i <> 5 Then
Command1(i).Caption = TabLangues(1, Int (i / 2) - 1)
Else: Command1(i).Caption = TabLangues(1, 2): End If
End If
Next i
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
8 oct. 2005 à 12:57
essaye peut être ca :

Form1.CommandButton.caption=chr(34) & Tab(i,j) & chr(34)
0
Rejoignez-nous