4D v16.3Les tableaux et le langage 4D |
||
|
4D v16.3
Les tableaux et le langage 4D
Les tableaux et le langage 4D
Les tableaux sont des variables 4D. Comme toute variable, un tableau a une portée (une aire d'action) et suit les règles du langage 4D, à certaines différences près. Vous pouvez créer des tableaux locaux, process ou interprocess, par exemple : ARRAY INTEGER($aiCodes;100) ` Ceci crée un tableau local de 100 valeurs entières sur 2 octets La portée de ces tableaux est identique à celle des autres variables locales, process et interprocess. Vous déclarez un tableau local lorsque son nom commence par le signe dollar ($). La portée d'un tableau local est la méthode dans laquelle il est créé. Le tableau est effacé lorsque la méthode est terminée. Des tableaux locaux de même nom peuvent avoir des types différents dans deux méthodes différentes, car ce sont en réalité des variables différentes n'ayant pas la même portée. Lorsque vous créez un tableau local dans une méthode formulaire ou objet, ou dans une méthode projet appelée comme sous-routine par l'un des deux types de méthodes précédents, le tableau est créé puis effacé à chaque fois que la méthode formulaire ou la méthode objet est utilisée. En d'autres termes, le tableau est créé puis effacé pour chaque événement formulaire. Par conséquent, vous ne pouvez pas utiliser de tableaux locaux dans des formulaires, ni pour l'affichage ni pour l'impression. Comme dans le cas des variables locales, il est préférable d'utiliser les tableaux locaux à chaque fois que c'est possible. Vous réduisez ainsi la quantité de mémoire nécessaire pour votre application. Vous déclarez un tableau process lorsque le nom du tableau débute par une simple lettre. La portée d'un tableau process est le process dans lequel il a été créé. Le tableau est effacé lorsque le process se termine ou est tué. Un tableau process dispose d'une instance créée automatiquement pour chaque process. Par conséquent, le tableau est du même type pour tous les process. En revanche, son contenu est particulier à chaque process. Vous déclarez un tableau interprocess lorsque son nom commence par <> (sous Windows et Mac OS) ou par le signe "diamant" (Mac OS uniquement — Option+v sur un clavier français). La portée d'un tableau interprocess est la totalité des process pendant la session de travail. Il convient de ne les utiliser que pour partager des données ou transférer des informations entre les process. Astuce : Quand vous savez d'avance qu'un tableau interprocess sera utilisé par plusieurs process, ce qui peut provoquer des conflits, protégez l'accès à ce tableau par un sémaphore. Pour plus d'informations, reportez-vous à l'exemple de la commande Semaphore. Note : Vous pouvez utiliser des tableaux process et interprocess dans des formulaires pour créer des objets de formulaire tels que des zones de défilement, des listes déroulantes, etc. Vous pouvez passer un tableau en tant que paramètre à une commande 4D ou à une routine d'un plug-in 4D. Cependant, vous ne pouvez pas passer un tableau comme paramètre à une méthode utilisateur. La solution dans ce cas est de passer un pointeur vers le tableau comme paramètre à cette méthode. Pour plus de détails, reportez-vous à la section Tableaux et pointeurs. Contrairement à ce que vous pouvez faire avec des variables de type Texte ou Chaîne, vous ne pouvez pas affecter un tableau à un autre tableau. Pour copier (affecter) un tableau à un autre, utilisez la fonction COPY ARRAY.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |