Accueil Lexique Amstrad CPC E Erreurs sur disquette en AMSDOS Lexique Amstrad CPC
Parcourir par Lettre
Tous | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Autre
Parcourir par Catégories

Erreurs sur disquette en AMSDOS

Définition :


Plusieurs erreurs peuvent se produire lors du traitement des opérations d'archivage. Bien que le BASIC les regroupe sous le numéro d'ERReur 32, vous pouvez obtenir de plus amples informations en appelant la fonction DERR.
Voici la signification des valeurs qu'elle renvoie:


Erreur AMSDOS Valeur DERR Source de l'erreur
0 0 ou 22 Activation de [ESC]
14 142 ( 128+14 ) Etat du canal non valable
15 143 ( 128+15 ) Fin de Fichier matérielle
16 144 ( 128+16 ) Mauvaise commande, généralement nom de Fichier incorrect
17 145 ( 128+17 ) Fichier déjà existant
18 146 ( 128+18 ) Fichier non existant
19 147 ( 128+19 ) Catalogue saturé
20 148 ( 128+20 ) Disquette pleine
21 149 ( 128+21 ) Changement de la Disquette avec Fichiers ouverts
22 150 ( 128+22 ) Fichier en lecture seulement
26 154 ( 128+26 ) Fin de Fichier logicielle





Si AMSDOS a déjà rapporté une erreur, le Bit 7 a pris la valeur 1, décalant celle de DERR de 128.



Les autres valeurs rapportées par DERR proviennent du contrôleur de la Disquette, le Bit 6 étant toujours sur 1. Le Bit 7 indique si AMSDOS a rapporté l'erreur ou non ( voir ci-dessus ).


Voici la signification de chacun des bits :
Bit Signification
0 Adresse manquante.
1 Ecriture impossible. Disquette protégée.
2 Pas de donnée. Secteur introuvable.
3 Unité non prête. Pas de Disquette dans l'unité.
4 Surcharge.
5 Erreur de donnée. Erreur CRC (Cyclic Redundancy Check ).
6 Toujours a 1 pour indiquer une erreur venant du contrôleur de Disquette.
7 Sur 1 si AMSDOS a déjà rapporté l'erreur.





ERR peut envoyer 31 si vous avez tenté l'accès à une Disquette sans aucun Fichier ouvert.


Une procédure clasique d'utilisation de ERR et DERR consiste à inclure l'instruction ON ERROR GOTO afin d'appeler un sous-programme déterminant la valeur ( 31 ou 32 ) de ERR puis, en cas d'erreur 32, utilisant l'indicateur DERR pour afficher la nature exacte de l'erreur.




Par exemple :

10 ON ERROR GOTO 1000
20 OPENOUT "monfichier.ASC"
30 WRITE #9,"donnee-TEST"
40 CLOSEOUT
50 END
1000 amsdoserr=(DERR AND &7F):REM Bit 7 force a 0
1010 IF ERR<31 THEN END
1020 IF ERR=31 THEN PRINT "etes-vous sur d'avoir tape la ligne 20 ?":END
1030 IF amsdoserr=20 THEN PRINT "Il n'y a plus de place sur la Disquette ":END
1040 IF amsdoserr=&X1000010 THEN PRINT "placez une Disquette non protegee dans l'unite, puis appuyer sur n'importe quelle touche ":WHILE INKEY$="":WEND:RESUME
1050 END

Date : 24.01.2014 21:07
Cette entrée a été vue 358 fois.

 
Sélectionner cette entrée

               

RECHERCHE
LANGUE
* Donathon 2017 *

145 €

 

 

 

 En savoir plus

Le Chat
 Smiles  Loading...
EN LIGNE
16 Personne(s) en ligne (1 Personne(s) connectée(s) sur Lexique Amstrad CPC)

Utilisateur(s): 6
Invité(s): 10

Golem13, Moonbeam, rity, moudubou, number-one, BDCIRON, Plus ...
Musiques CPC

Lecteur MP3
CPC-Scene Radio

 

 

ROLAND RADIO

Connexion
Identifiant :

Mot de passe :

Se souvenir de moi



Mot de passe perdu ?

Inscrivez-vous !

 

Informations
________________________________

Suivre Amstrad.eu

________________________________

Autres Créations web

________________________________

 

Declaration CNIL : 1005884

Association : 0540200002843

Charte

Avertissements

Plan du site

Carte de France des membres

 

 

 

Facebook.

Twitter.

RSS forum.

RSS News.

Contact.

 

Gaston-Phoebus.com

Amstrad.eu

untour.fr

Cathydeco.com

Higoogle

Harloup.fr

** Faire un don **

 

Conception Phenix © 2000 - 2014