Utiliser les contrôles de fichier et de répertoire Delphi pour imiter l'Explorateur Windows

L'Explorateur Windows est ce que vous utilisez dans le système d'exploitation Windows pour rechercher des fichiers et des dossiers. Vous pouvez créer une structure similaire avec Delphi afin que le même contenu soit rempli dans l'interface utilisateur de votre programme.

Des boîtes de dialogue communes sont utilisées dans Delphi pour ouvrir et enregistrer un fichier dans une application. Si vous souhaitez utiliser des gestionnaires de fichiers personnalisés et des boîtes de dialogue de navigation dans les répertoires, vous devez gérer les composants Delphi du système de fichiers.

Le groupe de palettes Win 3.1 VCL comprend plusieurs composants qui vous permettent de créer votre propre boîte de dialogue personnalisée "Ouverture de fichier" ou "Enregistrement de fichier": TFileListBox, TDirectoryListBox, TDriveComboBox, et TFilterComboBox.

Navigation dans les fichiers

Les composants du système de fichiers nous permettent de sélectionner un lecteur, de voir la structure de répertoire hiérarchique d'un disque et de voir les noms des fichiers dans un répertoire donné. Tous les composants du système de fichiers sont conçus pour fonctionner ensemble.

Par exemple, votre code vérifie ce que l'utilisateur a fait pour, disons, un DriveComboBox, puis transmet ces informations à un DirectoryListBox. Les modifications apportées à DirectoryListBox sont ensuite transmises à une FileListBox dans laquelle l'utilisateur peut sélectionner le ou les fichiers nécessaires.

Conception du formulaire de dialogue

Démarrez une nouvelle application Delphi et sélectionnez l'onglet Win 3.1 de la palette des composants. Procédez ensuite comme suit:

  • Placez un composant TFileListBox, TDirectoryListBox, TDriveComboBox et TFilterComboBox sur une fiche, en conservant tous leurs noms par défaut
  • Ajoutez un TEdit (nommé "FileNameEdit") et un TLabel (appelez-le "DirLabel").
  • Inclure quelques étiquettes avec des légendes, comme "Nom de fichier", "Répertoire", "Liste des fichiers de type" et "Lecteurs".

Pour afficher le chemin d'accès actuellement sélectionné sous forme de chaîne dans une légende de composants DirLabel, attribuez le nom de l'étiquette aux répertoires de DirectoryListBox. Propriété DirLabel.

Si vous souhaitez afficher le nom de fichier sélectionné dans un EditBox (FileNameEdit), vous devez attribuer le nom de l'objet Edit (FileNameEdit) aux FileListBox Propriété FileEdit.

Plus de lignes de code

Lorsque vous avez tous les composants du système de fichiers sur le formulaire, il vous suffit de définir la propriété DirectoryListBox.Drive et la propriété FileListBox.Directory afin que les composants communiquent et montrent ce que l'utilisateur souhaite voir..

Par exemple, lorsque l'utilisateur sélectionne un nouveau lecteur, Delphi active le DriveComboBox OnChange gestionnaire d'événements. Faites comme ça:

 procédure TForm1.DriveComboBox1Change (expéditeur: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
fin;

Ce code modifie l'affichage dans le DirectoryListBox en activant son Sur le changement gestionnaire d'événements:

 procédure TForm1.DirectoryListBox1Change (expéditeur: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
fin;

Pour voir quel fichier l'utilisateur a sélectionné, vous devez utiliser le OnDblClick événement du FileListBox: