PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → Afficher Libellé Bouton d'apr=E
Afficher Libellé Bouton d'apr=E
Iniciado por Alain, 11,ago. 2004 11:32 - 5 respuestas
Publicado el 11,agosto 2004 - 11:32
Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN
Publicado el 11,agosto 2004 - 16:55
Salut,

ce n'est pas très sorcier, il suffit de faire :

{"Bouton" + i}

tu peux aussi préciser :

{"Bouton" + i, indChamp}

Cela remplace et fonctionne de la même manière que l'appel du bouton de la
forme : Bouton1
Par contre, dans les arguments certaines fonctions qui peuvent être
contruite directement avec une chaine de caractères, tu peux utiliser
directement : "Bouton" + i

Voilà, c'est tout !

Bon dev,

Olivier

"Alain" <aweb@free.fr> a écrit dans le message de
news:mn.5a3c7d489c6e5f03.15059@free.fr...

Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN

Publicado el 11,agosto 2004 - 22:02
Ce code ne fonctionne pas

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
{"Bouton" + i} = ChaîneConstruit({"Bouton" + i}, Menu.Titre_Menu)
FIN
FIN


Le 11/08/2004, Olivier Priser :
Salut,

ce n'est pas très sorcier, il suffit de faire :

{"Bouton" + i}

tu peux aussi préciser :

{"Bouton" + i, indChamp}

Cela remplace et fonctionne de la même manière que l'appel du bouton de la
forme : Bouton1
Par contre, dans les arguments certaines fonctions qui peuvent être
contruite directement avec une chaine de caractères, tu peux utiliser
directement : "Bouton" + i

Voilà, c'est tout !

Bon dev,

Olivier

"Alain" <aweb@free.fr> a écrit dans le message de
news:mn.5a3c7d489c6e5f03.15059@free.fr...

Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN
Publicado el 11,agosto 2004 - 22:05
Ce code fonctionne, mais si quelqu'un trouve mieux...


// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)
SELON i
CAS 1 : Bouton1 = Titre
CAS 2 : Bouton2 = Titre
CAS 3 : Bouton3 = Titre
CAS 4 : Bouton4 = Titre
CAS 5 : Bouton5 = Titre
FIN
FIN
FIN


Merci à Olivier pour son aide



Alain :
Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN
Publicado el 12,agosto 2004 - 13:48
Dans ce cas là, tu peux faire :

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)
{"Bouton" + i }..Libellé = Titre
FIN
FIN

donc, tu peux faire directement : {"Bouton" + i }..Libellé =
ChaîneConstruit({"Bouton" + i}..libellé, Menu.Titre_Menu)

Mais je ne comprends pas très bien car normalement ChaîneConstruit s'utilise
pour des chaines existantes comportant des % à remplacer et je ne les vois
pas dans ton cas....
et le 1er argument doit être le format soit si on se réfère à ton code :
{"Bouton" + i} qui devrait alors contenir des %.
Voir l'aide en ligne...

Pour mieux comprendre ce type de construction, regarde sous les
indirections...

J'espère t'avoir aidé !

Bon dev,

Olivier


"Alain" <aweb@free.fr> a écrit dans le message de
news:mn.5cb57d48442ce060.15059@free.fr...

Ce code fonctionne, mais si quelqu'un trouve mieux...


// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)
SELON i
CAS 1 : Bouton1 = Titre
CAS 2 : Bouton2 = Titre
CAS 3 : Bouton3 = Titre
CAS 4 : Bouton4 = Titre
CAS 5 : Bouton5 = Titre
FIN
FIN
FIN


Merci à Olivier pour son aide



Alain :
Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN

Publicado el 12,agosto 2004 - 21:12
Les Boutons sont dans une Cellule.


Les Boutons ont pour Nom: Bouton1, Bouton2, ...

Chaque Bouton a pour Libellé: %1



Dans le code de la Cellule:

Initialisation de Cellule (serveur)

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS

//-fonctionne pas-
//{"Bouton" + i }..Libellé = ChaîneConstruit({"Bouton" + i}..libellé,
Menu.Titre_Menu)

Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)

//-fonctionne pas-
//{"Bouton" + i }..Libellé = Titre

selon i
cas 1 : Bouton1 = Titre
cas 2 : Bouton2 = Titre
cas 3 : Bouton3 = Titre
cas 4 : Bouton4 = Titre
cas 5 : Bouton5 = Titre
FIN
FIN
FIN


Merci Olivier
Ton aide m'aide ;)



Olivier Priser :
Dans ce cas là, tu peux faire :

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)
{"Bouton" + i }..Libellé = Titre
FIN
FIN

donc, tu peux faire directement : {"Bouton" + i }..Libellé =
ChaîneConstruit({"Bouton" + i}..libellé, Menu.Titre_Menu)

Mais je ne comprends pas très bien car normalement ChaîneConstruit s'utilise
pour des chaines existantes comportant des % à remplacer et je ne les vois
pas dans ton cas....
et le 1er argument doit être le format soit si on se réfère à ton code :
{"Bouton" + i} qui devrait alors contenir des %.
Voir l'aide en ligne...

Pour mieux comprendre ce type de construction, regarde sous les
indirections...

J'espère t'avoir aidé !

Bon dev,

Olivier


"Alain" <aweb@free.fr> a écrit dans le message de
news:mn.5cb57d48442ce060.15059@free.fr...

Ce code fonctionne, mais si quelqu'un trouve mieux...


// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Titre est une chaîne = ChaîneConstruit({"Bouton" + i},
Menu.Titre_Menu)
SELON i
CAS 1 : Bouton1 = Titre
CAS 2 : Bouton2 = Titre
CAS 3 : Bouton3 = Titre
CAS 4 : Bouton4 = Titre
CAS 5 : Bouton5 = Titre
FIN
FIN
FIN


Merci à Olivier pour son aide



Alain :
Comment faire pour que le 1 de Bouton1 prenne la valeur de i ?
J'ai essayé Bouton[i] et Bouton{i} mais cela ne fonctionne pas.

// Parcours séquentiel pour afficher le nom
// des Boutons de tout le Menu
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton1 = ChaîneConstruit(Bouton1, Menu.Titre_Menu)
FIN
FIN


//J'ai aussi essayé le code ci-desous
//mais cela ne fonctionne pas non plus.
i est un entier
POUR i = 1 A HNbEnr(Menu,hEtatTous)
Bouton est une chaîne = "Bouton" +{i}
HLit(Menu,i)
SI HEtat() = hEtatActif ALORS
Bouton = ChaîneConstruit(Bouton, Menu.Titre_Menu)
FIN
FIN