- На първо място е повече от един файл, който отговаря на предварително определена маска. Това търсене се извършва с помощта на
функционира FindFirst (конст Path: String; ATTR: цяло число; Var F: TSearchRec): цяло число;
параметър ATTR съдържа набор от атрибути, които могат да бъдат взети под внимание при избора на файлове:
- faReadOnly = $ 01 - само за четене на файлове;
- faHidden = $ 02 - скрит файл;
- faSysFile = $ 04 - файлова система;
- faVolumeID = $ 08 - етикет том;
- faDirectory = $ 10 - директория (директорията);
- faArchive = $ 20 - архивен файл;
- faAnyFile = $ 3F - произволен файл.
Имената на тези атрибути могат да имат различни имена в различните системи. Тя дава предупреждение Delphi tekoe когато се опитате да използвате тези имена. Затова е по-добре да не се използва имената и ценности. Въпреки това, то тогава има neponyatki: Опитайте се да предполагам, че тогава е $ 02 или $ 08. Поради това е необходимо да се въведе константи sotvetstvuet ценности, и няма проблеми.
Тези качества са важни в получените отделни битове включително ATTR. За да се определи набор от атрибути на файла, те трябва да просто да обобщим:
ATTR: = faReadOnly + faSysFile + faHidden;
Този набор от атрибути причини функцията да търсите само скрити системни файлове с характеристика "Read Only".
резултат от търсенето се съдържа в променливата тип Е. като TSearchRec:
Типове TSearchRec = запис
Време: Integer;
Размер: цяло число;
ATTR: Integer;
Име: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
приключи;
Сред най-важните области на този запис са:
- Име - име на файла;
- Размер - Размерът на файла в байтове;
- Време - Часът файла е създаден в DOS формат.
За да определите дали файлът с атрибут намери се използва побитови логически умножение:
ако (F.Attr и faDyrectory) = F.Attr
тогава S: = "Това е директория";
Това означава, че има променлива F.Attr желания атрибут когато побитовото логично умножение не го промените.
функционира FindNext (Var F: TSearchRec): цяло число;
Променливата F, за които първата функция е да запишете вашите резултати от търсенето, функционални FindNext предава като параметър. Въз основа на информацията, съхранявана в него ще бъде продължена следващия мач се търси.
процедура FindClose (Var F: TSearchRec);
Тази процедура освобождава паметта, която е разпределена за технологичната система за търсене.
Функции FindFirst и FindNext връщане стойност 0, ако търсенето не са имали грешки и след като бе установено файла.
Да вземем например един прост пример програма. който poizvodit търсене за всички файлове на диск C. В папката на програмата се третира като файл в търсенето не се покачва. Можете да изтеглите архива с програмата.
Свързани статии