Utilizzare i controlli di file e directory di Delphi per simulare Windows Explorer

Windows Explorer è quello che usi nel sistema operativo Windows per cercare file e cartelle. È possibile creare una struttura simile con Delphi in modo che lo stesso contenuto sia popolato nell'interfaccia utente del programma.

Le finestre di dialogo comuni sono utilizzate in Delphi per aprire e salvare un file in un'applicazione. Se si desidera utilizzare i file manager personalizzati e le finestre di dialogo di esplorazione delle directory, è necessario gestire i componenti Delphi del file system.

Il gruppo di palette VCL Win 3.1 include diversi componenti che consentono di creare la finestra di dialogo "Apri file" o "Salva file" personalizzata: TFileListBox, TDirectoryListBox, TDriveComboBox, e TFilterComboBox.

Navigazione dei file

I componenti del file system ci consentono di selezionare un'unità, vedere la struttura gerarchica della directory di un disco e vedere i nomi dei file in una determinata directory. Tutti i componenti del file system sono progettati per funzionare insieme.

Ad esempio, il codice controlla ciò che l'utente ha fatto, ad esempio, un DriveComboBox e quindi passa queste informazioni a un DirectoryListBox. Le modifiche in DirectoryListBox vengono quindi passate a FileListBox in cui l'utente può selezionare i file necessari.

Progettazione del modulo di dialogo

Avviare una nuova applicazione Delphi e selezionare la scheda Win 3.1 della palette Componente. Quindi procedi come segue:

  • Inserire un componente TFileListBox, TDirectoryListBox, TDriveComboBox e TFilterComboBox su un modulo, mantenendo tutti i nomi predefiniti
  • Aggiungi un TEdit (chiamato "FileNameEdit") e un TLabel (chiamalo "DirLabel").
  • Includi alcune etichette con didascalie, come "Nome file", "Directory", "Elenco file di tipo" e "Unità".

Per mostrare il percorso attualmente selezionato come stringa in una didascalia dei componenti DirLabel, assegnare il nome dell'etichetta a DirectoryListBox's Proprietà DirLabel.

Se si desidera visualizzare il nome file selezionato in un EditBox (FileNameEdit), è necessario assegnare il nome dell'oggetto Modifica (FileNameEdit) al FileListBox Proprietà FileEdit.

Altre righe di codice

Quando nel modulo sono presenti tutti i componenti del file system, è sufficiente impostare la proprietà DirectoryListBox.Drive e la proprietà FileListBox.Directory per consentire ai componenti di comunicare e mostrare ciò che l'utente desidera vedere.

Ad esempio, quando l'utente seleziona una nuova unità, Delphi attiva il DriveComboBox OnChange gestore di eventi. Fallo in questo modo:

 procedura TForm1.DriveComboBox1Change (Mittente: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
fine;

Questo codice cambia la visualizzazione in DirectoryListBox attivando il suo OnChange gestore di eventi:

 procedura TForm1.DirectoryListBox1Change (Sender: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
fine;

Per vedere quale file è stato selezionato dall'utente, è necessario utilizzare il file OnDblClick evento del FileListBox: