Fájlok keresése a Delphi

Keresés a fájlok Delphi segít megtalálni a fájlokat, amelyek alkalmasak a kiválasztott programozó kritériumok - név, méret, létrehozás dátuma, stb Fájlok keresése lehet végezni mind egy kiválasztott lemezt, és csak a meghatározott könyvtárban. Keresés a fájlok Delphi három lépésben végzik.
  1. Először az első fájl, amely kielégíti egy előre meghatározott maszk. Ezt a keresést elvégezni
    működnek FindFirst (const Path: String; Attr: integer; var F: TSearchRec): egész;

Attr paraméter tartalmaz egy sor olyan attribútumokat is figyelembe kell venni a kiválasztási fájlokat:

  • faReadOnly = $ 01 - csak olvasható file;
  • faHidden = $ 02 - egy rejtett fájl;
  • faSysFile = $ 04 - egy rendszer fájl;
  • faVolumeID = $ 08 - Volume label;
  • faDirectory = 10 $ - könyvtár (a könyvtár);
  • faArchive = $ 20 - egy archív fájlt;
  • faAnyFile = $ 3F - tetszőleges állományt.

A nevek ezek a tulajdonságok eltérő nevei a különböző rendszerekben. Ez ad Delphi tekoe figyelmeztetés jelenik meg, hogy ezeket a neveket. Ezért jobb, ha nem használja a neveket és értékeket. Azonban akkor neponyatki: Próbáld meg kitalálni, akkor az $ 02 vagy $ 08. Ezért szükséges bevezetni állandók sotvetstvuet értékeket, és nem okoz problémát.

Ezek a tulajdonságok fontosak a kapott egyes bitek beleértve Attr. Hogy meghatározza az attribútumok a fájl szükséges, hogy egyszerűen összefoglalni:
Attr: = faReadOnly + faSysFile + faHidden;
Ez az attribútum hatására a funkció csak kereséshez rejtett rendszerfájlok jellegzetes „csak olvasható”.

találati tartalmazza a változó F. típusú, TSearchRec:
írja TSearchRec = rekord
Idő: integer;
Méret: integer;
Attr: integer;
Név: TFileName;
ExcludeAttr: integer;
FindHandle: THandle;
FindData: TWin32FindData;
végén;

A legfontosabb területek a rekord közül

  • Név - a fájl neve;
  • Méret - A méret a fájl byte;
  • Time - Az idő jött létre a fájl DOS formátumban.

Annak eldöntésére, hogy az attribútum fájl található használt bitenkénti logikai szorzás:
ha (F.Attr és faDyrectory) = F.Attr
akkor S: = „Ez egy könyvtár”;
Ez azt jelenti, amelynek változtatható F.Attr kívánt attribútumot bitenkénti logikai szorzás nem változtatja meg.
  • Amikor az első fájlt, amely megfelel a keresési feltételeknek megtalálható, a funkció
    működnek FindNext (var F: TSearchRec): egész;

    Az F változó, amelyre az első feladata, hogy mentse a találatokat, FindNext funkció átadva paraméterként. Az információk alapján tárolt folytatódni fog új keresés.

  • A keresési folyamat befejezése hívja az eljárást:
    eljárás FindClose (var F: TSearchRec);

    Ez az eljárás felszabadítja a memóriát rendel a keresési folyamat rendszer.


  • Funkciók FindFirst és FindNext visszatérési értéke 0, ha a keresés nem talál hibát, és ha a fájlt talált.

    Vegyük például egy egyszerű példa program. amely poizvodit keresése az összes fájlt a C meghajtón a program mappájában kezelni egy fájlt a keresés nem mászik. Tudod letölt a archívumot a program.

    Kapcsolódó cikkek