12. lecke - hozzon létre egy listát a fájlok - Delphi forrásból gyik

Nem túl gyakran, de néha szükség van egy alkalmazás számára, hogy a lista fájlok és alkönyvtárak a könyvtárban. Azok számára, akik a KOL és MCK már megnyitott 3 módon lehet megoldani ezt a problémát. Az igazság az normális, véleményem szerint még mindig az egyetlen :) Tekintsük.

1. utat. „Hagyományos”.

Hagyományosan használt API 3 funkció: FindFirstFile (úgy néz ki, az első fájlt a listában), FindNextFile (keresi a következő fájl). FindClose (keresés felmondás). Általában az első 2. funkció zamenyutsya a VCL-pénzhelyettesítő FindFirst, FindNext. Számunkra ezek nem egészen elfogadható, mert ahhoz, hogy kihasználják ezeket a funkciókat, meg kell csatlakoztatni SysUtils könyvtárban. És köztudott, hogy extra zsír a sportos programot :-). A példa keverve tiszta API KOL.

Magyarázat a számla attribútumait a kívánt fájlt:

  • FILE_ATTRIBUTE_ARCHIVE - archív fájlt.
  • FILE_ATTRIBUTE_COMPRESSED - egy tömörített fájlt vagy mappát.
  • FILE_ATTRIBUTE_HIDDEN - egy rejtett fájl.
  • FILE_ATTRIBUTE_NORMAL - szabályos fájl.
  • FILE_ATTRIBUTE_OFFLINE - file adat nem áll rendelkezésre. Ez azt jelzi, hogy az adatállományok már fizikai mozgatását.
  • FILE_ATTRIBUTE_READONLY - csak olvasható fájl.
  • FILE_ATTRIBUTE_SYSTEM - rendszer fájl.
  • FILE_ATTRIBUTE_TEMPORARY - ideiglenes fájl.
  • FILE_ATTRIBUTE_DIRECTORY - directory

2. utat. „A homlokán.”

Annak ellenére, hogy az egyszerűség e művelet képviseli a kód még könnyebb, mert ListBox maga tudja mutatni a fájlokat egy külön könyvtárba. Ehhez tudnunk kell fordulni AddDirList tulajdon. Példa még kevésbé.

Ez minden bizonnyal egy érdekes módja annak, hogy egy listát a fájlokat, de nem működik :) Ne hozzon létre, mert az ablak minden alkalommal egy ListBox vagy SomboBox (ő is ugyanazt az ingatlant), hogy a fájlok listáját. És valamilyen okból kimeneti fájlok listája a „rövid név” (azaz, mint a DOS). A legvalószínűbb, Vladimir Treasure hozzáadott ezt a funkciót, mint egy érdekes funkció, és semmi több.

A harmadik módszer. „Ahogy annak lennie kell”

Nos, a legérdekesebb :) A KOL egy objektum létrehozásához használt fájlokat a lista. Ez PDirList. Itt a kivitelező:

DirPath - beolvasott könyvtár
Filter - egy szűrőt a fájlok vagy könyvtárak
Attr - az attribútumok

A listát a módszerek és tulajdonságok a dolgozó tárgya: