ПредишенСледващото

Търсене на файлове в Делфи ви помага да намерите файлове, които са подходящи за избраните критерии програмист - име, размер, дата на създаване и т.н. Търсене на файлове може да се извършва както за избран диск, и се ограничава до определена директория. Търсене на файлове в Делфи се извършва на три етапа.
  1. На първо място е повече от един файл, който отговаря на предварително определена маска. Това търсене се извършва с помощта на
    функционира 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. В папката на програмата се третира като файл в търсенето не се покачва. Можете да изтеглите архива с програмата.

    Свързани статии

    Подкрепете проекта - споделете линка, благодаря!