|
|
|
|
|
- Déclaration d'une variable de type Enregistrement
- Accès aux rubriques
- Lecture et affectation d'une variable de type Enregistrement
- Cas particuliers
- Propriétés spécifiques à la description des variables de type Enregistrement
- Fonctions manipulant le type Enregistrement
Enregistrement (Type de variable) En anglais : Record
Le type Enregistrement permet de manipuler (modifier, sauvegarder, ...) les valeurs d'un enregistrement. Cet enregistrement peut être un enregistrement d'un fichier de données, d'une requête ou d'une vue. La variable associée au type Enregistrement sera structurée comme un enregistrement de la base de données. Exemples d'utilisation : Il est ainsi possible de mémoriser dans différentes variables le contenu de différents enregistrements pour les comparer ou comparer certaines rubriques.
EnregClient est un Enregistrement de CLIENT
HLitPremier(CLIENT, NUMCLI)
SI PAS HEnDehors() ALORS
EnregClient = CLIENT
Info(EnregClient.NOM, EnregClient.PRENOM)
FIN
EnregClient est un Enregistrement de CLIENT
EnregClient.Nom = "DUPONT"
EnregClient.Prénom = "Paul"
EnregClient.Ville = "MONTPELLIER"
CLIENT = EnregClient
HAjoute(CLIENT)
Remarques Déclaration d'une variable de type Enregistrement La syntaxe de déclaration d'une variable de type Enregistrement est la suivante :
<Nom de la variable> est un Enregistrement [de <Nom du fichier de données dans l'analyse>] - Si le paramètre <Nom du fichier de données dans l'analyse> est indiqué, l'enregistrement est associé à une description d'un des fichiers de données présents dans l'analyse. Dans ce cas, il est possible de manipuler les différentes rubriques de l'enregistrement.
- Si le paramètre <Nom du fichier de données dans l'analyse> n'est pas indiqué, la structure de l'enregistrement sera construite dynamiquement en fonction du buffer du fichier qui lui sera alloué.
Accès aux rubriques Pour accéder aux rubriques d'une variable de type Enregistrement, la syntaxe est la suivante : - Pour affecter une rubrique de la variable :
<Nom Variable>.<Nom rubrique> = <Valeur à affecter> - Pour récupérer la valeur des rubriques :
<Valeur> = <Nom Variable>.<Nom rubrique>
Remarque : Lors de l'utilisation d'une variable de type Enregistrement associée à un fichier de données de l'analyse, l'éditeur de code propose automatiquement les différentes rubriques de l'enregistrement :
Lecture et affectation d'une variable de type Enregistrement Une variable de type Enregistrement peut être lue ou affectée. La syntaxe est la suivante : - Pour mémoriser le buffer d'un fichier de données dans une variable de type Enregistrement :
<Nom de la variable Enregistrement> = <Nom du fichier de données> - Pour affecter le buffer d'un fichier de données depuis une variable de type Enregistrement :
<Nom du fichier de données> = <Nom de la variable Enregistrement>
Remarque : L'affectation d'une variable de type Enregistrement à un fichier de données modifie la propriété NouvelEnregistrement. Cas particuliers - La fonction HEnregistrementVersChaîne utilisée sur une variable de type Enregistrement retourne une chaîne de caractères contenant la valeur de chaque rubrique séparée par un caractère TAB.
- Si une variable de type Enregistrement typée sur un fichier de données est affectée avec le buffer d'un autre fichier de données, il n'y a pas d'erreur de compilation. Une copie homonymique des buffers est effectuée : seules les rubriques de même nom de chaque buffer seront affectées. Les autres rubriques ne seront pas affectées.
- Seule la sérialisation de type JSON est disponible pour ce type de variable (fonction Sérialise). Aucune désérialisation n'est disponible.
Propriétés spécifiques à la description des variables de type Enregistrement Les propriétés suivantes peuvent être utilisées pour connaître les caractéristiques d'une variable de type Enregistrement : | | | Nom de la propriété | Type manipulé | Effet |
---|
Contenu | Chaîne de caractères | Contenu de l'enregistrement en cours (identique au résultat renvoyé par la fonction HEnregistrementVersChaîne). Cette propriété est disponible en lecture seulement. | FichierAssocié | Chaîne de caractères | Nom du fichier de données HFSQL sur lequel la variable est basée. Cette propriété est disponible en lecture seulement. |
Fonctions manipulant le type Enregistrement Les fonctions suivantes utilisent le type Enregistrement :
| | HAjoute | Ajoute : - l'enregistrement présent en mémoire dans le fichier de données (la requête ou la vue).
- l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
| HAttacheMémo | Permet d'associer un fichier à une rubrique de type mémo binaire ou d'annuler l'attachement existant entre un fichier et une rubrique binaire. | HCopieEnreg | Copie : - le contenu de l'enregistrement en cours (chargé en mémoire) dans l'enregistrement en cours d'un fichier de données.
- le contenu d'une variable de type Enregistrement dans l'enregistrement en cours d'un fichier de données.
| HEnregistrementVersChaîne | Convertit sous forme de chaîne le contenu de l'enregistrement en cours (dans un fichier de données, une vue HFSQL, une requête, ...). | HExtraitMémo | Extrait le contenu d'une rubrique de type mémo binaire d'un fichier HFSQL, d'une requête ou d'une vue HFSQL dans un fichier physique (sur le disque). | HInfoMémo | Renvoie les caractéristiques des mémo binaire et texte. | HListeRubrique | Renvoie la liste des rubriques :- présentes dans un fichier de données (d'une requête ou d'une vue) reconnu par le moteur HFSQL. Les fichiers de données définis par les fonctions HDéclare, HDéclareExterne et HDécritFichier sont pris en compte.
- présentes dans une variable de type Enregistrement.
| HRAZ | Initialise : - une ou toutes les variables des rubriques d'un fichier de données avec leurs valeurs par défaut.
- une ou toutes les rubriques d'une variable de type Enregistrement avec leurs valeurs par défaut.
|
Remarque : Pour réinitialiser le contenu d'une variable de type Enregistrement, il est également possible d'utiliser la fonction VariableRAZ.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|