Le nom interne (ou nom logique) correspond au nom utilisé dans le programme.
C'est donc l'identificateur déclaré comme variable (ex : var f : file of ...).
Il s'agit donc du nom de fichier vu par le programmeur et par le programme Pascal.
Le nom externe (ou nom physique) représente quant à lui le nom utilisé sur le disque, visible dans le répertoire (dossier ou directory).
Il s'agit donc du nom de fichier vu par l'utilisateur et par le système d'exploitation.
Certains compilateurs permettent l'association des deux noms au niveau des instructions rewrite ou reset :
rewrite(ID_FICHIER_INTERNE, ID_FICHIER_EXTERNE);
reset(ID_FICHIER_INTERNE, ID_FICHIER_EXTERNE);
rewrite (fOut, 'FichierSortie.txt') ;
reset (fIn, 'FichierEntree.txt') ;
D'autres compilateurs utilisent l'instruction assign :
assign(ID_FICHIER_INTERNE, ID_FICHIER_EXTERNE);
assign(f, 'mon_fichier') ;
rewrite (f); {ou reset(f) pour une ouverture en lecture }
Il est préférable d'utiliser une constante ou une variable pour le nom du fichier externe.
write('nom du fichier externe ? ');
readln(nom_externe);
assign(f, nom_externe) ;
rewrite(f) ;
...