version 6.0
dr_Lire ID (zone; cible; index) Entier long
| Paramètre | Type | Description | |
| zone | Entier long | Zone 4D Draw | |
| cible | Entier long | Eléments visés | |
| 1 = Tous, 0 = Objets sélectionnés, >0 = ID de groupe | |||
| index | Entier long | Rang occupé par l'objet | |
| Résultat | Entier long | Numéro d'ID de l'objet |
Description
La commande dr_Lire ID retourne le numéro d'identification de l'objet désigné par cible et index.
Ce numéro d'identification est utilisé par de nombreuses commandes 4D Draw. Il permet d'identifier l'objet sur lequel vous souhaitez agir. Chaque élément a son propre numéro d'identification. Ce numéro est unique et ne sera jamais réattribué à un autre élément, même si ce dernier venait à disparaître de zone.
cible peut prendre différentes valeurs qui sont -1, 0 ou une valeur supérieure à 0. En fonction de sa valeur, ce paramètre indique les objets qui sont à considérer :
Lorsque cible est égal à -1, tous les objets figurant dans zone sont pris en compte. Parmi tous ces objets, vous en désignez un à l'aide du paramètre index et la fonction retourne le numéro d'identification.
lorsque cible est égal à 0, seuls les objets sélectionnés sont pris en compte. Parmi cette sélection, vous désignez un objet à l'aide du paramètre index, et la fonction retourne le numéro d'identification.
lorsque cible est supérieur à 0, il indique le numéro d'identification de plusieurs objets qui ont été groupés. Ce numéro exprime le groupe dans son entité. C'est à l'intérieur de ce groupe qu'on indiquera, par l'intermédiaire du paramètre index, l'objet à considérer. De cet objet, vous obtenez en retour de fonction le numéro d'identification.
Lors d'une sélection multiple, il peut être intéressant de n'agir que sur un seul élément. Or, cet élément n'est reconnaissable que par son numéro d'identification. C'est par l'intermédiaire du paramètre index que vous indiquez le rang occupé par l'objet dans la liste. Vous obtenez en retour de fonction son numéro d'identification.
L'ordre des objets dans une liste est régenté de la façon suivante : chaque objet nouvellement créé est placé au premier plan, les plans sont empilés et s'incrémentent de 1 en 1. Il y a donc une corrélation entre l'ordre de création de l'objet et le numéro du plan sur lequel est placé l'objet.
Cette correspondance prend fin lors d'un changement entre les différents plans. Ainsi, si vous placez le huitième objet au dernier plan, il aura pour index 1 et le premier objet créé aura, après ce changement volontaire de plan, l'index 2. En effet, le calcul de l'index se fait à partir du plan le plus reculé et en fonction du contexte.
Dans le cadre d'une sélection partielle des éléments de la zone, si index est égal à 1, nous obtiendrons en retour de fonction le numéro d'identification de l'élément placé sur le plan le plus reculé de la sélection. En revanche, si nous considérons l'ensemble des éléments de la zone, nous obtiendrons le numéro d'identification de l'élément placé au dernier plan.
Exemple
Le but de cet exemple est d'extraire d'un groupe d'objets dont le numéro d'identification est 5 celui qui se trouve au second plan en partant du fond et de le coller dans un champ image libellé "Logo".
Identité:=dr_Lire ID (LaZone;5;2) [Société]Logo:=dr_Zone vers image (LaZone;Identité)