| BEGIN RECORD | commande |
Syntaxe : BEGIN RECORD nomType
blocDefRec END RECORD Révision : 19 Juillet 2000 (Release 3)
Description : Cette commande commence la définition d’un “vrai” type de record (par opposition au type de pseudo record, qui est défini à l’aide des commandes DIM RECORD…DIM END RECORD). La définition du type de record doit se terminer par une commande END RECORD.
Un bloc BEGIN RECORD…END RECORD est non-exécutable, si bien que vous ne pouvez pas changer son effet en le plaçant dans une structure d’exécution conditionnelle telle que LONG IF…END IF. En revanche, vous pouvez l’inclure ou l’exclure du programme de manière conditionnelle en le plaçant dans un bloc COMPILE LONG IF. Le type de record défini dans un bloc BEGIN RECORD…END RECORD a une portée globale, et il peut être utilisé n’importe où dans votre programme après l’apparition du bloc.
Vous pouvez également utiliser la syntaxe “préfixe point” à l’intérieur d’un bloc de définition de record pour déclarer un espace “vide”; c’est-à-dire, quelques octets à l’intérieur du record qui ne sont identifiés par aucun nom de champ : DIM .constante
…où constante est un entier littéral, ou bien un nom de constante symbolique (sans son préfixe de soulignement). Ceci déclare le nombre d’octets spécifiés comme étant “sans nom”. Vous pouvez utiliser aussi la syntaxe “point-virgule” après la définition d’un nom de champ, dans le but de spécifier combien d’octets vous devez sauter entre le début de ce champ et le début du champ suivant. Vous pouvez utiliser ceci soit pour insérer des octets “sans nom” à l’intérieur du record, ou pour que deux champs se chevauchent en mémoire. Voyez la commande DIM pour plus d’informations au sujet de la syntaxe point-virgule. Après qu’un type de record a été défini à l’aide de BEGIN RECORD…END RECORD, il peut être utilisé comme n’importe quel autre type de donnée. Cela signifie que vous pouvez déclarer :
DIM maMaison AS adresse, taMaison AS adresse
Après la déclaration d’une variable comme étant d’un type donné de record, vous pouvez utiliser la syntaxe “point imbriqué” pour vous référer de manière spécifique aux champs à l’intérieur du record. En poursuivant l’exemple précédent :DIM laFamille(15) AS adresse BEGIN RECORD infoEmploye DIM 50 nom$ DIM 19 noSecSoc$ DIM 20 hobbies$ DIM adresseEmploye AS adresse END RECORD DIM maSecretaire AS infoEmploye
maSecretaire.noSecSoc$ = "02 80 07 99 350 360" Tableaux de records et tableaux de champsLorsque vous utilisez des tableaux de records, vous écrivez l’indice du tableau toujours à la fin de l’expression, et ce, que l’expression se réfère au record entier ou à l’un de ses champs. Par exemple, si vous avez un tableau de records appelé jeu, alors jeu(7) se réfère à l’élément numéroté 7 dans le tableau. Si ce type de record possède un champ appelé score, alors nous représentons le score de jeu(7) comme suit : jeu.score(7)Exemple : un tableau de records : BEGIN RECORD infoEtudiant
DIM 20 prenom$ DIM 20 nom$ DIM 1 noteFinale$ END RECORD DIM mesEleves(35) AS infoEtudiant 'Ceci représente la note finale de l’étudiant n°14 : mesEleves.noteFinale$(14) = "B" Tableaux à l’intérieur des vrais recordsLes vrais records ont la possibilité de contenir des champs qui sont des tableaux. Ce type spécial de tableau imbriqué est déclaré avec la syntaxe entre crochets au lieu des parenthèses pour accéder aux éléments individuellement. Les crochets sont utilisés pour dimensionner le tableau aussi bien que pour accéder à ses sous-éléments. L’espace mémoire réservé pour un champ tableau est limité à 32768 octets.Exemple : BEGIN RECORD infoEtudiant
DIM 20 prenom$ DIM 20 nom$ DIM notes[100] END RECORD DIM mesEleves(35) AS infoEtudiant mesEleves.notes[1](5) = 96
A la dernière ligne de cet exemple, la note numérotée 1 de l’étudiant numéroté 5 se voit attribuer la valeur 96.
Voir Aussi : |