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 Class
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.
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