Minggu, 01 Mei 2011
10
[VB.NET] Belajar Membuat Program File Scanner
Alhamdulillah, ini adalah postingan pertama saya setelah 1 minggu vakum setelah UN. Sebenarnya UN nya sudah selesai 1 minggu yang lalu, tetapi saya baru menyempatkan posting sekarang. Oke daripada kebanyakan omong, kita mulai saja rapat kali ini ^_^. Sebelumnya saya pernah mempostingkan bagaimana cara membuat Program Virus Scanner Sederhana, tetapi ternyata metode scan nya sangatlah lambat dan merepotkan. Nah kali ini saya akan membuat Program File Scanner yang mana metodenya lumanyan lebih cepat dan tidak memberatkan RAM. Mari kita lihat bagaimana?.
Buatlah proyek baru dengan 1 Form
Buatlah sedemikian rupa seperti ini sesuai keterangan dibawahnya:
Terakhir masukkan source codenya:
Dan setelah saya coba Run, kecepatan scan nya lumayan nih.
Tetapi itu belum ada code yang akan dijalankan pada setiap file yang akan di scan, mungkin jika agan menambahkan code seperti mengambil hash MD5 nya mungkin kecepatan akan semakin lambat tergantung banyaknya tugas yang dilaksanakan.
Nah, sampai sekian dulu. Seperti biasanya jika agan malas membuatnya, agan bisa mendownload source codenya dibawah ini.
Buatlah proyek baru dengan 1 Form
Deklarasi: 1 Form 2 Button 2 TextBox 1 ComboBox 5 Label 1 Timer
Buatlah sedemikian rupa seperti ini sesuai keterangan dibawahnya:
Keterangan 1: ComboBox Name: cboDir DropDownStyle: DropDownList 2: Button Name: cmdBrowse Text: "Browse" 3: Button Name: cmdScan Text: "Scan" 4: TextBox Name: txtCurrDir MultiLine: True ScrollBars: Vertical 5: Label Name: lblSpeed Text: "Speed:" 6: TextBox Name: txtCurrFile 7: Label Name: lblScanned Text: "Scanned:" 8: Label Name: lblUnscanned Text: "Unscanned:" 9: Label Name: Label1 Text: "Current Folder" 10: Label Name: Label2 Text: "Current File" 11: Timer Name: tmrSpeedo Enabled: False Interval: 1000
Terakhir masukkan source codenya:
Source Code Form1
' Program file scanner sederhana
' coded by nurkholish ardi f
' www.cr0wja.co.cc
Imports Microsoft.VisualBasic.FileSystem
Imports Microsoft.VisualBasic.Strings
Public Class Form1
Dim Scanned As UInt64
Dim Unscanned As UInt64
Dim ScannedBefore As UInt64
Dim RunScan As Boolean
Private Sub cmdScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdScan.Click
If cboDir.Text = "" Then Exit Sub
If cmdScan.Text = "Scan" Then
Turn(True)
ScanDir(cboDir.Text, True)
If cmdScan.Text = "Stop" Then ShowRes()
Else
ShowRes()
End If
Turn(False)
End Sub
Private Sub Turn(ByVal switch As Boolean)
Scanned = 0
Unscanned = 0
ScannedBefore = 0
tmrSpeedo.Enabled = switch
RunScan = switch
txtCurrDir.Text = ""
txtCurrFile.Text = ""
lblScanned.Text = "Scanned: "
lblSpeed.Text = "Speed: "
cmdBrowse.Enabled = Not switch
cboDir.Enabled = Not switch
If switch Then
cmdScan.Text = "Stop"
Else
cmdScan.Text = "Scan"
End If
End Sub
Private Sub ShowRes()
MsgBox("Done, " & Scanned & " file(s) scanned, " & Unscanned & " file(s) unscanned", MsgBoxStyle.Information, "Done")
End Sub
Private Sub cmdBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrowse.Click
Dim OpenDirDlg As New FolderBrowserDialog
With OpenDirDlg
.ShowDialog()
If .SelectedPath <> Nothing Then
cboDir.Items.Add(.SelectedPath)
cboDir.Text = .SelectedPath
End If
End With
OpenDirDlg = Nothing
End Sub
Private Sub ScanDir(ByVal dirpath As String, ByVal subdirs As Boolean)
If Not RunScan Then Exit Sub
Application.DoEvents()
If Strings.Right(dirpath, 1) <> "\" Then dirpath &= "\"
Dim CurrFile As String
Dim value As Int32
CurrFile = Microsoft.VisualBasic.Dir(dirpath)
Do While CurrFile <> ""
value = ScanFile(dirpath & CurrFile)
Scanned += value
Unscanned += IIf(value = 1, 0, 1)
txtCurrFile.Text = CurrFile
txtCurrDir.Text = dirpath
lblScanned.Text = "Scanned: " & Scanned & " file(s)"
lblUnscanned.Text = "Unscanned: " & Unscanned & " file(s)"
CurrFile = Microsoft.VisualBasic.Dir
Loop
If subdirs Then
For Each SubDir As String In FileIO.FileSystem.GetDirectories(dirpath, FileIO.SearchOption.SearchTopLevelOnly)
Try
ScanDir(SubDir, True)
Catch ex As Exception
End Try
Next
End If
End Sub
Private Function ScanFile(ByVal filepath As String) As Int32
If Not RunScan Then Exit Function
Application.DoEvents()
Try
Dim OpenFile As New IO.StreamReader(filepath)
'==========================================
' Disini agan bisa menambahkan code yang selanjutnya, setelah akses stream file reader terbuka
' bisa berupa mencari bit pada file, mendapatkan hash md5 nya atau sebagainya
' sesuai keinginan agan
'==========================================
OpenFile.Close()
Return 1
Catch ex As Exception
' jika terjadi error
Return 0
End Try
End Function
Private Sub tmrSpeedo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrSpeedo.Tick
If ScannedBefore = 0 Then
ScannedBefore = Scanned
Else
lblSpeed.Text = "Speed: " & (Scanned - ScannedBefore) & " file/s"
ScannedBefore = Scanned
End If
End Sub
End ClassDan setelah saya coba Run, kecepatan scan nya lumayan nih.
Tetapi itu belum ada code yang akan dijalankan pada setiap file yang akan di scan, mungkin jika agan menambahkan code seperti mengambil hash MD5 nya mungkin kecepatan akan semakin lambat tergantung banyaknya tugas yang dilaksanakan.
Nah, sampai sekian dulu. Seperti biasanya jika agan malas membuatnya, agan bisa mendownload source codenya dibawah ini.
Langganan:
Posting Komentar (Atom)





10 Komentar Untuk “[VB.NET] Belajar Membuat Program File Scanner”
Senin, 09 Mei 2011 pukul 15.47.00 WIB
hem,ga ngerti dah apa yg kmu tulis ar!!!
Selasa, 10 Mei 2011 pukul 07.37.00 WIB
@hana hahay
Senin, 30 Mei 2011 pukul 11.00.00 WIB
source code utk membuat matriks dengan VB.net ada gk..?? kalo ada tolong d share.. makasi :)
Selasa, 31 Mei 2011 pukul 12.40.00 WIB
@Anonim seeepp,, insyaallah bakal ane buatin bsok2..... ^_-
Senin, 06 Juni 2011 pukul 14.45.00 WIB
ni Pake VB Versi Apa ???
Selasa, 07 Juni 2011 pukul 09.23.00 WIB
@Admin klo ane pke vb.net. tepatnya vb 2010 gan
Senin, 19 Desember 2011 pukul 01.31.00 WIB
terimakasih bnget infonya gan... sangat bermanfaat sekali buat saya,,, sukses terus buat agan...
Senin, 19 Desember 2011 pukul 01.36.00 WIB
oiya gan kalo untuk yang di atas itu mesti buat data base virusnya apa tidak...trus cara untuk memperpadukan antara data base virus dengan menyecan file nya bgaimana ya?
Kamis, 29 Desember 2011 pukul 02.47.00 WIB
@Anonim ini kan program sederhana yang melakukan scan pada file, jadi jika agan pengin menjadikannya virus scanner agan tinggal menambahkan algoritma seperti pengecekan CRC file nya lalu dsamakan dengan CRC virus yang ada di database... moga membantu ;)
Senin, 10 September 2012 pukul 16.46.00 WIB
Nice Post Gan
Posting Komentar
Berikan komentar positif tentang artikel yang sederhana ini niscaya sobat akan mendapatkan balasannya. Hehehe