seast
Messages postés7Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention25 mars 2005
-
19 mars 2005 à 16:16
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008
-
27 mars 2005 à 15:20
Bonjour !
Je viens de découvrir sur un site une méthode alternative à FileExists :
AssignFile(F,FileName);
{$I-}
Reset(F);
{$I+}
if IoResult=0 then ...(reste du code si le fichier existe).
Connaissez-vous les avantages et inconvénients de cette méthode par rapport à FileExists ?
Merci.
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 20095 21 mars 2005 à 17:21
{$I-}
bloque la gestion d'erreur d'entrées/sorties (IOError), IOResult permet
de récupérer la valeur du code d'erreur car il y a en autres que la
simple absence du fichier (IOResult = 2)
par ex :
IOResult = 3 : Répertoire non trouvé
IOResult = 5 : Accès refusé (lecture seule par ex.)
IOResult est plus "fin" que FileExits. Un fichier peut exister mais peut ne pas être accessible !...
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 19 mars 2005 à 18:45
salut , je crois que FileExists teste seulement si le fichier existe lol ,alors qu'une procedure utilisant le reset(f) utilise l'espace ou charge le fichier en mémoire ,donc tout dépend de l'utilisation ,dans cette exemple après le reset tu accède directement au readln alors y faut nécessairement utiliser de la mémoire.
faut pas oublier CloseFile(f) sinon le fichier est inaccessible après ...
peut-être comme ceci:
Function TestFile(FileName
:String):Boolean;
var
F:File;
begin
result:=false;// par défaut déjà à false je crois ...
try
AssignFile(F,FileName);
Reset(F);
closefile(F);
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 27 mars 2005 à 15:20
Sincère salutation Japee , oui c'est un peu ça un petit retour ...
Toujours bien ici ,quoi que je me sente un peu rouillé !!! Mais oui Kenavo c'est une très bonne précision ,alors mieux que fileExists ? ça dépend de ce que l'on a de besoin,,,