:: Get ::




1/ Le listing brut :

1 PRINT CHR$(147)
10 GET A$:IF A$="" THEN 10
20 PRINT "SAISI : ";A$
30 GOTO 10

Peut également s'écrire comme suit :

1?CHR$(147)
10GETA$:IFA$=""THEN10
20?"SAISI : ";A$
30GOTO10

Ce programme affiche chaque touche sur laquelle l'utilisateur appuie.


2/ Le listing commenté :

1 PRINT CHR$(147)
// Ligne 1 : On demande au programme d'afficher le caractère correspondant à la touche CLRHOME du Commodore 64. Ceci a pour conséquence d'effacer le contenu de l'écran.
10 GET A$:IF A$="" THEN 10
// Ligne 10 : On enregistre le caractère correspondant à la touche du clavier pressée par l'utilisateur dans la variable de type CHAÎNE nommée A$. On vérifie ensuite qu'une touche a bien été pressée, car l'instruction GET n'attend pas qu'on ait appuyé sur quoi que ce soit pour agir, elle scanne l'activité du clavier au moment où on l'appelle. Si l'utilisateur n'appuie pas sur une touche au moment exact où le clavier est scanné, GET stocke un vide ("") dans A$. Dans ce cas de figure, le programme exécute de nouveau l'instruction GET en retournant à la ligne numéro 10.
20 PRINT "SAISI : ";A$
// Ligne 20 : On affiche le texte "SAISI : " suivi du caractère correspondant à la touche du clavier pressée par l'utilisateur.
30 GOTO 10
// Ligne 30 : On retourne à la ligne numéro 10. Ce programme ne s'arrête jamais.


3/ Commentaires additionnels :

Il est intéressant de noter que le clavier du Commodore 64 dispose d'une mémoire tampon pouvant contenir 10 caractères. Ce tampon enregistre les touches pressées en attendant que le processeur ait le temps de les traiter.