Lock And Unlock Folder Dengan Menggunakan Vb.Net

selamat pagi sobat blogger semuanya, jumpa lagi dengan saya di blog yang sederhana ini. Mudah-mudahan blog saya ini memperlihatkan balasan bagi agan semuanya, hehe…
kali ini saya akan memperlihatkan tutorial mirip judul diatas ialah untuk membuat sebuah aplikasi mungil yang berfungsi untuk Lock/Mengunci dan Unlock/membuka kunci folder. Barangkali agan-agan punya folder yang bersifat sangat rahasia jadi kalau pake aplikasi ini sangat cocok dech….
sekilas penampakan aplikasinya gan :


Lock And Unlock Folder Dengan Memakai Vb.Net

setuju gan, langsung saja kita buat aplikasinya..:


pertama agan buka dulu visual studionya agan dan buat sebuah project baru, serta design project agan mirip gambar dibawah ini gan :


Lock And Unlock Folder Dengan Memakai Vb.Net

pada design tersebut saya menggunakan komponen :
* 1 toolstrip
* 1 Folder Browser Dialog
* 1 Listview
* 3 Button
* 4 Textbox


oya gan, hampir lupa saya. Pada aplikasi ini saya juga menggunakan sebuah simple database dengan menggunakan ms access. Jadi gunanya nanti database ini ialah menyimpan semua aksi baik itu lock maupun aksi untuk locknya…, hehe… bersama-sama databasenya ini gak terlalu penting sih, cuma gpp ya gan ane isiin database…?wkwkwkw..
desain databasenya mirip ini gan :


Lock And Unlock Folder Dengan Memakai Vb.Net

setuju gimana gan ? sudah selesai membuat design nya ??? jikalau sudah sekarang kita lanjut ke kepingan codingnya. Silahkan agan pindah ke kepingan coding dan import reference berikut :


Imports System.Security.AccessControl Imports System.IO Imports System.Data Imports System.Data.OleDb  

kemudian agan buat deklarasi variable sebagai koneksi databasenya mirip ini gan :


Dim cnnOLEDB As New OleDbConnection     Dim cmdOLEDB As New OleDbCommand     Dim cmdInsert As New OleDbCommand     Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Environment.CurrentDirectory & "\dbHistory.mdb"  

jikalau sudah, sekarang kita akan buat sebuah sub yang berguna untuk menerima ukuran/size dari folder yang kita browse. codenya mirip ini gan :


Function GetFolderSize(ByVal DirPath As String, Optional ByVal IncludeSubFolders As Boolean = True) As Long         Dim lngDirSize As Long         Dim objFileInfo As FileInfo         Dim objDir As DirectoryInfo = New DirectoryInfo(DirPath)         Dim objSubFolder As DirectoryInfo         Try             For Each objFileInfo In objDir.GetFiles()                 lngDirSize += objFileInfo.Length             Next             If IncludeSubFolders Then                 For Each objSubFolder In objDir.GetDirectories()                     lngDirSize += GetFolderSize(objSubFolder.FullName)                 Next             End If         Catch ex As Exception          End Try         Return lngDirSize     End Function  

sehabis membuat function untuk menerima size/ukuran dari folder, sekarang kita juga buat sebuah fungsi untuk menerima nilai/mengkonversi nilai dari size folder diatas kedalam KB, MB, GB atau TB. codenya mirip ini gan :


Private Function awalan(ByVal size As Long) As String         Dim totalString As String = ""         For prefix As Integer = 0 To 4             If size < 1024 Or prefix = 4 Then                 totalString = size                 Select Case prefix                     Case 0                         totalString &= " B"                     Case 1                         totalString &= " KB"                     Case 2                         totalString &= " MB"                     Case 3                         totalString &= " GB"                     Case 4                         totalString &= " TB"                 End Select                 Exit For             Else                 size /= 1024             End If         Next         Return totalString     End Function  

sehabis selesai membuat 2 function tadi, sekarang kita berlanjut ke kepingan form_load dan tambahkan aba-aba berikut :


cnnOLEDB.ConnectionString = strConnectionString         cnnOLEDB.Open()         Label5.Text = DateTime.Now.ToString("dd-MM-yyyy")         TampilData()  

tampil data diatas fungsinya ialah untuk menampilkan data dari database ke listview. aba-aba untuk tampil datanya mirip ini gan :


Sub TampilData()         With ListView1             .FullRowSelect = True             .MultiSelect = False             .View = View.Details             .Columns.Clear()             .Items.Clear()             .Columns.Add("Nama Folder", 100, HorizontalAlignment.Left)             .Columns.Add("Lokasi Folder", 165, HorizontalAlignment.Left)             .Columns.Add("Aksi", 60, HorizontalAlignment.Left)         End With         Dim sql As String = "SELECT namaFolder,lokasiFolder,aksi FROM tbData WHERE tanggal='" & Label5.Text & "'"         Dim sqlAdapter As New OleDbDataAdapter         Dim sqlTabel As New DataTable         With cmdOLEDB             .CommandText = sql             .Connection = cnnOLEDB         End With         With sqlAdapter             .SelectCommand = cmdOLEDB             .Fill(sqlTabel)         End With      End Sub  

lanjut ke kepingan browse folder, klik 2x pada button browse folder dan inputkan aba-aba berikut :


Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click         Dim ukuran As Long         With fbd             If .ShowDialog() = DialogResult.OK Then                 txtLokasi.Text = .SelectedPath             End If             txtNamaFolder.Text = IO.Path.GetFileName(txtLokasi.Text)             txtRoot.Text = IO.Path.GetPathRoot(txtLokasi.Text)             ukuran = GetFolderSize(txtLokasi.Text)             txtSize.Text = awalan(ukuran)         End With     End Sub  

pada dikala button di browse, maka system akan mencatat data/informasi dari folder yang dibrowse mirip ukuran foldernya,dsb. sehabis itu , klik 2x button unlock dan ketikkan aba-aba berikut gan :


Private Sub btnUnlock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnlock.Click If txtLokasi.Text = "" Then MsgBox("Silahkan Pilih Folder Dulu", vbExclamation, "Guzko Blog Tutorial") Exit Sub Else Try Dim fs As FileSystemSecurity = File.GetAccessControl(txtLokasi.Text) fs.RemoveAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny)) File.SetAccessControl(txtLokasi.Text, fs)  Dim tgl As String = DateTime.Now.ToString("dd-MM-yyyy") cmdInsert.CommandText = "INSERT INTO tbData (namaFolder,lokasiFolder,ukuranFolder,rootFolder,aksi,tanggal) VALUES " & _ "('" & txtNamaFolder.Text & "','" & txtLokasi.Text & "','" & txtSize.Text & "','" & txtRoot.Text & "','Unlock','" & tgl & "')" cmdInsert.CommandType = CommandType.Text cmdInsert.Connection = cnnOLEDB cmdInsert.ExecuteNonQuery() MsgBox("Folder Berhasil di Unlock", vbInformation, "Guzko Blog Tutorial") cmdInsert.Dispose() TampilData() Catch ex As Exception MsgBox("Unknown Error : " & ex.Message, vbCritical, "Guzko Blog Tutorial") End Try End If End Sub  

pada dikala button unlock di klik dan sukses maka data akan dikirimkan pula ke database yang telah dibuat. sehabis itu lanjut , klik 2x button lock dan ketikkan aba-aba berikut gan :


Private Sub btnLock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLock.Click         If txtLokasi.Text = "" Then             MsgBox("Silahkan Pilih Folder Dulu", vbExclamation, "Guzko Blog Tutorial")             Exit Sub         Else             Try                 Dim fs As FileSystemSecurity = File.GetAccessControl(txtLokasi.Text)                 fs.AddAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))                 File.SetAccessControl(txtLokasi.Text, fs)                  Dim tgl As String = DateTime.Now.ToString("dd-MM-yyyy")                 cmdInsert.CommandText = "INSERT INTO tbData (namaFolder,lokasiFolder,ukuranFolder,rootFolder,aksi,tanggal) VALUES " & _                     "('" & txtNamaFolder.Text & "','" & txtLokasi.Text & "','" & txtSize.Text & "','" & txtRoot.Text & "','Lock','" & tgl & "')"                 cmdInsert.CommandType = CommandType.Text                 cmdInsert.Connection = cnnOLEDB                 cmdInsert.ExecuteNonQuery()                 MsgBox("Folder Berhasil di Lock", vbInformation, "Guzko Blog Tutorial")                 cmdInsert.Dispose()                 TampilData()             Catch ex As Exception                 MsgBox("Unknown Error : " & ex.Message, vbCritical, "Guzko Blog Tutorial")             End Try          End If     End Sub  

terakhir, kita tambahkan aba-aba pada button historynya, fungsi dari button history ini ialah untuk mengexport data didatabase ke dalam bentuk XML, kodenya mirip ini :


Private Sub cmdHistory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHistory.Click         Dim tanya As Integer         tanya = MsgBox("Database akan di-export ke XML pada direktori aplikasi ini. Apakah yakin ingin export ?", vbQuestion + vbYesNo, "Guzko Tutorial")         If tanya = vbYes Then             Try                 Dim ds As New Data.DataSet()                 Dim da As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM tbData", cnnOLEDB)                 da.Fill(ds)                 ds.WriteXml(System.Environment.CurrentDirectory & "\history.xml", Data.XmlWriteMode.WriteSchema)                 MsgBox("Database berhasil di-export. History.xml berhasil dibuat", vbInformation, "Guzko Tutorial")             Catch ex As Exception                 MsgBox("Unknown Error : " & ex.Message, vbCritical, "Guzko Tutorial")             End Try         End If     End Sub 

oke gan, sekarang waktunya testing gan... silahkan jalankan aplikasinya dan jikalau agan mengikuti perintah dari awal maka 90% aplikasi ini pasti jalan, hehe.... tampilannya mirip ini gan (sebagai teladan saya akan kunci folder di drive saya dengan nama folder "Bahan Skripsi") :


Lock And Unlock Folder Dengan Memakai Vb.Net

Lock And Unlock Folder Dengan Memakai Vb.Net

setelah terdapat pesan sukses bahwa folder telah di lock, sekarang coba agan tes folder yang di lock tadi, karenanya akan mirip ini :


Lock And Unlock Folder Dengan Memakai Vb.Net

oke gan sekian dulu tutorial dari saya, supaya ini mampu membantu agan agan semuanya, jikalau ada yang belum jelas dan kurang dimengerti silahkan komen gan... yang mau download langsung source codenya mampu link dibawah ini :



kita ketemu lagi di tutorial berikutnya gan,,,
seeee...uuuuu
Sumber http://guz-kopyok.blogspot.com/


Postingan populer dari blog ini

Cara Mengatasi Xampp Phpmyadmin Error

Mengatasi Port Yang Bentrok Di Windows

Membuat Aplikasi Barcode Dengan Java Netbeans