Utilizați Delphi File and Director Controls pentru Mimic Windows Explorer

Windows Explorer este ceea ce utilizați în sistemul de operare Windows pentru a căuta fișiere și foldere. Puteți crea o structură similară cu Delphi, astfel încât același conținut să fie populat în interfața de utilizator a programului.

Casele de dialog obișnuite sunt utilizate în Delphi pentru a deschide și a salva un fișier într-o aplicație. Dacă doriți să utilizați manageri de fișiere personalizate și dialoguri de navigare în directoare, trebuie să vă ocupați de componentele Delphi ale sistemului de fișiere.

Grupul de palete Win 3.1 VCL include mai multe componente care vă permit să vă construiți caseta de dialog personalizată „File Open” sau „File File”: TFileListBox, TDirectoryListBox, TDriveComboBox, și TFilterComboBox.

Navigarea în fișiere

Componentele sistemului de fișiere ne permit să selectăm o unitate, să vedem structura ierarhică a unui disc și să vedem numele fișierelor dintr-un director dat. Toate componentele sistemului de fișiere sunt proiectate pentru a lucra împreună.

De exemplu, codul dvs. verifică ce a făcut utilizatorul, să spunem, un DriveComboBox și apoi transmite aceste informații într-un DirectoryListBox. Modificările din DirectoryListBox sunt apoi trecute la un FileListBox în care utilizatorul poate selecta fișierele necesare.

Proiectarea formularului de dialog

Porniți o nouă aplicație Delphi și selectați fila Win 3.1 din paleta Component. Apoi faceți următoarele:

  • Plasați o componentă TFileListBox, TDirectoryListBox, TDriveComboBox și TFilterComboBox pe un formular, păstrând toate numele implicite ale acestora
  • Adăugați un TEdit (numit „FileNameEdit”) și un TLabel (numiți-l „DirLabel”).
  • Includeți câteva etichete cu titluri, cum ar fi „Nume fișier”, „Director”, „Lista fișierelor de tip” și „Drivere”.

Pentru a afișa calea selectată în prezent ca șir într-o legendă a componentelor DirLabel, alocați numele Labelei DirectoryListBox's Proprietatea DirLabel.

Dacă doriți să afișați numele de fișier selectat într-un EditBox (FileNameEdit), trebuie să atribuiți numele obiectului Editare (FileNameEdit) lui FileListBox's Proprietatea FileEdit.

Mai multe linii de cod

Când aveți toate componentele sistemului de fișiere în formular, trebuie doar să setați proprietatea DirectoryListBox.Drive și proprietatea FileListBox.Directory pentru ca componentele să comunice și să arate ceea ce utilizatorul vrea să vadă..

De exemplu, atunci când utilizatorul selectează o unitate nouă, Delphi activează DriveComboBox OnChange organizatorul evenimentului. Faceți să arate astfel:

 procedura TForm1.DriveComboBox1Change (Expeditor: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
Sfârșit;

Acest cod schimbă afișajul din DirectoryListBox prin activarea acesteia Cu privire la schimbările organizatorul evenimentului:

 procedura TForm1.DirectoryListBox1Change (expeditor: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
Sfârșit;

Pentru a vedea ce fișier a selectat utilizatorul, trebuie să utilizați OnDblClick eveniment al FileListBox: