FINDFIRST |
Premier trouvé |
---|---|
Turbo Pascal 4+ | DOS, WinDos |
Syntaxe
Procedure FindFirst(nom_fich:String; attr:Word;resul:SearchRec); | Version 4 |
Procedure FindFirst(nom_fich:PathStr; attr:Word;resul:SearchRec); | Version 5 à 7 |
Paramètres
Nom | Description | ||
---|---|---|---|
nom_fich | Ce paramètre permet d'indiquer le nom du/des fichier(s) à rechercher | ||
attr | Ce paramètre permet d'indiquer l'attribut de recherche: | ||
Constante | Valeur | Description | |
ReadOnly | $0001 | Cette constante permet d'indiquer l'attribut de lecture seulement | |
Hidden | $0002 | Cette constante permet d'indiquer l'attribut caché | |
SysFile | $0004 | Cette constante permet d'indiquer l'attribut système | |
VolumeID | $0008 | Cette constante permet d'indiquer l'attribut de nom d'unité disque | |
Directory | $0010 | Cette constante permet d'indiquer l'attribut de nom de répertoire | |
Archive | $0020 | Cette constante permet d'indiquer l'attribut d'archive | |
AnyFile | $003F | Cette constante permet d'indiquer l'attribut de n'importe quel fichier | |
resul | Ce paramètre permet d'indiquer l'enregistrement contenant le résultat de la recherche |
Description
Cette procédure permet de rechercher le premier occurrence (fichier ou répertoire) contenu dans un répertoire de fichier spécifier.
Remarques
- Le nom du fichier peut contenir une unité de disque, des répertoires et des caractères génériques «*» et «?». Exemple : «C:\DOS\*.EXE».
- Lorsqu'on a pas de besoin d'indiquer un attribut de fichiers particulier, on utilise la constante AnyFile pour indiquer n'importe quel attribut de fichier.
- On peut connaitre le résultat de l'opération en utilisant la fonction DOSError. Celle-ci retournera l'une des 3 erreurs suivantes :
Code d'erreur | Description |
---|---|
0000h | Aucune erreur n'est apparue |
0002h | Cette erreur permet d'indiquer que le fichier est introuvable |
0012h | Cette erreur permet d'indiquer qu'il n'y a plus d'autres fichiers dans la liste |
Exemple
Voici un permettant de tester la présence de trois fichiers :
- Program FindFirstSamples;
-
- Uses DOS;
-
- Function FileExist(Const Name:String):Boolean;
- Var
- Rec:SearchRec;
- Begin
- FindFirst(Name,Archive,Rec);
- FileExist:=DOSError = 0;
- End;
-
- BEGIN
- Write('Le fichier C:\TP\BIN\turbo.exe');
- If FileExist('C:\TP\BIN\turbo.exe')Then WriteLn(' existe')
- Else WriteLn(' n''existe pas');
- Write('Le fichier C:\config.sys');
- If FileExist('C:\config.sys')Then WriteLn(' existe')
- Else WriteLn(' n''existe pas');
- Write('Le fichier C:\gladir.txt');
- If FileExist('C:\gladir.txt')Then WriteLn(' existe')
- Else WriteLn(' n''existe pas');
- END.
on obtiendra le résultat semblable suivant :
Le fichier C:\TP\BIN\turbo.exe n'existe pasLe fichier C:\config.sys existe
Le fichier C:\gladir.txt n'existe pas
Référence
Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 179 à 180.
Le grand livre du Turbo & Borland Pascal 7.0, Edition Micro Application, Reiner Scholles, 1993, ISBN: 2-86899-873-9, page 1233.
Dernière mise à jour : Dimanche, le 25 janvier 2015