Gestion des fichiers en assembleur sur Atari ST

 

Ouvrir un fichier

Cette étape consiste à demander à avoir accès à un fichier. Vous récupérez ainsi un handle sur ce fichier si celui-ci est accessible.

Cet handle sera utilisable ensuite pour lire/ecrire,. des données dans ce fichier se déplacer, ..et ceci tant que le fichier restera ouvert.

Si le fichier n'est pas accessible, vous recevrez un code erreur vous précisant ce qui n'a pas permis d'accéder à ce fichier.

Il existe deux fonctions permettant d'ouvrir un fichier:

 

Lire ou écrire dans un fichier

Avant de lire ou d'écrire dans un fichier, il faut s'assurer d'avoir ouvert ce fichier.

Pour lire le contenu d'un fichier, utilisez la fonction Fread() ($3F) du GEMDOS

Pour écrire, ce sera la fonction Fwrite() ($40) du GEMDOS

Vous n'êtes pas obligé de lire tout le contenu d'un fichier, mais vous limiter qu'à une partie. Il sera d'ailleurs possible d'indiquer la position de départ de la lecture/écriture dans le fichier en utilisant la fonction Fseek ($42).

Après avoir terminé de lire ou d'écrire dans un fichier, il est impératif de le refermer !

 

Fermer l'accès à un fichier

Cette opération est indispensable si vous ne voulez pas perdre vos données. Suite à la création d'un nouveau fichier, sans cette fermeture, le fichier serait positionné à 0 octet d'occuper. Bref vous aurez perdu vos données.

La fonction à utiliser est Fclose() ($3E) du GEMDOS

 

Taille d'un fichier

Pour connaître la taille d'un fichier,

- On pourra utiliser la DTA avec les fonctions fsfirst et fsnext du GEMDOS si le fichier n'est pas déjà ouvert.

- Ou alors, si le fichier est déjà ouvert, se positionner à la fin du fichier avec la fonction Fseek() ( $42 ) du gemdos:

Avec handle, le handle du fichier précédemment ouvert.

d0.l contient dans ce cas la taille du fichier.

 

Exemples