Kaip naudoti Delphi kuriant tinkintą „Windows Explorer“

„Windows Explorer“ yra tai, ką naudojate „Windows“ operacinėje sistemoje naršydami failus ir aplankus. Panašią struktūrą galite sukurti naudodami „Delphi“, kad tas pats turinys būtų užpildytas jūsų programos vartotojo sąsajoje.

Įprasti dialogo langai naudojami „Delphi to“ atidarykite ir išsaugokite failą programoje. Jei norite naudoti tinkintus failų tvarkytuvus ir katalogų naršymo dialogus, turite elgtis su failų sistemos „Delphi“ komponentais.

„Win 3.1 VCL“ paletės grupę sudaro keli komponentai, kurie leidžia jums sukurti savo pasirinktinį dialogo langą „File Open“ arba „File Save“: „TFileListBox“, „TDirectoryListBox“, „TDriveComboBox“ir „TFilterComboBox“.

Naršymas failuose

Failų sistemos komponentai leidžia mums pasirinkti diską, pamatyti hierarchinę disko katalogo struktūrą ir pamatyti nurodyto katalogo failų pavadinimus. Visi failų sistemos komponentai yra skirti veikti kartu.

Pvz., Jūsų kodas patikrina, ką vartotojas padarė, tarkime, „DriveComboBox“, tada perduoda šią informaciją „DirectoryListBox“. Tada „DirectoryListBox“ pakeitimai perduodami „FileListBox“, kuriame vartotojas gali pasirinkti reikalingą (-us) failą (-us).

instagram viewer

Dialogo formos projektavimas

Pradėkite naują „Delphi“ programa ir pasirinkite „Win 3.1“ skirtuką Komponentų paletė. Tada atlikite šiuos veiksmus:

  • Įdėkite vieną „TFileListBox“, „TDirectoryListBox“, „TDriveComboBox“ ir „TFilterComboBox“ komponentus į formą, išlaikydami visus numatytuosius pavadinimus
  • Pridėkite vieną „TEdit“ (pavadintą „FileNameEdit“) ir vieną TLabel (vadinkite tai „DirLabel“).
  • Įtraukite keletą etikečių su antraštėmis, pvz., „Failo vardas“, „Katalogas“, „Rūšių sąrašo failai“ ir „Diskai“.

Norėdami parodyti šiuo metu pasirinktą kelią kaip eilutę „DirLabel“ komponentų antraštėje, priskirkite etiketės pavadinimą „DirectoryListBox“ „DirLabel“ nuosavybė.

Jei norite, kad pasirinktas failo vardas būtų rodomas „EditBox“ (FileNameEdit), turite priskirti „Edit Object Name“ (FileNameEdit) „FileListBox“ Nuosavybė „FileEdit“.

Daugiau kodo eilučių

Kai formoje turite visus failų sistemos komponentus, jums tereikia nustatyti „DirectoryListBox“. Disko nuosavybė ir „FileListBox“. Katalogo ypatybė, kad komponentai galėtų susisiekti ir parodyti tai, ką vartotojas nori pamatyti.

Pvz., Kai vartotojas pasirenka naują diską, „Delphi“ suaktyvina „DriveComboBox OnChange“ renginių vedėjas. Padarykite tai taip:

 procedūra TForm1.DriveComboBox1Change (Siuntėjas: TObject);
beginDirectoryListBox1.Drive: = „DriveComboBox1.Drive“;
galas;

Šis kodas keičia ekrano rodinį „DirectoryListBox“ įjungiant jos „OnChange“ renginių vedėjas:

 procedūra TForm1.DirectoryListBox1Change (Siuntėjas: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
galas;

Norėdami pamatyti, kurį failą pasirinko vartotojas, turite naudoti „OnDblClick“ įvykis „FileListBox“:

 procedūra TForm1.FileListBox1DblClick (Siuntėjas: TObject);
beginShowmessage ('Pasirinkta:' + FileListBox1.FileName);
galas;

Atminkite, kad „Windows“ principas yra dukart spustelėti ir pasirinkti failą, o ne vieną paspaudimą. Tai yra svarbu, kai dirbate su „FileListBox“, nes rodyklės klavišo naudojimas per „FileListBox“ paskambins bet kuriai jūsų parašytai „OnClick“ tvarkyklei.

Ekrano filtravimas

Norėdami valdyti „FileListBox“ rodomų failų tipą, naudokite „FilterComboBox“. Nustatę „FilterComboBox“ ypatybę „FileList“ į „FileListBox“ pavadinimą, nustatykite „Filtruoti“ nuosavybę į norimus rodyti failų tipus.

Štai pavyzdinis filtras:

 „FilterComboBox1.Filter“: = 'Visi failai (*. *) | *. * | Projekto bylos (* .dpr) | * .dpr | Paskalio vienetai (* .pas) | * .pas ';

Patarimai ir patarimai

„DirectoryListBox“ nustatymas. Disko nuosavybė ir „FileListBox“. Rodyklės nuosavybė (anksčiau parašytuose „OnChange“ įvykių tvarkytuvuose) vykdymo metu taip pat gali būti daroma projektavimo metu. Tokį ryšį galite užmegzti projektavimo metu nustatydami šias savybes (iš objektų inspektoriaus):

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

Vartotojai gali pasirinkti kelis failus „FileListBox“, jei jo „MultiSelect“ ypatybė yra „True“. Šis kodas parodo, kaip sukurti kelių pasirinkimų sąrašą „FileListBox“ ir parodyti jį „SimpleListBox“ (šiek tiek „įprasto“ „ListBox“ valdiklio).

 var k: sveikasis skaičius; ...
su FileListBox1 padaryti
jei SelCount> 0 tada
k: = 0 daiktams. Skaičiuok-1 padaryk
jei pasirinktas [k], tada
„SimpleListBox“. Daiktai. Pridėti (daiktai [k]);

Norėdami rodyti visus kelių pavadinimus, kurie nėra sutrumpinti elipsėmis, nepriskirkite „Label“ objekto pavadinimo „DirectoryListBox“ ypatybei „DirLabel“. Vietoj to, įdėkite etiketę į formą ir nustatykite jos antraštės ypatybę „DirectoryListBox“ „OnChange“ įvykyje į „DirectoryListBox“. Katalogo nuosavybė.