Verwenden Sie die Delphi-Steuerelemente für Dateien und Verzeichnisse, um den Windows-Explorer nachzuahmen

Mit Windows Explorer können Sie im Windows-Betriebssystem nach Dateien und Ordnern suchen. Sie können mit Delphi eine ähnliche Struktur erstellen, sodass derselbe Inhalt in der Benutzeroberfläche Ihres Programms angezeigt wird.

In Delphi werden häufig verwendete Dialogfelder zum Öffnen und Speichern einer Datei in einer Anwendung verwendet. Wenn Sie angepasste Dateimanager und Dialogfelder zum Durchsuchen von Verzeichnissen verwenden möchten, müssen Sie sich mit Delphi-Komponenten für Dateisysteme befassen.

Die Win 3.1 VCL-Palettengruppe enthält mehrere Komponenten, mit denen Sie Ihr eigenes benutzerdefiniertes Dialogfeld "Datei öffnen" oder "Datei speichern" erstellen können: TFileListBox, TDirectoryListBox, TDriveComboBox, und TFilterComboBox.

Dateien navigieren

Mit den Dateisystemkomponenten können Sie ein Laufwerk auswählen, die hierarchische Verzeichnisstruktur einer Festplatte anzeigen und die Namen der Dateien in einem bestimmten Verzeichnis anzeigen. Alle Dateisystemkomponenten sind so konzipiert, dass sie zusammenarbeiten.

Beispielsweise überprüft Ihr Code, was der Benutzer an einer DriveComboBox getan hat, und leitet diese Informationen an eine DirectoryListBox weiter. Die Änderungen in DirectoryListBox werden dann an eine FileListBox übergeben, in der der Benutzer die benötigten Dateien auswählen kann.

Das Dialogformular gestalten

Starten Sie eine neue Delphi-Anwendung und wählen Sie die Registerkarte Win 3.1 in der Komponentenpalette. Dann machen Sie folgendes:

  • Platzieren Sie eine TFileListBox-, TDirectoryListBox-, TDriveComboBox- und TFilterComboBox-Komponente in einem Formular, wobei alle Standardnamen beibehalten werden
  • Fügen Sie ein TEdit (mit dem Namen "FileNameEdit") und ein TLabel (mit dem Namen "DirLabel") hinzu..
  • Fügen Sie einige Bezeichnungen mit Beschriftungen wie "Dateiname", "Verzeichnis", "Dateityp auflisten" und "Laufwerke" hinzu.

Um den aktuell ausgewählten Pfad als Zeichenfolge in einer Beschriftung der DirLabel-Komponenten anzuzeigen, weisen Sie den DirectoryListBox den Namen der Beschriftung zu DirLabel-Eigenschaft.

Wenn Sie den ausgewählten Dateinamen in einer EditBox (FileNameEdit) anzeigen möchten, müssen Sie den FileListBox den Namen des Edit-Objekts (FileNameEdit) zuweisen FileEdit-Eigenschaft.

Weitere Codezeilen

Wenn Sie alle Dateisystemkomponenten im Formular haben, müssen Sie nur die DirectoryListBox.Drive-Eigenschaft und die FileListBox.Directory-Eigenschaft festlegen, damit die Komponenten kommunizieren und anzeigen können, was der Benutzer sehen möchte.

Wenn der Benutzer beispielsweise ein neues Laufwerk auswählt, aktiviert Delphi das DriveComboBox OnChange Ereignishandler. Lass es so aussehen:

 procedure TForm1.DriveComboBox1Change (Sender: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
Ende;

Dieser Code ändert die Anzeige im DirectoryListBox durch Aktivierung seiner Bei Änderung Ereignishandler:

 procedure TForm1.DirectoryListBox1Change (Sender: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
Ende;

Um zu sehen, welche Datei der Benutzer ausgewählt hat, müssen Sie die verwenden OnDblClick Ereignis des FileListBox: