4D v14

Présentation des variables

Accueil

 
4D v14
Présentation des variables

Présentation des variables    


 

 

Bonjour,

dans ce chapitre nous allons apprendre à définir les types de variables, comprendre leur portée et donc leur cycle de vie et les bases de leur programmation.

Au cours des chapitres précédents, nous avons utilisé ponctuellement des variables (vNbRecords...). Voyons maintenant en quoi elles consistent, comment elles fonctionnent et, suivant leur définition, quelles sont les limites de leur utilisation.
Si nous comparons le fonctionnement de 4D à une entreprise, nous pouvons en déduire les points suivants :

  • Il y a plusieurs services dans l’entreprise qui réalisent chacun une tâche particulière, souvent indépendamment des autres services.
  • Chaque service est prévu pour réaliser un certain nombre de tâches dans un ordre donné.
  • Une tâche peut être interrompue car elle dépend du résultat d’un autre traitement.
  • Ce nouveau traitement utilisera probablement des informations provenant du traitement précédent, mais également des informations qui lui sont propres.

Si on traduit cela avec un exemple pratique :

  • L’entreprise a une usine de production, un service commercial et un service relations humaines.
  • Le service Paye centralise les heures réalisées par les autres services et réalise les paies, calcule le nombre de jours de congés, etc.
  • Le traitement de la paie implique de connaître le taux des heures supplémentaires ainsi que les différents taux de cotisations. Ces informations sont fournies par le service juridique qui tient à jour la documentation.

Et maintenant faisons le parallèle avec 4D :

  • 4D peut gérer plusieurs process simultanément (impression, visualisation du contenu de plusieurs tables, palettes d’outils, imports, serveur Web, réponse à des Web services, etc ...)
  • La méthode qui s’exécute dans chaque process peut comporter plusieurs phases.
  • Elle peut faire appel à d’autres méthodes au sein du même process (collègues du même service), ou demander des informations à un autre process (collègue dans un autre service)

Pour chacun des cas nécessaires de communication, nous disposons de variables adaptées :

  • Pour disposer d’informations accessibles (en lecture écriture) à tous les process, nous utiliserons des variables interprocess. Pour que 4D les considère comme telles, il faut les préfixer par les symboles <>
    (Ex : <>DateDuJour, <>TableauTaux- Horaires, etc.)
  • En cours d’exécution dans un process, une méthode peut avoir besoin d’une information pour elle seule. Dans ce cas, ce sera une variable locale, reconnue dans 4D par le symbole $ qui la préfixe
    (Ex : $Compteur, $ZoneTampon, etc.)
  • Toutes les autres variables (sans préfixe) sont des variables process, utilisables par plusieurs méthodes dans un même process.
    (Ex : vNbRecords, ...)

La dernière remarque concernant le besoin d’information provenant du service juridique permet d’introduire la notion de communication entre les process.

Il est en effet possible avec 4D de commander la lecture ou l’écriture de variables d’un process vers un autre (et même d’un poste client vers le serveur). (LIRE VARIABLE PROCESS et ECRIRE VARIABLE PROCESS)

Pour prendre un autre exemple de la vie courante, dans une école :

  • la variable locale est le cahier de l’élève (ou sa feuille de brouillon) : lui seul la voit, peut écrire dessus et la relire
  • la variable process est le tableau noir, utilisable et visible par tous les élèves d’une même classe, chacun pouvant lire, écrire, effacer le tableau
  • la variable interprocess est le panneau d’affichage à l’entrée de l’école sur lequel figureront les résultats des examens (tous les élèves de toutes les classes ainsi que tous les professeurs et le proviseur y auront accès)

La communication interprocess consiste pour un professeur à venir lire ce qui est écrit ou écrire sur le tableau de la classe (variable process) de son collègue ou sur le panneau d’affichage de l’école (variable interprocess).

La portée des variables expliquée, nous pouvons en détailler le mode de fonctionnement.

Il existe deux types de variables dans 4D :

  • les variables simples (une seule valeur)
  • les tableaux (plusieurs valeurs).

Vous pouvez définir vos variables simples avec mêmes types que les champs (Texte, Entier long, Date, Heure, BLOB ...) + le type Pointeur.
Les tableaux acceptent les mêmes types à l’exception des types BLOB et Heure.

Le cycle de vie d’une variable est le suivant :

Péroide de la vieVariable simpleTableauCommentaires
Naissance = InitialisationC_ENTIER LONG(NbJours)TABLEAU TEXTE(TabDates;0)En mode Unicode, les types Alpha et Texte sont identiques
INSERER LIGNES(TabDates;1)
TabDates{1}:=!06/05/2012!
Croissance = ValorisationNbJours:=25OU
AJOUTER A TABLEAU (TabDates;!06/05/2012!)
Compétances au service de la nationBoucle($i;1;NbJours)$DateDépart:=TabDates{1}+18Les variables sont en Lecture/Ecriture
"développement" = UtilisationFin de boucle
Mort = Effacement et libération de la mémoireEFFACER VARIABLE (NbJours)EFFACER VARIABLE(TabDates)La variable existe toujours, son contenu est réinitialisé

Voyons ceci avec un exemple :

Pour nommer vos variables, prenez l’habitude de respecter une règle afin de vous y retrouver.

  • Soit vous utilisez une nomenclature “dure”
  • soit vous optez pour des noms de variables “parlants” et donc plus faciles à lire.

Pour commencer, je vous conseille des noms clairs et lisibles. Vous pourrez renommer vos variables ultérieurement grâce à la fonction de remplacement global de 4D.

Comme dans tout langage, les variables sont incontournables dans 4D. Vous devrez en user et en abuser.

Attention, l’essence même de certaines variables ne permet pas de les visualiser dans un formulaire :

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Présentation des variables
Nom intl. : Overview of variables

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v13)
Autoformation ( 4D v14)