titre_site.jpg (51607 octets)

BOF()  -  EOF()

 

BOF()

BOF() indique si le pointeur d'enregistrement d'une table se trouve au début du fichier.

Syntaxe

BOF( [<alias>] )

<alias>

Un numéro de zone de travail (1 à 225), une lettre de zone de travail (A à J) ou un nom d'alias. La lettre de zone de travail ou le nom d'alias doit être entouré de guillemets.

EOF()

EOF() indique si un pointeur se trouve à la fin du fichier.

Syntaxe

EOF( [<alias>] )

<alias>

Un numéro de zone de travail (1 à 225), une lettre de zone de travail (A à J) ou un nom d'alias. La lettre de zone de travail ou le nom d'alias doit être entouré de guillemets.

 

ico_MsDos.jpg (1668 octets)   Description

BOF()

BOF( ) renvoie la valeur logique "vrai" (.T.) lorsque le pointeur d'enregistrement se situe devant le premier enregistrement logique de la table ouverte dans la zone de travail spécifiée. Sinon, elle renvoie la valeur logique "faux" (.F.). Par exemple, si vous exécutez la commande SKIP -1 lorsque le pointeur d'enregistrement se trouve sur le premier enregistrement, BOF( ) renvoie la valeur logique "vrai" (.T.).
Si aucune table n'est ouverte dans la zone de travail spécifiée, BOF( ) renvoie aussi la valeur logique "faux" (.F.).

EOF()

EOF( ) renvoie la valeur logique "vrai" (.T.) lorsque le pointeur d'enregistrement de la table en cours ou de la table spécifiée est positionné au-delà du dernier enregistrement physique ou au-delà du dernier enregistrement dans le fichier index maître. Sinon, EOF( ) renvoie la valeur logique "faux" (.F.). En outre, si aucune table n'est ouverte dans la zone de travail spécifiée, EOF( ) renvoie la valeur logique "faux" (.F.).
EOF( ) renvoie la valeur logique "vrai" (.T.) après le traitement par SCAN du dernier enregistrement d'une table, lorsque vous utilisez SKIP au-delà du dernier enregistrement d'une table ou d'un fichier index, lorsque vous utilisez LIST sans option, ou lorsque CONTINUE, FIND, GO, LOCATE, LOOKUP( ), SEEK( ) ou SEEK échoue dans la recherche de l'enregistrement spécifié (avec SET NEAR à OFF).

Plus2_5-Icon.jpg (1250 octets) xDML vers ooDML

Dans le XBase, il y a deux contrôles - un à chaque extrémité de la table pour voir si vous êtes au début du fichier ("Beginning Of File") ou à la fin de fichier ("End Of File"). Il y a trois contrôles dans le ooDML.

La première d'entre elles est la propriété endOfSet. A cette propriété est attribuée une valeur logique, et c'est vrai si vous êtes soit au début ou à la fin du jeu de ligne. Si vous êtes sur une ligne ou figure un enregistrement, à cette propriété est attribuée la valeur false. Vous pouvez dire si vous êtes au début de l'ensemble de lignes et si vous naviguez (voir SKIP ...) vers le début du jeu de lignes, et la fin si vous naviguez vers la fin de la ligne.

Cependant, certaines personnes ne sont pas satisfaites de cela, et le jeu de lignes inclut des méthodes de contrôle pour voir si vous êtes à la première ou la dernière rangée de la table: atFirst() et atLast(). Ces deux valeurs de retour logique (vrai ou faux), selon que vous êtes ou non sur la première ou la dernière rangée de la ligne.

L'utilisation de endOfSet

if form.rowset.endOfSet
   // Faire quelque chose
endif



Notez que si la table est vide, endOfSet va être vrai par défaut.


L'utilisation de atFirst () ou Atlast ()

if not form.rowset.atFirst ()
form.rowset.next(-1) // naviguer vers le haut de l'ensemble de lignes
endif

En résumé :

xBase Position du pointeur ooDML
BoF() vrai Début du Fichier form.rowset.endOfSet()   vrai
  1er enregistrement form.rowset.atFirst() vrai
  ...autres lignes  
  Dernier enregistrement form.rowset.atLast() vrai
Eof()   vrai Fin du Fichier form.rowset.endOfSet()   vrai

 

 

retour

Sources :

Aide Visual dbase V5.5
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm

 

 

Si vous voyez des erreurs, n'hésitez pas à le signaler.

Dernière modification : samedi 24 juillet 2010

©  M.A.