Delphi - TListBox feltöltése állománynevekkel

forráskód letöltése
Egy apró trükkel elérhetjük azt, hogy egy tetszőleges TListBox komponensbe egy általunk megadott könyvtárban található állományok, alkönyvtárak nevei kerüljenek.

E cikk ezt a trükköt mutatja be. A trükk tényleg apró: csupán egy LB_DIR üzenetet kell küldenünk a kiszemelt TListBox komponensnek és tartalma máris megtelik az adott könyvtár állomány neveivel.

Az üzenetet a SendMessage-vel küldjük. Az első paraméter az adott TListBox azonosítója, a második az LB_DIR konstans, ezután egy olyan konstans jön, mely arról rendelkezik, hogy mi is kerüljön a TListBox-ba. Ennek értéke az alábbiak kombinációi lehetnek:
  • DDL_ARCHIVE - archív attribútummal rendelkező állományok
  • DDL_DIRECTORY - alkönyvtárak
  • DDL_DRIVES - meghajtók
  • DDL_HIDDEN - rejtett attribútummal rendelkező állományok
  • DDL_READONLY - csak olvasható attribútummal rendelkező állományok
  • DDL_SYSTEM - rendszer attribútummal rendelkező állományok

Végül az utolsó paraméter az a könyvtár elérési útvonal, melynek tartalmát szeretnénk megjeleníteni.
procedure TForm1.FormCreate
    (Sender: TObject);
begin
  SendMessage(ListBox1.Handle, LB_DIR, DDL_ARCHIVE,
       DWORD(PChar('c:\*.*')));
end;