Ako používať Delphi na zostavenie vlastného prieskumníka systému Windows

click fraud protection

Prieskumník systému Windows je to, čo používate v operačnom systéme Windows na prehľadávanie súborov a priečinkov. S Delphi môžete vytvoriť podobnú štruktúru, aby sa rovnaký obsah naplnil v používateľskom rozhraní vášho programu.

V Delphi sa používajú bežné dialógové okná otvoriť a uložiť súbor v aplikácii. Ak chcete používať prispôsobené správcov súborov a dialógové okná prehľadávania adresárov, musíte sa vysporiadať s komponentami Delphi súborového systému.

Skupina palety Win 3.1 VCL obsahuje niekoľko komponentov, ktoré vám umožňujú zostaviť si vlastné dialógové okno „Otvorenie súboru“ alebo „Uloženie súboru“: TFileListBox, TDirectoryListBox, TDriveComboBoxa TFilterComboBox.

Navigácia v súboroch

Komponenty súborového systému nám umožňujú vybrať jednotku, zobraziť hierarchickú štruktúru adresárov disku a zobraziť názvy súborov v danom adresári. Všetky súčasti systému súborov sú navrhnuté tak, aby spolupracovali.

Napríklad váš kód skontroluje, čo používateľ urobil, povedzme, DriveComboBox a potom tieto informácie odovzdá do DirectoryListBox. Zmeny v adresári DirectoryListBox sa potom odovzdajú do súboru FileListBox, v ktorom si používateľ môže vybrať potrebné súbory.

instagram viewer

Návrh formulára dialógového okna

Začať nový Aplikácia Delphi a vyberte kartu Win 3.1 na Paleta komponentov. Potom postupujte takto:

  • Umiestnite jeden komponent TFileListBox, TDirectoryListBox, TDriveComboBox a TFilterComboBox do formulára, pričom si ponecháte všetky svoje predvolené názvy.
  • Pridajte jeden TEdit (s názvom „FileNameEdit“) a jeden TLabel (nazýva sa „DirLabel“).
  • Priložte niekoľko menoviek s titulkami, napríklad „Názov súboru“, „Adresár“, „Zoznam súborov typu“ a „Jednotky“.

Ak chcete v titule komponentov DirLabel zobraziť aktuálne vybranú cestu ako reťazec, priraďte názov štítka adresáru DirectoryListBox Majetok DirLabel.

Ak chcete zobraziť vybratý názov súboru v EditBoxe (FileNameEdit), musíte priradiť Názov objektu Edit (FileNameEdit) k FileListBox's Vlastnosť FileEdit.

Viac riadkov kódu

Ak máte vo formulári všetky súčasti systému súborov, stačí nastaviť DirectoryListBox. Vlastnosť jednotky a FileListBox. Vlastnosť Directory, aby komponenty mohli komunikovať a ukázať, čo chce užívateľ vidieť.

Napríklad, keď užívateľ vyberie novú jednotku, spoločnosť Delphi aktivuje DriveComboBox OnChange obsluha udalosti. Aby to vyzeralo takto:

 postup TForm1.DriveComboBox1Change (Sender: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
koniec;

Tento kód zmení zobrazenie v DirectoryListBox aktiváciou jeho OnChange obsluha udalosti:

 procedúra TForm1.DirectoryListBox1Change (Sender: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
koniec;

Ak chcete vidieť, ktorý súbor používateľ vybral, musíte použiť OnDblClick udalosť FileListBox:

 postup TForm1.FileListBox1DblClick (Sender: TObject);
beginShowmessage ('Selected:' + FileListBox1.FileName);
koniec;

Pamätajte, že konvencia Windows má mať dvojklik na výber súboru, nie na jedno kliknutie. Toto je dôležité, keď pracujete s FileListBox, pretože použitie klávesu so šípkou na pohyb v FileListBox by vyvolalo akýkoľvek písaný popisovač OnClick.

Filtrovanie displeja

Pomocou FilterComboBox môžete ovládať typ súborov, ktoré sa zobrazujú v FileListBoxe. Po nastavení vlastnosti FileListbo FilterComboBox na názov FileListBoxu nastavte vlastnosť Filter na typy súborov, ktoré chcete zobraziť.

Tu je ukážkový filter:

 FilterComboBox1.Filter: = 'Všetky súbory (*. *) | *. * | Súbory projektu (* .dpr) | * .dpr | Pascalové jednotky (* .pas) | * .pas ';

Rady a tipy

Nastavenie adresára DirectoryListBox. Vlastnosť jednotky a FileListBox. Vlastnosť adresára (v predtým napísaných obslužných programoch udalostí OnChange) za behu sa dá vykonať aj v čase návrhu. Toto pripojenie môžete dosiahnuť v čase návrhu nastavením nasledujúcich vlastností (z inšpektora objektov):

DriveComboBox1.DirList: = DirectoryListBox1
DirectoryListBox1.FileList: = FileListBox1

Užívatelia môžu vybrať viac súborov v FileListBox, ak je jeho vlastnosť MultiSelect pravdivá. Nasledujúci kód ukazuje, ako vytvoriť zoznam viacerých výberov v FileListBoxe a ukázať ho v SimpleListBoxe (nejaká „bežná“ kontrola v zozname).

 var k: integer; ...
s FileListBox1 robiť
ak SelCount> 0 potom
pre k: = 0 k položkám. Počet-1 robiť
ak je vybratá možnosť [k], potom
SimpleListBox. Položky. Pridať (Položky [k]);

Ak chcete zobraziť úplné názvy ciest, ktoré nie sú skrátené pomocou elipsy, nepriradujte názov objektu Label k vlastnosti DirLabel DirectoryListBox. Namiesto toho vložte štítok do formulára a nastavte jeho vlastnosť titulkov v udalosti OnChange DirectoryListBox na DirectoryListBox. Vlastnosť adresára.

instagram story viewer