Cara Mencari File dan Folder Dengan Delphi

Saat mencari file, sering kali berguna dan perlu mencari melalui subfolder. Di sini, lihat cara menggunakannya DelphiKekuatan untuk membuat proyek file yang sederhana, namun kuat, temukan-cocok-cocokkan.

Proyek Pencarian File / Folder Mask

Proyek berikut tidak hanya memungkinkan Anda mencari file melalui subfolder, tetapi juga memungkinkan Anda dengan mudah menentukan atribut file, seperti Nama, Ukuran, Tanggal Modifikasi, dll. sehingga Anda dapat melihat kapan harus memunculkan Dialog Properti File dari menu Windows Explorer. Secara khusus, ini menunjukkan bagaimana mencari secara rekursif melalui subfolder dan mengumpulkan daftar file yang cocok dengan masker file tertentu. Teknik rekursi didefinisikan sebagai suatu rutin yang menyebut dirinya di tengah-tengah kodenya.

Untuk memahami kode dalam proyek, kita harus membiasakan diri dengan tiga metode berikutnya yang didefinisikan dalam unit SysUtils: FindFirst, FindNext, dan FindClose.

FindFirst

FindFirst adalah panggilan inisialisasi untuk memulai prosedur pencarian file terperinci menggunakan

instagram viewer
Panggilan Windows API. Pencarian mencari file yang cocok dengan specifier Path. Path biasanya menyertakan karakter wildcard (* dan?). Parameter attr berisi kombinasi atribut file untuk mengontrol pencarian. Konstanta atribut file yang dikenali di Attr adalah: faAnyFile (file apa saja), Direktori (direktori), faeadeadly (baca hanya file), faHidden (file tersembunyi), faArchive (file arsip), faSysFile (file sistem) dan faVolumeID (file volume ID).

Jika FindFirst menemukan satu atau lebih file yang cocok ia mengembalikan 0 (atau kode kesalahan untuk kegagalan, biasanya 18) dan mengisi Rec dengan informasi tentang file yang cocok pertama. Untuk melanjutkan pencarian, kita harus menggunakan catatan TSearcRec yang sama dan meneruskannya ke fungsi FindNext. Ketika pencarian selesai, prosedur FindClose harus dipanggil untuk membebaskan sumber daya Windows internal. TSearchRec adalah catatan yang didefinisikan sebagai:

Ketika file pertama ditemukan, parameter Rec diisi, dan bidang (nilai) berikut ini dapat digunakan oleh proyek Anda.
. Attr, atribut file seperti dijelaskan di atas.
. Nama memegang string yang mewakili nama file, tanpa informasi jalur
. Ukuran dalam byte file yang ditemukan.
. Waktu menyimpan tanggal dan waktu modifikasi file sebagai tanggal file.
. FindData berisi informasi tambahan seperti waktu pembuatan file, waktu akses terakhir, dan nama file panjang dan pendek.

FindNext

Fungsi FindNext adalah langkah kedua dalam prosedur pencarian file terperinci. Anda harus melewati catatan pencarian (Rec) yang sama yang telah dibuat oleh panggilan ke FindFirst. Nilai kembali dari FindNext adalah nol untuk sukses atau kode kesalahan untuk kesalahan apa pun.

TemukanTutup

Prosedur ini adalah panggilan penghentian yang diperlukan untuk FindFirst / FindNext.

Pencarian Pencocokan Topeng File Rekursif dalam Delphi

Ini adalah proyek "Mencari file" seperti yang terlihat pada waktu berjalan. Komponen paling penting pada formulir adalah dua kotak edit, satu kotak daftar, kotak centang, dan tombol. Kotak edit digunakan untuk menentukan jalur yang ingin Anda cari dan mask file. File yang ditemukan ditampilkan di kotak Daftar dan jika kotak centang dicentang maka semua subfolder dipindai untuk mencari file yang cocok.

Di bawah ini adalah cuplikan kode kecil dari proyek, hanya untuk menunjukkan bahwa mencari file dengan Delphi semudah: