RESTORE DATA
DESCRIPTION.
L'instruction composée RESTORE DATA déplace le pointeur de lecture des données contenues dans les instructions DATA à la position mémorisée par l'appel de l'instruction LOCAL DATA précédente.
Voir l'instruction RESTORE pour déplacer manuellement la position du pointeur de lecture des données.
SYNTAXE.
RESTORE DATA
REMARQUES.
L'appel de l'instruction composée RESTORE DATA permet de replacer le pointeur de lecture des données contenues dans les instruction DATA mémorisée par le dernier appel de l'instruction composée LOCAL DATA.
Cette instruction composée sera très utile pour restaurer le pointeur de lecture de données à la sortie d'une boucle instruction FOR, REPEAT ou WHILE, mais aussi au retour d'une procédure ou fonction personnalisée.
Si aucune instruction composée LOCAL DATA n'a été invoquée, ou s'il n'être plus valide, avant l'appel de l'instruction composée RESTORE DATA une erreur DATA not LOCAL sera retournée et le programme s’arrêtera si aucune gestion de cette erreur n'est prévue.
L'utilisation de RESTORE DATA ou de LOCAL DATA efface la valeur mémorisée par l'appel de LOCAL DATA précédent.
Voir l'instruction DATA pour insérer des données dans un script BBC BASIC.
Voir l'instruction LOCAL DATA pour plus de détails sur la mémorisation du pointeur de lecture des instructions DATA.
Voir l'instruction READ pour plus détails sur la lecture des données contenues dans les instructions DATA.
Voir l'instruction RESTORE pour plus détails sur la réinitialisation des données contenues dans les instructions DATA.
EXEMPLES.
Exemple 1. Cas général.
DATA 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
READ ka , kb , kc : PRINT "Serie 1 : " , ka , kb , kc
LOCAL DATA
READ ka , kb : PRINT "Serie 2 : " , ka , kb
READ ka , kb : PRINT "Serie 3 : " , ka , kb
READ ka , kb : PRINT "Serie 4 : " , ka , kb
RESTORE DATA
READ ka , kb , kc : PRINT "Serie 5 : " , ka , kb , kc
END
retourne :
Serie 1 : 0 1 2
Serie 2 : 3 4
Serie 3 : 5 6
Serie 4: 7 8
Serie 5 : 3 4 5
Exemple 4. Dans une boucle d'instruction.
DATA 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
DATA 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20
DATA 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30
DATA 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40
khasard = RND( 10 ) + 15
PRINT "Premiere serie."
FOR kvaleur = 1 TO khasard
READ kentier
PRINT STR$( kentier ) ; " " ;
NEXT kvaleur
FOR ktour = 1 TO 2
LOCAL DATA : REM - memorise la position du pointeur de lecture
PRINT "Deuxieme serie - lecture : " ; ktour
FOR kvaleur = ( khasard + 1 ) TO 40
READ kentier
PRINT STR$( kentier ) ; " " ;
NEXT kvaleur
RESTORE DATA : REM - reposition le pointeur sur sa position memorise
NEXT ktour
READ kdebut
PRINT "La serie 2 commence a la valeur : " ; kdebut
PRINT "Fin du test."
END
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.