Özel Windows Gezgini Oluşturmak için Delphi Nasıl Kullanılır

Windows Gezgini, dosyalara ve klasörlere göz atmak için Windows işletim sisteminde kullandığınız şeydir. Delphi ile benzer bir yapı oluşturabilirsiniz, böylece aynı içerik programınızın kullanıcı arayüzünde doldurulur.

Delphi'de ortak iletişim kutuları uygulamada dosya açma ve kaydetme. Özelleştirilmiş dosya yöneticileri ve dizin tarama iletişim kutuları kullanmak istiyorsanız, dosya sistemi Delphi bileşenleri ile uğraşmak zorundasınız.

Win 3.1 VCL palet grubu, kendi özel "Dosya Aç" veya "Dosya Kaydet" iletişim kutusunu oluşturmanıza olanak tanıyan çeşitli bileşenler içerir: TFileListBox, TDirectoryListBox, TDriveComboBox, ve TFilterComboBox.

Dosyalarda Gezinme

Dosya sistemi bileşenleri, bir sürücü seçmemize, diskin hiyerarşik dizin yapısına ve belirli bir dizindeki dosyaların adlarına bakmamıza izin verir. Tüm dosya sistemi bileşenleri birlikte çalışacak şekilde tasarlanmıştır.

Örneğin, kodunuz kullanıcının bir DriveComboBox'a ne yaptığını kontrol eder ve daha sonra bu bilgileri bir DirectoryListBox'a iletir. DirectoryListBox'taki değişiklikler daha sonra kullanıcının gereken dosyaları seçebileceği bir FileListBox'a aktarılır.

instagram viewer

İletişim Formunu Tasarlama

Yeniden başlamak Delphi uygulaması tıklayın ve Bileşen paleti. Ardından aşağıdakileri yapın:

  • Tüm varsayılan adlarını koruyarak bir TFileListBox, TDirectoryListBox, TDriveComboBox ve TFilterComboBox bileşenini forma yerleştirin
  • Bir TEdit ("DosyaAdıEdit" olarak adlandırılır) ve bir TEdit ekleyin TLabel ("DirLabel" deyin).
  • "Dosya Adı", "Dizin", "Tür Dosyalarını Listeleme" ve "Sürücüler" gibi altyazı içeren birkaç etiket ekleyin.

Şu anda seçili olan yolu bir DirLabel bileşenleri başlığında dize olarak göstermek için, Etiket'in adını DirectoryListBox'larına atayın DirLabel özelliği.

Seçilen dosya adını bir EditBox'ta (DosyaAdıEdit) görüntülemek istiyorsanız, FileListBox'larına Edit nesnesinin Adını (DosyaAdıEdit) atamanız gerekir FileEdit özelliği.

Daha Fazla Kod Satırı

Formdaki tüm dosya sistemi bileşenlerine sahip olduğunuzda, DirectoryListBox ayarını yapmanız yeterlidir. Drive özelliği ve FileListBox. Bileşenlerin iletişim kurması ve kullanıcının ne görmek istediğini göstermesi için dizin özelliği.

Örneğin, kullanıcı yeni bir sürücü seçtiğinde, Delphi DriveComboBox OnChange olay işleyicisi. Aşağıdaki gibi görünmesini sağlayın:

 prosedür TForm1.DriveComboBox1Change (Gönderen: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
son;

Bu kod, ekranın DirectoryListBox aktive ederek OnChange olay işleyicisi:

 prosedür TForm1.DirectoryListBox1Change (Gönderen: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
son;

Kullanıcının hangi dosyayı seçtiğini görmek için, OnDblClick olayı FileListBox:

 prosedür TForm1.FileListBox1DblClick (Gönderen: TObject);
beginShowmessage ('Selected:' + FileListBox1.FileName);
son;

Windows kuralının, dosyayı tek tıklatmayı değil, çift tıklatmayı seçtiğini unutmayın. Bu bir FileListBox ile çalışırken önemlidir çünkü bir FileListBox içinde hareket etmek için bir ok tuşunu kullanarak yazdığınız herhangi bir OnClick işleyiciyi çağırır.

Ekranı Filtreleme

Bir FileListBox içinde görüntülenen dosya türlerini denetlemek için bir FilterComboBox kullanın. FilterComboBox'ın FileList özelliğini bir FileListBox adına ayarladıktan sonra, Filter özelliğini görüntülemek istediğiniz dosya türlerine ayarlayın.

İşte bir örnek filtre:

 FilterComboBox1.Filter: = 'Tüm dosyalar (*. *) | *. * | Proje dosyaları (* .dpr) | * .dpr | Pascal birimleri (* .pas) | * .pas ';

İpuçları ve Püf Noktaları

DirectoryListBox ayarını yapma. Drive özelliği ve FileListBox. Çalışma zamanında Directory özelliği (önceden yazılmış OnChange olay işleyicilerinde) tasarım zamanında da yapılabilir. Aşağıdaki özellikleri ayarlayarak (Nesne Denetçisinden) bu tür bir bağlantıyı tasarım zamanında gerçekleştirebilirsiniz:

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

MultiSelect özelliği True ise kullanıcılar bir FileListBox içinde birden fazla dosya seçebilir. Aşağıdaki kod, bir FileListBox içinde birden çok seçim listesinin nasıl oluşturulacağını ve SimpleListBox'ta (bazı "sıradan" ListBox denetimi) nasıl gösterileceğini gösterir.

 var k: tam sayı; ...
FileListBox1 ile
SelCount> 0 ise
k için: = 0 to Öğeler. Sayı-1 do
[k] seçilirse o zaman
SimpleListBox. Öğeler. Ekle (Öğeler [k]);

Üç nokta ile kısaltılmayan tam yol adlarını görüntülemek için, DirectoryListBox'ın DirLabel özelliğine bir Label nesne adı atamayın. Bunun yerine, forma bir Etiket ekleyin ve altyazı özelliğini DirectoryListBox'ın OnChange olayında DirectoryListBox olarak ayarlayın. Dizin özelliği.