Rabu, 06 April 2011

Scan File

Proses scan file biasanya digunakan aplikasi antivirus untuk mendapatkan seluruh lokasi file dalam suatu folder atau drive tertentu. Sebenarnya scan file juga bisa digunakan sekedar sebagai pencarian file tertentu. Misalnya Anda mempunyai aplikasi MP3 player, bisa ditambahkan fitur yang dapat mencari seluruh file *.mp3 yang terdapat dalam folder atau drive tertentu. Berikut ini cara membuat scan file yang sederhana.

[ VB 6.0 ]
Tambahkan Reference "Microsoft Scripting Runtime". Buat sebuah Form baru dengan sebuah ListBox dan sebuah CommandButton (Caption=Scan).
Di bagian '(Declarations)' dari Form ketikkan :
Dim Berhenti As Boolean

Sub ScanFile(ByVal Fol As Scripting.Folder)
If Berhenti = True Then Exit Sub
  
On Error Resume Next
Dim fi As Scripting.File
Dim fo As Scripting.Folder
  
For Each fi In Fol.Files
DoEvents
If Berhenti = True Then Exit Sub
List1.AddItem fi.Path 'menambahkan ke daftar
Next
  
For Each fo In Fol.SubFolders
ScanFile fo
Next

End Sub

Dan di bagian 'Command1_Click' ketikkan :
If Command1.Caption = "Scan" Then
List1.Clear
Berhenti = False
Command1.Caption = "Stop"
Dim fso As New FileSystemObject
ScanFile fso.GetFolder("D:\") 'gantikan D:\ dgn lokasi folder atau drive yg lain
Command1.Caption = "Scan"
Else 'stop
Berhenti = True
Command1.Caption = "Scan"
End If

Jika Anda ingin scan file tertentu semisal hanya file *.mp3 saja, tinggal gantikan kode berwarna merah dengan kode berikut :
If LCase(Right(fi.Path, 4)) = ".mp3" Then List1.AddItem fi.Path

Dan jika Anda ingin men-scan file yang ada di folder utamanya saja (tanpa file di folder-folder didalamnya), tinggal menghapus kode-kode yang berwarna biru.





[ VB NET ]
Buat sebuah Form baru dengan sebuah ListBox dan sebuah Button (Text=Scan).
Di bagian '(Declarations)' dari Form ketikkan :
Dim Berhenti As Boolean

Sub ScanFile(ByVal d As IO.DirectoryInfo)
If Berhenti = True Then Exit Sub
On Error Resume Next

Dim fi As IO.FileInfo
Dim di As IO.DirectoryInfo

For Each fi In d.GetFiles
Application.DoEvents()
If Berhenti = True Then Exit Sub
ListBox1.Items.Add(fi.FullName) 'menambahkan ke daftar
Next

For Each di In d.GetDirectories
ScanFile(di)
Next

End Sub

Dan di bagian 'Button1_Click' ketikkan :
If Button1.Text = "Scan" Then
ListBox1.Items.Clear()
Berhenti = False
Button1.Text = "Stop"
Dim di As IO.DirectoryInfo
di = FileIO.FileSystem.GetDirectoryInfo("D:\") 'gantikan D:\ dgn lokasi folder atau drive yg lain
ScanFile(di)
Button1.Text = "Scan"
Else 'stop
Berhenti = True
Button1.Text = "Stop"
End If

Jika Anda ingin scan file tertentu semisal hanya file *.mp3 saja, tinggal gantikan kode berwarna merah dengan kode berikut :
For Each fi In d.GetFiles("*.mp3")

Dan jika Anda ingin men-scan file yang ada di folder utamanya saja (tanpa file di folder-folder didalamnya), tinggal menghapus kode-kode yang berwarna biru.

Label: , , ,

0 Komentar:

Posting Komentar

Pengunjung yang baik selalu meninggalkan jejak berupa komentar. :)

Berlangganan Posting Komentar [Atom]

<< Beranda