dr_ATTRIBUTS VERS TABLEAU

4D - Documentation   Français   English   German   4D Draw 2004, Commandes par thèmes   4D Draw 2004, Liste alphabétique des commandes   Retour   Précédent   Suivant

version 6.0


dr_ATTRIBUTS VERS TABLEAU (zone; cible; numAttribut; tabAttribut)

ParamètreTypeDescription
zoneEntier longZone 4D Draw
cibleEntier long-1 = Tous, 0 = Sélection, >0 = ID d'un groupe
numAttributEntier longCode de l'attribut
tabAttributTableauTableau recevant la valeur pour l'attribut

Description

La commande dr_ATTRIBUTS VERS TABLEAU remplit le tableau tabAttribut avec la valeur de l'attribut désigné par le troisième paramètre, et ce pour chaque objet désigné par cible. La liste des codes se trouve à l'Annexe A, Codes d'attributs.

Si cible est égal à -1, dr_ATTRIBUTS VERS TABLEAU retourne dans le tableau la valeur prise par l'attribut pour l'ensemble des objets de zone. Les objets groupés seront considérés comme un seul et même objet. S'il n'y a pas uniformité à l'intérieur du groupe pour numAttribut, la valeur renvoyée dans le tableau sera -32000 ou "*****" en fonction du type de tableau utilisé.

Si cible est égal à 0, dr_ATTRIBUTS VERS TABLEAU retourne dans le tableau la valeur prise par l'attribut pour chaque objet de la sélection courante. Les objets groupés seront considérés comme un seul et même objet. S'il n'y a pas uniformité à l'intérieur du groupe pour numAttribut, la valeur renvoyée dans le tableau sera - 32000 ou "*****" en fonction du type de tableau utilisé.

Si cible est supérieur à 0, dr_ATTRIBUTS VERS TABLEAU interprète la valeur passée comme étant le numéro d'identification d'un groupe d'objets et renvoie, pour chacun d'entre eux, la valeur de l'attribut passé en second paramètre. Seul le numéro d'identification d'un groupe d'objets est autorisé.

Si l'attribut n'est pas en adéquation avec la sélection, dr_ATTRIBUTS VERS TABLEAU renvoie -32000 ou "*****" en fonction de la nature du tableau passé en quatrième paramètre.

Par exemple, si vous passez 24 en second paramètre et que votre sélection courante est un groupe de lignes, vous obtiendrez dans le tableau la valeur -32000 (24 correspondant à l'attribut "Coins arrondis").

Exemple

Cet exemple montre comment remplir un tableau avec les numéros d'identification de tous les objets de zone, y compris les numéros d'identification des groupes, et d'en remplir un second avec leur type.

   C_ENTIER LONG($i;$j)   ` Déclaration des variables   
   TABLEAU ENTIER LONG(TabID;0)
      ` Initialisation du tableau des numéros d'identification 
   TABLEAU ENTIER LONG(TabType;0)
      ` Initialisation du tableau des types
   TABLEAU ENTIER LONG(GrpID;0)
      `Initialisation du tableau des numéros d'identification des groupes
   TABLEAU ENTIER LONG(GrpType;0)
      ` Initialisation du tableau des types des différents groupes
   $i:=0   ` Initialisation de la variable à 0
   Si (dr_Compter (LaZone;-1)>0)
         ` Si la zone n'est pas vide
      dr_ATTRIBUTS VERS TABLEAU (LaZone;-1;0;TabID)
         ` On remplit le tableau avec les ID des objets non groupés
      dr_ATTRIBUTS VERS TABLEAU (LaZone;-1;1;TabType)
         ` On remplit le tableau avec les types des objets non groupés
      Repeter 
         $i:=$i+1   ` On incrémente le compteur d'une unité
         Si(TabType{$i}=10)
               ` Si l'objet est un groupe
            dr_ATTRIBUTS VERS TABLEAU (LaZone;TabID{$i};0;GrpID)
               ` On rentre dans le tableau le numéro d'identification du groupe
            dr_ATTRIBUTS VERS TABLEAU (LaZone;TabID{$i};1;GrpType)
               ` On rentre dans le tableau le type du groupe
            INSERER LIGNES(TabID;$i+1;Taille tableau(GrpID))
               ` Dans TabID, on insère un nbre de lignes équivalant au nombre de
               ` lignes du tableau des ID des groupes
            INSERER LIGNES(TabType;$i+1;Taille tableau(GrpType))
               ` Dans TabType, on insère un nbre de lignes équivalant au nombre
               ` de lignes du tableau des types de groupes
            Boucle ($j;1;Taille tableau(GrpID))
               TabID{$i+$j}:=GrpID{$j}
                  ` Copie de l'ID du groupe dans le tableau principal, TabID
               TabType{$i+$j}:=GrpType{$j}
                  ` Copie du type du groupe dans le tableau principal, TabType
            Fin de boucle 
         Fin de si 
      Jusque ($i=Taille tableau(TabID))
   Sinon 
      ALERTE("Votre zone 4D Draw est vide.")
   Fin de si 

Référence

dr_Lire ID, dr_TABLEAU VERS ATTRIBUTS.


4D - Documentation   Français   English   German   4D Draw 2004, Commandes par thèmes   4D Draw 2004, Liste alphabétique des commandes   Retour   Précédent   Suivant