| Attribuer une information spécifique à un objet | |
|
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 13:56 | |
| J'aimerais pouvoir attribuer une information spécifique à tel ou tel objet. Cette information serait une vameur numérique entière (comme dans un dim n%). En Delphi, cela est possible via la propriété TAG de chaque objet.
Je suggère une nouvelle commande TAG N,V qui mémoriserait la valeur V dans l'objet N, ainsi que la fonction symmétrique TAG(N,V) qui retournerait la valeur V mémorisée avec l'objet N, ou erreur si pas de valeur mémorisée.
| |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 14:41 | |
| Je ne sais pas ce que tu souhaite faire avec mais si c'est pour un objet qui déclenche un évènement, tu peux peut être utiliser NUMBER_CLICK ?...
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 15:21 | |
| Je veux l'utiliser de deux manières différentes, toutes deux importantes pour moi: 1. j'ai une série d'objets (en occurence des scroll_bar et des check), dont les numéros ne se suivent pas forcément. Or, le traitement de leur évènement on_change ou on_click est le même (à un détail près: la ou les variables sur lesquelles il faut intervenir). J'ai donc la même routine évènement. Actuellement, il faut que je fasse un select/case en fonction du numéro de l'objet changé/cliqué pour déterminer la cible de mon traitement. Lourd... J'aimerais pouvoir utiliser TAG(number_change) comme indice dans le tableau dont je veux changer les valeurs, comme dans ceci: - Code:
-
scroll_bar_change: valeur%(tag(number_change)) = position(number_change) return
Actuellement, il faut que je fasse: - Code:
-
scroll_bar_change: select number_change case 17: ind% = 1 case 18: ind% = 2 case 23; ind% = 3 case 31; ind% = 4 end_select valeur%(ind%) = position(number_change)
Imagine que je veuille ajouter un nouvel objet qui décale les numéros d'objet ! La galère ! Alors qu'avec ce que je suggère, il n'y a RIEN à faire ! 2. Je voudrais pourvoir modifier le fonctionnement d'une routine d'évènement, en fonction de critères externes. La valeur du TAG me servirait alors de variable "paramètre" qui serait traité dans la routine évènement. Cela servira par exemple dans le cas d'une fenêtre de saisie en mode modal, pour déterminer d'où elle a été appelée, et d'adapter le fonctionnement des routines évènement en fonction de cela, en particulier pour les validations. J'utiliserais alors la propriété TAG de la FORM ou d'un autre objet de la form, selon le cas. Cela permet de s'affranchir de variables à définir dans le programme principal et qui doivent être chargées et testées un peu partout. Il sera ainsi beaucoup plus facile d'intégrer des modules de saisie préparés séparément, car on ne dépend plus de variables de communication. Et on peut imaginer plein d'autres exemples. Je ne parle que des deux types d'application qui m'intéressent dans l'immédiat. Mais plus globalement, cela concerne tout ceux qui veulent créer un code plus général, plus facilement reprenable dans d'autres programmes. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 13 Juin 2012 - 19:14 | |
| @ Klaus ....et avec le "handle".....????j'ai encore dit une betise....je sors..... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 20:11 | |
| Si j'ai bien compris Klaus, tu souhaites par ce TAG donner un nom à un objet, pour remplacer les variables du style "edit_saisie_nom%" qui représente le N° d'objet de l'edit qui sert à la saisie du nom...
A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 20:44 | |
| Non, ça va beaucoup plus loin que ça. L'option que je propose, ne donne pas une chaîne de caractères à un objet, mais uniquement une valeur numérique. Mais celle-ci est entièrement à la discrétion de l'utilisateur, et pas seulement pour les deux exemples que j'ai cités. Tu peux par exemple l'utiliser pour un compteur de clics, ... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Attribuer une information spécifique à un objet Mer 13 Juin 2012 - 21:17 | |
| Merci pour l'explication, je ne peut que soutenir ta demande...
A+ | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Attribuer une information spécifique à un objet Jeu 14 Juin 2012 - 9:34 | |
| Bonjour, Je ne vois pas encore toutes les possibilités de ce tag, si tu fais cette demande c'est qui tu en en forcement besoin Klaus...
Mais dans un cas comme celui-la, j'essayerai de classer mes objets par type et d'avoir des n° qui se suivent...
Dans ton exemple des scroll_bar je ferai en sorte d'avoir les n° d'objets [17,18,19,20] de manière à pouvoir écrire en une seule ligne ceci : ind% = number_change - 16
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Attribuer une information spécifique à un objet Jeu 14 Juin 2012 - 13:58 | |
| Evidemment, pour le moment, je m'en sorts ainsi, ou dans certains cas avec un select/case. Mais dès qu'on insère un objet, c'est la galère. Et cette option TAG apporte plein d'autres possibilités, que j'ai déjà esquissées un peu. En gros, cela permet d'attribuer une valeur, non gérée par Panoramic et uniquement gérée par l'utilisateur. Cela peut servir à mémoriser n'importe quoi: un compteur, un indicateur d'état pour modifier le fonctionnement d'une routine, le handle d'une form qu'on veut associer à cela, l'adresse d'un string contenant le nom d'une DLL, ... Tout ce qui peut se gérer avec un entier, sans limitation. Cela permet par exemple de détecter si'il s'agit de la première utilisation d'un objet: - Code:
-
if TAG(obj%)=0 ' ici, première utilisation TAG obj%,1 ' faire les initialisations nécesssaires end_if ' ici, traitement normal ... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 14 Juin 2012 - 14:35 | |
| Bon , au risque de prendre une veste, je me lance.... Tu veux un Tag et là on nage tous ou presque apparemment sur sa fonction que l'on a du mal à visualiser. Perso j'y vois une fonction possible pour moi c'est de pouvoir mettre un même Tag à plusieurs objets de façon à créer un groupe d'objets que je puisse cacher ou pas à volonté sans passer par un container. Mais je doute que ce soit dans ton idée ou ne serait ce que dans un bout de celle-ci.... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Attribuer une information spécifique à un objet Jeu 14 Juin 2012 - 14:47 | |
| @Ygeronimi: Le TAG ne sert pas vraiment à ça. Comme son contenu est absolument ignoré par Panoramic, tu ne peux pas espérer faire quelque chose qui ressemblerait à "HIDE tous les objets ayant le tag 17".
Ce qui se rapproche le plus de ton idée, c'est un container. Tous les objets d'un container suivent les propriétés du container, qu'il s'agisse de SHOW/HIDE ou ACTIVE/INACTIVE. Mais un container a un cadre visible qu'on ne peut pas désactiver.
En Panoramic, il n'y a pas la notion de "groupe" d'objets. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 14 Juin 2012 - 14:50 | |
| Autant pour moi....je sors.... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Attribuer une information spécifique à un objet Jeu 14 Juin 2012 - 15:04 | |
| Je suis content que tu participes. Cela contribue à clarifier le propos. Il est vrai que je le présente de mon point de vue, et il est toujours intéressant de le mettre en perspective par rapport à d'autres. donc continue ainsi ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: Attribuer une information spécifique à un objet | |
| |
|
| |
| Attribuer une information spécifique à un objet | |
|