selamat pagi sobat blogger semuanya, jumpa lagi dengan saya di blog yang sederhana ini. Mudah-mudahan blog saya ini memberikan jawaban bagi agan semuanya, hehe...
kali ini saya akan memberikan tutorial seperti judul diatas yaitu 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 :
oke gan, langsung saja kita buat aplikasinya..:
pertama agan buka dulu visual studionya agan dan buat sebuah project baru, serta design project agan seperti gambar dibawah ini gan :
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 adalah menyimpan semua aksi baik itu lock maupun aksi untuk locknya..., hehe... sebenarnya databasenya ini gak terlalu penting sih, cuma gpp ya gan ane isiin database...?wkwkwkw..
desain databasenya seperti ini gan :
oke gimana gan ? sudah selesai membuat design nya ??? jika sudah sekarang kita lanjut ke bagian codingnya. Silahkan agan pindah ke bagian coding dan import reference berikut :
kemudian agan buat deklarasi variable sebagai koneksi databasenya seperti ini gan :
jika sudah, sekarang kita akan buat sebuah sub yang berguna untuk mendapatkan ukuran/size dari folder yang kita browse. codenya seperti ini gan :
setelah membuat function untuk mendapatkan size/ukuran dari folder, sekarang kita juga buat sebuah fungsi untuk mendapatkan nilai/mengkonversi nilai dari size folder diatas kedalam KB, MB, GB atau TB. codenya seperti ini gan :
kita ketemu lagi di tutorial berikutnya gan,,,
seeee...uuuuu
kali ini saya akan memberikan tutorial seperti judul diatas yaitu 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 :
oke gan, langsung saja kita buat aplikasinya..:
pertama agan buka dulu visual studionya agan dan buat sebuah project baru, serta design project agan seperti gambar dibawah ini gan :
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 adalah menyimpan semua aksi baik itu lock maupun aksi untuk locknya..., hehe... sebenarnya databasenya ini gak terlalu penting sih, cuma gpp ya gan ane isiin database...?wkwkwkw..
desain databasenya seperti ini gan :
oke gimana gan ? sudah selesai membuat design nya ??? jika sudah sekarang kita lanjut ke bagian codingnya. Silahkan agan pindah ke bagian 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 seperti 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"
jika sudah, sekarang kita akan buat sebuah sub yang berguna untuk mendapatkan ukuran/size dari folder yang kita browse. codenya seperti 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
setelah membuat function untuk mendapatkan size/ukuran dari folder, sekarang kita juga buat sebuah fungsi untuk mendapatkan nilai/mengkonversi nilai dari size folder diatas kedalam KB, MB, GB atau TB. codenya seperti 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 Functionsetelah selesai membuat 2 function tadi, sekarang kita berlanjut ke bagian form_load dan tambahkan kode berikut :
cnnOLEDB.ConnectionString = strConnectionString cnnOLEDB.Open() Label5.Text = DateTime.Now.ToString("dd-MM-yyyy") TampilData()tampil data diatas fungsinya adalah untuk menampilkan data dari database ke listview. kode untuk tampil datanya seperti 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 Sublanjut ke bagian browse folder, klik 2x pada button browse folder dan inputkan kode 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 Subpada saat button di browse, maka system akan mencatat data/informasi dari folder yang dibrowse seperti ukuran foldernya,dsb. setelah itu , klik 2x button unlock dan ketikkan kode 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 Subpada saat button unlock di klik dan sukses maka data akan dikirimkan pula ke database yang telah dibuat. setelah itu lanjut , klik 2x button lock dan ketikkan kode 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 Subterakhir, kita tambahkan kode pada button historynya, fungsi dari button history ini adalah untuk mengexport data didatabase ke dalam bentuk XML, kodenya seperti 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 Suboke gan, sekarang waktunya testing gan... silahkan jalankan aplikasinya dan jika agan mengikuti perintah dari awal maka 90% aplikasi ini pasti jalan, hehe.... tampilannya seperti ini gan (sebagai contoh saya akan kunci folder di drive saya dengan nama folder "Bahan Skripsi") : setelah terdapat pesan sukses bahwa folder telah di lock, sekarang coba agan tes folder yang di lock tadi, hasilnya akan seperti ini : oke gan sekian dulu tutorial dari saya, semoga ini bisa membantu agan agan semuanya, jika ada yang belum jelas dan kurang dimengerti silahkan komen gan... yang mau download langsung source codenya bisa link dibawah ini :
kita ketemu lagi di tutorial berikutnya gan,,,
seeee...uuuuu
2 komentar
ijin pakai buat tutorial , komandan !
link download nya mati...