| |
Posté le 25 octobre 2005 - 13:27 |
bj
j'essaies le clonage d'un bouton
j'ai créé un bouton en dehors d'1 fen = ok
puis champclone (bouton1"clone",10,10) = ok
je n'arrive pas à accéder uax propriétés de "clone"
j'essaies via indirection:
{clone}..nom="bt2" bt2..hauteur
mais rien ???
merci !! |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 13:45 |
ops j trouvé
j'ai oublié les " auteur de clone
par contre, si j'ecris {"clone"}..nom="bt2" bt2..hauteurP
windev me dit que bt2 n'existe pas |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 13:45 |
salut
il faut toujours utiliser {clone,indchamp}.. pour accèder aux propriétés du bouton issu du clonage |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 14:20 |
Bonjour, La deuxième ligne ne fonctionnera pas, car au moment de la compilation le bouton en question n'existe pas, et on ne peut pas le modifier. Donc tu dois utiliser ceci: Pour créer le bouton ChampClone(bouton1,"BT2",10,10) Pour modifier ces propriétés: {"BT2"}..hauteur = 20 Ou utiliser une variable pour stocker le nom du bouton NomChampClone est une chaine = "BT2"
ChampClone(bouton1,nomchampclone,10,10) {nomchampclone}..hauteur = 20
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 15:37 |
j'ai un champ libellé "MAC_1" et je fait
NouveauNom = "MAC_2" ChampClone(MAC_1,NouveauNom,x,y) {NouveauNom}..Libellé = NouveauNom {NouveauNom}..Libellé ="R31" {NouveauNom}..Etat = AffichageSeulement {NouveauNom} = "" {NouveauNom}..Visible = Vrai {NouveauNom}..CouleurFond = CouleurFond {NouveauNom}..Couleur = iGrisFoncé {NouveauNom} = "Contenu du libellé" |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 15:48 |
si tu fais champclone(bouton1,"clone",10,10) alors l'indirection est {"clone"}..x = 5 // chaine de caractère entre les { } par exemple
bon dev !
"lolodev" <l_lolodev@hotmail.com> a écrit dans le message de news: 435e0193$1@news.pcsoft.fr...
bj
j'essaies le clonage d'un bouton
j'ai créé un bouton en dehors d'1 fen = ok
puis champclone (bouton1"clone",10,10) = ok
je n'arrive pas à accéder uax propriétés de "clone"
j'essaies via indirection:
{clone}..nom="bt2" bt2..hauteur
mais rien ???
merci !!
|
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 16:24 |
lolodev a écrit :
bj
j'essaies le clonage d'un bouton
j'ai créé un bouton en dehors d'1 fen = ok
puis champclone (bouton1"clone",10,10) = ok
je n'arrive pas à accéder uax propriétés de "clone"
j'essaies via indirection:
{clone}..nom="bt2" bt2..hauteur
mais rien ???
merci !!
Bonjour bien des erreurs !
cNomClone est une chaine = "Clone" champclone (bouton1,cNomClone,10,10)
{cNomClone}..nom="bt2" // IMPOSSIBLE le nom du champ est affecté via ChampClone et est le contenu de cNomClone : "Clone"
{cNomClone,indChamp}..hauteur => ok // L'indirection interprète le CONTENU de la chaine savoir "Clone" Equivalent : {"Clone",indChamp}..hauteur => ok
++ R&B WDForge.org |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2005 - 18:24 |
wep
merci pour tout ça j'arrive à accéder aux propriétés du bouton clone
j'essaie de créer une amtrice de boutons en fct d'items recupérer dans une table et chaque clic doit alimenter une autre table (IHM)
comme fais je pour accéder aux evt d'un bouton cloné ??
bonne soirée |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 09:08 |
Il suffit de mettre l'appel dans le code du bouton "source". Une astuce, si le code change d'un bouton cloné à l'autre: il suffit de mettre le code en question dans la propriété "note" du clone. Dans le code de bouton source, il faut ensuite "compiler" le code présent dans les notes, et l'executer. De cette façon, pour changer le comportement d'un clone, il suffit de modifier ses notes !
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 09:43 |
merci mais pas tout compris sur les notes
le clic d'un bouton va renvoyer vers une fonction qui enregistrera apres verification de contraintes dans une table des info.
donc je dois passer en paramétre le nom du bouton. je ne vois pas comment recupérer l'unique propriété clic du bouton cloné ?? |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 11:26 |
Dans le code de clic du bouton source, tu mets ceci: sResultat est une chaîne sResultatCompile est une chaîne
si moimeme..note <> "" sResultatCompile = Compile ("Proc_dynamique", Moimeme..note) SELON sResultatCompile CAS "" : sResultat = ExécuteTraitement("Proc_dynamique", trtProcédure ) CAS "ERR" : sResultat = "Compilation impossible. "+ RC +ErreurInfo() AUTRE CAS : sResultat = sResultatCompile FIN fin
Ensuite, quand tu clones ton bouton: ChampClone(bouton1,"BT2",10,10) {"BT2"}..note = "info(""Je suis dans le bouton BT2."")"
Ici, le code ne fait qu'afficher un message, mais tu peux y mettre ce que tu veux. Lors du clic sur BT2, le code présent dans ses notes sera executé.
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 11:56 |
tu peux aussi nommer tes clones d'une manière "pratique"
ex, si ton champ source se nomme "source" les clones peuvent se nommer "clone_1_1", "clone_2_1"... afin de stocker la position en x et en y du bouton dans ta matrice de boutons
ensuite dans le code de clic sur le bouton tu utilises moimeme..nom pour connaitre le nom du bouton qui a été cliqué et avec les fonctions de gestion des chaines tu récupères les infos que tu as stockées dans le nom du champ cloné (x et y dans l'exemple précédent)...
voilà c'était une idée bon dev eric l
"lolodev" <l_lolodev@hotmail.com> a écrit dans le message de news: 435e473f$1@news.pcsoft.fr...
wep
merci pour tout ça j'arrive à accéder aux propriétés du bouton clone
j'essaie de créer une amtrice de boutons en fct d'items recupérer dans une table et chaque clic doit alimenter une autre table (IHM)
comme fais je pour accéder aux evt d'un bouton cloné ??
bonne soirée
|
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 13:05 |
merci j'ai essayé sur le clic du bouton origine moimeme..nom renvoie le nom du bouton clone.
mais comment je peux connaître le bouton "clone" qui a été cliqué et coder sur l'evt clic de ce bouton ? |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 13:24 |
j ecris:
souschaine est une chaine = extraitchaine(moimeme..nom,1,'-')
erreur: l'identificateur souschaine n'est pas accessible
effectivement il n'est pas créé tant que les clones ne le sont pas ... |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 15:26 |
Voici un exemple concret: Ici, je crée des boutons en fonction du contenu d'un fichier HF. Le but est de construire dynamiquement une barre de lancement rapide d'applications: NumChamp est un entier PositionX est un entier PositionY est un entier
PositionX = BtnExemple..X + 5 PositionY = BtnExemple..Y
POUR TOUT Application SUR Rang NumChamp++ SI ChampExiste("btnToTo" + NumChamp) ALORS ChampSupprime("btnToTo" + NumChamp) FIN ChampClone(BtnExemple,"BtnToto" + NumChamp,PositionX,PositionY) {"btnToTo" + NumChamp}..Note = "LanceAppli(""" + Application.Chemin + """, exeInactif, Faux,""" + fExtraitChemin(Application.Chemin,fDisque) + fExtraitChemin(Application.Chemin,fRépertoire) + """)" {"btnToTo" + NumChamp}..Libellé = Application.Nom {"btnToTo" + NumChamp}..Image = Application.NomIcone {"btnToTo" + NumChamp}..Bulle = Application.Nom {"btnToTo" + NumChamp}..Visible = Vrai PositionX += BtnExemple..X + BtnExemple..Largeur + 0 SI NumChamp modulo 10 = 0 ALORS PositionY += BtnExemple..Hauteur + 5 PositionX = BtnExemple..X FIN FIN
Et ici, le code de l'événement clic sur le bouton BtnExemple:
sResultatCompile est une chaîne
sResultatCompile = Compile("TrtBouton",MoiMême..Note) SELON sResultatCompile CAS "" : ExécuteTraitement("TrtBouton", trtProcédure) CAS "ERR" : Erreur("Compilation impossible. "+RC+ErreurInfo()) AUTRE CAS : Erreur("Erreur inconnue : " + sResultatCompile) FIN
Le clic sur l'un des clones lance bien l'application qui lui a été affecté.
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2005 - 15:57 |
hum j testé ok
sauf que moi je ne veux pas lancer une application mais effectuer un test de contrainte en fct du bouton cloné cliqué.
par exemple: j la matrice de bouton cloné suivante:
clone_a_1 clone_b_1 clone_c_1 clone_a_2 clone_b_2 clone_c_2 ...
j'arrive bien à créer cette matrice. par contre, je n'arrive pas à recupérer le nom de clone_a_1 afin de tester la contrainte (par exemple) un bouton colone "a" doit être cliqué avant un bouton colonne "b".
dans l'evt du bouton origine, j'ecrit : sschaine est une chaine sschaine = extraitchaine (moimeme..nom,1,"-") et la j une erreur comme quoi sschaine n'est pas déclarée ... |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2005 - 08:50 |
Bizarre, si je mets le code suivant dans l'événement clic de mon bouton BtnExemple ( donc sans passer par les notes, ou la compilation dynamique ): ssChaine est une chaîne ssChaine = MoiMême..Nom Info(MoiMême..Nom)
Ca fonctionne, en cliquant sur un bouton j'ai une fenetre qui m'affiche le nom du bouton. Est-ce que tu as essayé d'appeler une procédure en passant le nom du bouton en paramètre, pour tester la contrainte dans la procédure ?
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2005 - 10:30 |
oops
j trouvé ... souschaine doit être declaré dans la fenêtre principale, pas dans le code bouton origine !!
merci !! |
| |
| |
| | | |
|
| | |