comment tester si un fichier existe sur un disque dur en pascal
comment tester si un fichier existe sur un disque dur en pascal
Bonjour et bienvenue
Une petite recherche dans la FAQ te donnera satisfaction.![]()
Il y a une méthode, pas super propre mais bon...
Tu éssai d'ouvrir le fichier en lecture, si il y a pas d'erreur c'est qu'il existe;
le seul problème c'est que si il y a une autre erreur comme par exemple, que le fichier est déjà ouvert, il va te le detecter un tent que fichier inexistant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 program test; uses crt; var f : text; {fichier de type texte} begin assign(f,c:\test;txt); {$i-} reset(f); {$i+} If IOResult<> 0 then write('fichier inexistant'); end.
Juste un oubli
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Assign(f,'c:\test.txt');
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Salut,
Je crois d'ailleurs que c'est la méthode la plus répandueEnvoyé par titeeee
Astuce !Envoyé par titeeee
Nous pouvons déterminer si un fichier est effectivement ouvert à l'aide du champ mode du type de fichier FileRec défini dans l'unité DOS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If FileRec(F).Mode<>fmClosed Then Begin WriteLn('Fichier ouvert'); End;
Pas bête, je connaissait pas, mais c'est vrai que c'est pratique
Salut, tu peux aussi par cette méthode "si le fichier n'existe pas alors faire la création du fichier"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure creation (var f:fc); begin assign(f,'c:\test.txt'); {$I-} reset (f) {$I+}; if IOResult <> 0 then rewrite(f); end;
Partager