Indefinie

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

version 5


Indefinie (variable) Booléen

ParamètreTypeDescription
variableVariableVariable à tester
RésultatBooléenVrai = Variable actuellement indéfinie
Faux = Variable actuellement définie

Description

Indefinie retourne Vrai si variable n'a pas été définie, et Faux si variable a été définie. Une variable est définie si une valeur lui a été assignée. Une variable est indéfinie si aucune valeur ne lui a été assignée, ou si elle a été effacée par la commande EFFACER VARIABLE.

Si la base de données a été compilée, la fonction Indefinie retourne Faux pour toutes les variables.

Exemples

(1) Avant la version 6 de 4e Dimension, la fonction Indefinie fournissait un moyen sûr de tester si la base était exécutée en mode interprété ou en mode compilé :

   touteVar:="Hello"
   EFFACER VARIABLE(touteVar)
   Si (Indefinie(touteVar))
      ` Vous êtes en mode interprété
   Sinon
      ` Vous êtes en mode compilé
   Fin de si

A compter de la version 6, il est plus pratique d'utiliser la fonction intégrée Application compilee.

(2) Votre application gère un process lorsqu'une commande de menu d'un module particulier de la base est sélectionnée : si le process est déjà créé, vous le passez au premier plan ; s'il n'est pas créé, vous le démarrez. Pour cela, pour chaque module de votre application, vous gérez une variable interprocess <>PID_... initialisée dans la Méthode base Sur ouverture.

Au cours du développement de la base, vous ajoutez de nouveaux modules. Au lieu de devoir à chaque fois modifier la Méthode base Sur ouverture (pour ajouter l'initialisation de la variable <>PID_... correspondante) puis quitter et réouvrir la base pour tout réinitialiser, vous utilisez la fonction Indefinie pour gérer "à la volée" l'ajout d'un nouveau module :

` Méthode projet M_AJOUT_CLIENTS

   Si (Indefinie(<>PID_AJOUT_CLIENTS)) ` Prise en compte des étapes de développement intermédiaires
      C_ENTIER LONG(<>PID_AJOUT_CLIENTS)
      <>PID_AJOUT_CLIENTS:=0
   Fin de si 

   Si (<>PID_AJOUT_CLIENTS=0)
      <>PID_AJOUT_CLIENTS:=Nouveau process("P_AJOUT_CLIENTS";64*1024;"P_AJOUT_CLIENTS")
   Sinon 
      MONTRER PROCESS(<>PID_AJOUT_CLIENTS)
      PASSER AU PREMIER PLAN(<>PID_AJOUT_CLIENTS)
   Fin de si
      ` Note: P_AJOUT_CLIENTS, la méthode de gestion des process, 
      `fixe <>PID_ADD_CUSTOMERS à zéro lorsqu'elle est terminée.

Référence

EFFACER VARIABLE.


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