Je trouve que la gestion de fichiers de Panoramic est bien plus compliquée que celle de QBasic, et moins performante. Je m'explique:
Fonctions d'ouverture, lecture/écriture, fermeture de fichiers, lecture/positionnement de pointeur
QBASIC:
Ouverture : OPEN "fichier" FOR mode AS #lfn
mode = INPUT, OUTPUT, APPEND (fichiers texte) RANDOM (enregistrements de longueur fixe), BINARY (fichiers binaires)
lfn = numéro logique de fichier (obtenu par lfn = FREEFILE: 1er numéro libre)
Accès : Fichiers texte: lecture : LINE INPUT #lfn, texte$
écriture: PRINT #lfn, texte$
Fichiers binaires: lecture : GET #lfn, [adresse], data$ (lecture chaîne d'octets de la longueur de data$)
écriture: PUT #lfn, [adresse], data$
Fermeture : CLOSE #lfn
Positionnement: SEEK #lfn, pos, ou pos = SEEK(#lfn) (tous fichiers)
PANORAMIC:
Ouverture : FILE_OPEN_READ, FILE_OPEN_WRITE, FILE_OPEN_APPEND, FILEBIN_OPEN_READ, FILEBIN_OPEN_WRITE
Accès : Fichiers texte: lecture : FILE_READ, FILE_READBUF, FILE_READLN
écriture: FILE_WRITE, FILE_WRITEBUF, FILEWRITELN
Fichiers binaires: lecture : FILEBIN_READ lfn, data (binaire, un seul octet possible)
écriture: FILEBIN_WRITE lfn, data (idem.)
Fermeture : FILE_CLOSE lfn (fichiers texte), FILEBIN_CLOSE lfn (fichiers binaires)
Positionnement: FILEBIN_POSITION(lfn, pos) ou pos=FILEBIN_POS(lfn) (uniquement fichiers binaires)
Nb de Fonctions:
Ouverture: QBasic 1, Panoramic 5
Lecture/écriture texte: QBasic 2, Panoramic 3
" binaire: QBasic 2, Panoramic 2
Fermeture: QBasic 1, Panoramic 2
Position: QBasic 1, Panoramic 2
Et en défaveur de Panoramic, l'impossibilité de lire ou d'écrire plusieurs octets consécutifs dans un fichier binaire, ce qui est pour moi rédhibitoire.
Sans parler de la longueur des mots-clés dans Panoramic: FILEBIN_READ et FILEBIN_WRITE c'est quand même plus emm.. pardon, embêtant à écrire que GET ou PUT.
Il y a par contre dans Panoramic des fonctions utiles qui n'existaient pas en QBasic, par exemple FILE_FIND, FILE_EXISTS et FILE_DELETE.