GET$# ... TO
DESCRIPTION.
L'instruction GET$# ... TO définit le caractère de terminaison permettant le retour d'un enregistrement lors de la lecture d'un fichier de données.
Voir l'instruction GET qui retourne le code ASCII de la touche du clavier qui a été enfoncée.
Voir l'instruction GET$ qui retourne le symbole de la touche du clavier qui a été enfoncée.
Voir la fonction GET() qui retourne le code ASCII du symbole présent à une position de la surface textuelle.
Voir la fonction GET$() qui retourne le symbole présent à une position de la surface textuelle.
Voir l'instruction GET$# qui retourne les enregistrements terminés par CR, LF ou NUL.
Voir l'instruction GET$# ... BY qui retourne un nombre défini de caractères par enregistrement.
SYNTAXE.
GET$#kfichier& TO kascii%
REMARQUES.
kfichier& doit être une valeur numérique correspondant au canal de communication avec un ficher ouvert valide.
kascii% doit être un nombre entier compris entre 32 et 255, exprimé en décimal ou sous sa forme hexadécimal. Par exemple, si l'on souhaite que la fin d'un enregistrement soit identifié par le caractère | (trait vertical), dont le code ASCII est 124 en décimal ou &7C en hexadécimal, on écrira l'une des syntaxes : GET$#kcanal& TO 124 ; GET$#kcanal& TO ASC ( "|" ) ou encore GET$#kcanal& TO &7C.
Si l'on souhaite que le délimiteur CR (Retour Chariot) soit pris aussi en compte, en plus d'un caractère défini par le programme, on ajoutera la valeur hexadécimale &100, soit 256, à la valeur du code ASCII du délimiteur. Par exemple, pour avoir les délimiteurs | et RC, on indiquera la valeur &17C, soit 380 (124 + 256), comme valeur du délimiteur : GET$#kcanal& TO 380 ou GET$#kcanal& TO &17C.
Enfin, pour que les délimiteurs CR (Retour Chariot) et LF (Saut de Ligne) soient pris aussi en compte, en plus d'un caractère défini par le programme, on à joutera la valeur hexadécimale &8000, soit 32768, à la valeur du code ASCII du délimiteur. Par exemple, pour avoir les délimiteurs |, RC et LF, on indiquera la valeur &807C, soit 32892 (124 + 32768), comme valeur du délimiteur. : GET$#kcanal& TO 32892 ou GET$#kcanal& TO &807C.
Notez que le symbole # doit être collé au symbole $ pour que la commande soit reconnue par le BBC BASIC, contrairement à INPUT et READ qui admettent un espace avant le #.
Note : pour les fichiers de données faits et/ou utilisés avec le BBC BASIC, il est conseillé d'utiliser principalement l'instruction INPUT # pour lire les enregistrements. On aura recours à l'instruction GET$# ... TO pour lire des fichiers de données provenant d'autre langage de programmation ou de format incertain.
Pour prendre en compte uniquement les caractères CR, LF ou NUL., voir l'instruction GET$#.
Pour définir un nombre de caractères à retourner, sans tenir compte des caractère de retour, voir l'instruction GET$# ... BY ... .
RUBRIQUE.
Les fichiers de données pour plus de détails sur la création et l'utilisation des fichiers de données.
EXEMPLE.
REM --- Initialisation ---
kfichier$ = @dir$ + "Tester.txt"
REM --- Création du fichier et enregistrement ---
kfichier& = OPENOUT( kfichier$ )
PRINT #kfichier&, "BBC BASIC|SDL 2.0|"
PRINT #kfichier&, "Mon BBC BASIC pas a pas"
PRINT #kfichier&, "Origine NERD|"
CLOSE #kfichier&
REM --- Lecture du fichier ---
kfichier& = OPENIN( kfichier$ )
REPEAT
PRINT GET$#kfichier& TO &7C
UNTIL EOF #kfichier&
CLOSE #kfichier&
REM --- Fin de l'exemple ---
END
retourne :
BBC BASIC
SDL 2.0
Origine NERDC pas a pas
Notez que le caractère | n'apparait pas, mais que le Retour Chariot (CR) du deuxième enregistrement est bien pris en compte, ce qui fait que le troisième enregistrement remplace une partie du deuxième enregistrement.
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.