PUT |
Mettre |
---|---|
DISK BASIC |
Syntaxe
PUT nmexp1[,nmexp2] |
Paramètres
Nom | Description |
---|---|
nmexp1 | Ce paramètre permet d'indiquer un tampon de fichier à accès aléatoire, nmexp=1, 2,..., 15 |
nmexp2 | Ce paramètre permet d'indiquer le numéro d'enregistrement dans le fichier, nmexp2=1, 2,..., jusqu'à 335, selon l'espace disponible sur le disque ; si nmexp2 est omis, le numéro d'enregistrement actuel est utilisé. |
Description
Cette instruction permet d'écrire sur le disque, mode d'accès aléatoire. Cette instruction déplace les données du tampon d'un fichier vers un emplacement spécifié dans le fichier. Avant de mettre des données dans un fichier, vous devez :
- Ouvrir le fichier (OPEN), affectant ainsi un tampon et définissant le mode d'accès (doit être R);
- Appliquer FIELD sur le tampon
- Placer les données dans la mémoire tampon avec les instructions LSET et RSET.
Lorsque BASIC rencontre l'instruction :
PUT nmexp,nmexp2 |
il fait ce qui suit :
- Obtenez les informations nécessaires pour accéder au fichier disque
- Vérifie le mode d'accès pour ce tampon (doit par R)
- Acquiert plus d'espace disque pour le fichier est nécessaire pour accueillir l'enregistrement indiqué par nmexp2
- Copie le contenu du tampon dans l'enregistrement spécifié du fichier disque
- Mettre à jour le numéro d'enregistrement actuel pour qu'il soit égal à nmexp2 + 1
L'enregistrement courant est l'enregistrement dont le numéro est supérieur d'une unité au dernier enregistrement consulté. La première fois que vous accédez à un fichier via un tampon particulier, l'enregistrement courant est mis égal à 1.
Si le numéro d'enregistrement que vous mettez (PUT) est supérieur au numéro d'enregistrement de fin de fichier, alors nmexp2 devient le nouveau numéro d'enregistrement de fin de fichier.
Cela a une implication importante. Lorsque vous mettez un enregistrement dont le nombre dépasse le numéro d'enregistrement EOF, de l'espace est alloué sur le disque pour accueillir le nouveau numéro d'enregistrement le plus élevé plus tous les enregistrements de numéro inférieur. Par exemple :
PUT nmexp,336
produira toujours un message DISK FULL (disque plein), puisque TRSDOS essaie de trouver de l'espace pour tous les enregistrements de 1 à 336 - et 335 est le nombre maximum d'enregistrements disponibles sur une disquette.
Exemples (supposons qu'un fichier nommé SAMPLE/BAS existe et que vous y ayez précédemment écrit 10 enregistrements, de sorte que LOF=10) :
Instruction de programme | Effet |
---|---|
1000 OPEN"R",1,"SAMPLE/BAS" | Ouvrir SAMPLE/BAS pour une adresse aléatoire sous le tampon 1 |
1010 FIELD 1,... | Prépare le tampon |
1020 LSET... | Place les données dans le tampon |
1030 PUT 1 | Copie le contenu du tampon dans l'enregistrement courant (=#1) |
1035 LSET ... | Place les données dans le tampon |
1040 PUT 1,30 | Acquérir de l'espace disque pour les enregistrements 2 à 30 et copier le contenu du tampon dans l'enregistrement 30 ; régler LOF=30 |
1045 LSET ... | Place les données dans le tampon |
1050 PUT 1,25 | Copier le contenu du tampon dans l'enregistrement 25 |
1055 LSET... | Place les données dans le tampon |
1060 PUT 1 | Copier le contenu du tampon dans l'enregistrement en cours (=#26) |