Cara Menggunakan Delphi untuk Membangun Custom Windows Explorer

Windows Explorer adalah apa yang Anda gunakan di sistem operasi Windows untuk mencari file dan folder. Anda dapat membuat struktur serupa dengan Delphi sehingga konten yang sama terisi dalam antarmuka pengguna program Anda.

Kotak dialog umum digunakan dalam Delphi ke buka dan simpan file dalam aplikasi. Jika Anda ingin menggunakan manajer file yang disesuaikan dan dialog penelusuran direktori, Anda harus berurusan dengan komponen sistem file Delphi.

Grup palet Win 3.1 VCL mencakup beberapa komponen yang memungkinkan Anda membuat sendiri kotak dialog "Buka File" atau "Simpan File": TFileListBox, TDirectoryListBox, TDriveComboBox, dan TFilterComboBox.

Menavigasi File

Komponen sistem file memungkinkan kita untuk memilih drive, melihat struktur direktori hirarkis disk, dan melihat nama-nama file dalam direktori yang diberikan. Semua komponen sistem file dirancang untuk bekerja bersama.

Misalnya, kode Anda memeriksa apa yang telah dilakukan pengguna, katakanlah, DriveComboBox dan kemudian meneruskan informasi ini ke DirectoryListBox. Perubahan dalam DirectoryListBox kemudian diteruskan ke FileListBox di mana pengguna dapat memilih file yang diperlukan.

instagram viewer

Merancang Formulir Dialog

Mulai yang baru Aplikasi delphi dan pilih tab Win 3.1 pada Palet komponen. Kemudian lakukan hal berikut:

  • Tempatkan satu komponen TFileListBox, TDirectoryListBox, TDriveComboBox, dan TFilterComboBox pada formulir, simpan semua nama default mereka
  • Tambahkan satu TEdit (bernama "FileNameEdit") dan satu TLabel (sebut saja "DirLabel").
  • Sertakan beberapa label dengan teks, seperti "Nama File," "Direktori," "Daftar File Jenis," dan "Drive."

Untuk memperlihatkan jalur yang saat ini dipilih sebagai string dalam keterangan komponen DirLabel, tetapkan nama Label ke DirectoryListBox Properti DirLabel.

Jika Anda ingin menampilkan nama file yang dipilih dalam EditBox (FileNameEdit), Anda harus menetapkan Edit objek Nama (FileNameEdit) ke FileListBox's Properti FileEdit.

Lebih Banyak Baris Kode

Ketika Anda memiliki semua komponen sistem file pada formulir, Anda hanya perlu mengatur DirectoryListBox. Properti drive dan FileListBox. Properti direktori agar komponen dapat berkomunikasi dan menunjukkan apa yang ingin dilihat pengguna.

Misalnya, ketika pengguna memilih drive baru, Delphi mengaktifkan DriveComboBox OnChange pengendali acara. Jadikan seperti ini:

 procedure TForm1.DriveComboBox1Change (Pengirim: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
akhir;

Kode ini mengubah tampilan di layar DirectoryListBox dengan mengaktifkan nya Dalam perubahan pengendali acara:

 procedure TForm1.DirectoryListBox1Change (Pengirim: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
akhir;

Untuk melihat file apa yang dipilih pengguna, Anda harus menggunakan OnDblKlik acara tersebut FileListBox:

 procedure TForm1.FileListBox1DblClick (Pengirim: TObject);
beginShowmessage ('Dipilih:' + FileListBox1.FileName);
akhir;

Ingat bahwa konvensi Windows adalah memiliki klik dua kali memilih file, bukan satu klik. Ini penting ketika Anda bekerja dengan FileListBox karena menggunakan tombol panah untuk bergerak melalui FileListBox akan memanggil penangan OnClick apa pun yang telah Anda tulis.

Memfilter Layar

Gunakan FilterComboBox untuk mengontrol tipe file yang ditampilkan di FileListBox. Setelah menyetel properti FileList FilterComboBox ke nama FileListBox, atur properti Filter ke tipe file yang ingin Anda tampilkan.

Berikut filter contoh:

 FilterComboBox1.Filter: = 'Semua file (*. *) | *. * | File proyek (* .dpr) | * .dpr | Unit Pascal (* .pas) | * .pas ';

Petunjuk dan Tip

Mengatur DirectoryListBox. Properti drive dan FileListBox. Properti direktori (dalam event handler OnChange yang ditulis sebelumnya) pada saat runtime juga dapat dilakukan pada waktu desain. Anda dapat mencapai koneksi semacam ini pada waktu desain dengan mengatur properti berikut (dari Object Inspector):

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

Pengguna dapat memilih banyak file di FileListBox jika properti MultiSelect-nya Benar. Kode berikut menunjukkan cara membuat daftar pilihan ganda di FileListBox dan menunjukkannya di SimpleListBox (beberapa kontrol ListBox "biasa").

 var k: integer; ...
dengan FileListBox1 lakukan
jika SelCount> 0 maka
untuk k: = 0 ke Item. Hitung-1 lakukan
jika Dipilih [k] maka
SimpleListBox. Item. Tambah (Item [k]);

Untuk menampilkan nama jalur lengkap yang tidak disingkat dengan elipsis, jangan tetapkan nama objek Label ke properti DirLabel dari DirectoryListBox. Alih-alih, masukkan Label ke formulir dan atur properti caption-nya di event OnChange DirectoryListBox ke DirectoryListBox. Properti direktori.

instagram story viewer