J'ai lu que tu envisages de revoir les fonctions de gestion des fichiers binaires, Jack. Ce serait peut-être l'occasion de donner les moyens, non seulement au niveau des entrées/sorties, mais également au niveau de la manipulation des données, pour pouvoir gérer plus facilement ces informations binaires.
Première suggestion: définir un fichier comme un tableau d'entiers
On pourrait imaginer une commande du type
FILEBIN_ARRAY_OPEN_READ N,nom_du_fichier$,nom_du_tableau%(dim1[,dim2])
FILEBIN_ARRAY_OPEN_WRITE N,nom_du_fichier$,nom_du_tableau%(dim1[,dim2])
FILEBIN_ARRAY_OPEN_UPDATE N,nom_du_fichier$,nom_du_tableau%(dim1[,dim2])
FILEBIN_ARRAY_CLOSE N
Entre les xxx_OPEN_xxx et xxx_CLOSE, on accéderait le fichier par des accès au tableau spécifié à l'ouverture.
Deuxième suggestion: affecter une chaîne de caractères à un tableau d'entiers et vice-versa
On pourrait imaginer une commande du type
LOAD_ARRAY_CONTENT nom_du_tableau%,indexe_de_début,chaine$
et une fonction
chaine$ = GET_ARRAY_CONTENT(nom_du_tableau%,indexe_de_début,longueur)
si tu mets à disposition des fonctions de lecture/ecriture de blocs de données binaires dans ou à partir de chaînes de caractères, telles que je les ai bricolées dans mes récentes fonctions
La seconde suggestion garde également son sens dans le cas de réalisation de la première suggestion. Ainsi, on pourrait aisément mixer chaînes de caractères et données binaires, dans un même fichier, aussi bien en lecture qu'en écriture. C'est ce que je permets avec mes fonctions, mais ce n'est bien sûr qu'un pis-aller.