26 December 2008
Berpindah Antar Kontrol Dengan Enter
Untuk menggunakan cara ini kita bisa menempatkan kodenya pada Event KeyPress pada tiap kontrol yang kita inginkan, misalnya pada textbox. Berikut ini adalah contoh kodenya:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
Pada kode ini kita pastikan terlebih dahulu bahwa pengguna menekan tombol enter dimana tombol enter nilai ASCII-nya adalah 13. Setelah itu kita menggunakan fungsi SendKeys dimana kita mengirimkan nilai dari tombol Tab. Lalu nilai ASCII-nya kita kembalikan lagi menjadi 0.
Read more ...
22 November 2008
Perintah DOS pada Visual Basic 6.0
Sebelumnya siapkan sebuah form dengan satu buah command button, trus ketik code berikut:
Private sub command1_click()
sYourCommand="copy C:/vb.txt D:/vb.txt"
shell "cmd \c " & sYourCommand
End Sub
Dah cuma gitu aja code-nya.
Variabel sYourCommand adalah perintah dos yang ingin kita lakukan, pada code di atas dicontohkan kita akan menyalin file vb.txt pada C: ke D:, perintah ini bisa kita ganti dengan perintah dos yang lainnya.
Pada baris bawahnya kita menggunakan "Shell" yang berfungsi untuk memanggil aplikasi yang ada, disini kita memanggil aplikasi commnad promt, untuk memasukkan perintah dos kita menggunakan tambahan " \c " lalu kita tambahkan string tersebut dengan perintah dos yan telah kita simpan pada variabel sYourCommand. Read more ...
17 July 2008
Marquee Form Caption
Jika anda berfikir kode yang digunakan akan ribet dan banyak, maka tidak demikian, kode yang digunakan sangat sederhana karena hanya melibatkan beberapa fungsi dasar saja diantaranya fungsi Left yang digunakian untuk mendapatkan karakter dari sebelah kiri, lau ada fungsi Right yang berfungsi untuk mencari karakter yang dimulai dari sebelah kanan serta fungsi Len yang dipakai untuk mendapatkan panjang karakter.
Kontrol yang digunakan juga menggunakan kontrol standar dari visual basic 6.0 yaitu satu buah kontrol timer yang intervalnya kita set menjadi 100 atau bisa kita ganti sesuai keinginan kita.
Kalo mau mencoba silahkan ketikkan kode berikut:
Private Sub Form_Load()
Form1.Caption = " [ Belajar VB 6.0 ] "
End Sub
Private Sub Timer1_Timer()
a = Left(Form1.Caption, 1)
b = Len(Form1.Caption)
c = Right(Form1.Caption, b - 1)
Form1.Caption = c + a
End Sub
Sederhana kan ??? Read more ...
10 July 2008
Tampilan Warna Warni
Dalam visual basic telah tersedia sebuah fungsi yang bernama RGB singkatan dari RED GREEN BLUE yang berfungsi untuk mengatur intensitas warna merah, hijau dan biru pada suatu objek. Bentuk umum dari fungsi ini adalah RGB(Red As Integer, Green As Integer, Blue As Integer ).
Sebagai contoh kita bisa memasukkan RGB(255,0,0) untuk menampilkan warna merah. Angka 255 pada fungsi tadi dimaksudkan untuk mendapatkan warna merah yang maksimum, bila kita kurangi nilainya maka warna merahnya akan semakin tua. Kita juga bisa membuat gradasi warna yang lain yang kita inginkan.
Untuk membuat sebuah label atau background atau properti warna yang lain pada sebuah kontrol maka kita bisa memanfaatkan statement Randomize (Rnd) yang berfungsi untuk mengacak intensitas warna.
Mari kita coba membuat sebuah aplikasi dengan memanfaatkan fungsi RGB dan statement Rnd. Kontrol yang kita butuhkan adalah sebuah label dan sebuah Timer dengan interval 100. Lalu cobalah ketikkan kode berikut ini dan mainkan programmu. :
Private Sub Timer1_Timer()
Label1.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
End Sub
Kalau malas mengetikkan kodenya, bisa diambil contohnya disini. Read more ...
Mencari ASCII Sebuah Tombol
Berikut ini ada sebuah aplikasi sederhana untuk mengetahui nilai ASCII pada tombol keyboard yang kita tekan dengan memanfaatkan event keypress.
Buatlah sebuah project baru dengan menambahkan sebuah kontrol. Kemudian ketikkan kode berikut :
Private Sub Text1_KeyPress(KeyAscii As Integer)
MsgBox "Nilai ASCII dari tombol yang anda tekan adalah " & KeyAscii
End Sub
Cara kerja dari program diatas sangat sederhana, yaotu kita cukup menekan sebuah tombol atau gabungan dengan tombol Shift maka akan muncul sebuah Message box yang menampilkan nilai ASCII-nya.
Sebagai catatan, tidak semua tombol dapat kita tampilkan KEYASCII-nya misalnya tombol anak panah, Shift, CTRL, dll. Read more ...
19 June 2008
Mencari Selisih Tanggal
Cara penggunaan dari fungsi ini adalah sbb:
dim hari, bulan, tahun
'Untuk mencari selisih hari
hari=DateTime.DateDiff("d", CDate(Text1.Text), CDate(Text2.Text))
'Untuk mencari selisih bulan
bulan = DateTime.DateDiff("m", CDate(Text1.Text), CDate(Text2.Text))
'Untuk mencari selisih tahun
tahun = DateTime.DateDiff("yyyy", CDate(Text1.Text), CDate(Text2.Text))
Dalam contoh code diatas yang membedakan dari tiap kegunaannya adalah fungsi "d,m dan yyyy", dimana ketiganya mewakili untuk hari atau day (d), bulan atau month (m).
Dalam kode diatas, terdapat satu fungsi yang berfungsi untuk meng convert mengubah tipe data dari string ke tipe tanggal, yaitu fungsi CDate .
Kode diatas dapat kita letakkan pada prosedur command_click atau bisa juga diletakkan pada tempat lain. Read more ...
06 June 2008
Select TextBox
Ada salah satu cara, yaitu dengan memblok atau menyeleksi semua isi dari textbox sehingga bila user ingin mengganti data yang di-inputkan maka user tidak perlu menghapus terlebih dahulu, namun bisa langsung memasukkan data yang baru. berikut contoh code -nya:
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
End Sub
Untuk membuat text terpilih semuanya maka kita dapat meletakkan code kita pada event GotFocus pada textbox. Event ini berfungsi saat componen yang kita mendapatkan fokus atau pada saat kursor berada pada komponen ini, dalam hal ini komponen yang kita gunakan adalah textbox.
Pada properti SelStart nilai value kita set dengan nilai 0 berarti text yang kita pilih dimulai dari depan, kalau pengen dicobain, nilai ini bisa diubah menjadi 1 atau 2 atau berapapun asalkan tidak lebih dari jumlah karakter yang kita masukkan, dan bisa dilihat perpedaannya.
Kemudian pada baris kedua adalah panjang atau lebar sel atau text yang akan diseleksi, pada code ini kita set nilainya dengan menggunakan perintah Len , yang berfungsi untuk mengetahui banyaknya karakter pada textbox1, sehingga program kita akan lebih dinamis, bayangkan saja bila nilainya kita set menjadi nilai tertentu misalnya 10, maka yang terjadi adalah bila user memasukkan karakter lebih dari 10 maka data pada textbox tidak akan terseleksi semua.
Selamat Berexperimen Read more ...
11 May 2008
Membatasi Fungsi Keyboard
Untuk validasi nilai angka dan huruf saja mungkin tidaklah sulit kita bias menggunakan perintah “isnumeric” untuk validasi angka dan “not isnumeric” untuk validasi karakter huruf. Namun cara ini saya nilai tidaklah efektif karena apabila dalam satu textbox yang kita validasi berisi gabungan dari huruf dan angka maka validasi yang kita gunakan menjadi tidak berguna.
Berikut ini saya berikan cara untuk membatasi inputan dari user sesuai dengan karakter yang kita inginkan :
Private Sub text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MsgBox “Anda baru menekan tombol Enter”
End If
If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
End If
End Sub
Fungsi yang saya gunakan untuk membatasi input dari user adalah perintah InStr. Dengan perintah ini maka user hanya dapat menekan tombol-tombol pada keyboard sesuai dengan yang kita izinkan, pada contoh saya diatas, saya hanya mengizinkan atau mengaktifkan tombol “0123456789,” pada keyboard yang telah memiliki nilai ACSII tersendiri. Apabila user mengetikkan selain “0123456789,” maka aplikasi tidak akan merespon dan tidak akan ditampilkan pada textbox. Lalu bagaimana bila kita hanya boleh mengizinkan user untuk memasukkan huruf kecil saja maka kita bias mengganti code tadi menjadi :
InStr("abcde s.d. z", Chr(KeyAscii)) = 0
Dan berlaku untuk karakter lainnya.
Lalu apa fungsi dari code dibawahnya :
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
Code ini untuk mengizinkan user menggunakan tombol Backspace (vbKeyBack) untuk memperbaiki data yang ditelah dimasukkan.
Kelebihan dari code ini adalah untuk mencegah user usil dengan memasukkan code tertentu yang bisa digunakan untuk membobol database yang ada. Terutama bila menggunakan login yang datanya diambil dari database. Read more ...
Membuat Paket File Instalasi
Pastikan program yang kita buat sudah tidak terdapat kesalahan
Buatlah file exe-nya dengan memilih file >> Make (Project Name) exe...
Masuklah ke menu Add-Ins
Pada kolom Available Add-Ins carilah Package and Deployment Wizard
Pada bagian Load Behavior beri tanda centang pada Loaded/Unloaded dan Load on Startup >> OK.
Maka pada menu Add-Ins akan muncul menu baru yaitu Package and Deployment Wizard pilihlah menu ini untuk langkah selanjutnya.
Apabila muncul permintaan untuk mengkompile ulang pilihlah perintah Yes. Apabila proses kompile gagal, itu berarti program yang dibuat masih memiliki kesalahan.
Langkah selanjutnya kita bisa langsung memilih Next hingga muncul jendela Package folder. Pada bagian ini pilihlah letak tempat penyimpanan hasil paketan kemudian Next.
Apabila muncul jendela Missing Dependency Information kita bisa melewati bagian ini dan langsung memilih OK.
Langkah selanjutnya adalah munculnya jendela Included Files, apabila anda menggunakan database access maka pilihlah Add dan carilah database anda. Apabila file tidak ditemukan pada jendela Add File, ubahlah files of type menjadi All Files (*.*).
Sebelum memilih Next perhatikan terlebih dahulu Name dari File, hilangkan tanda centang pada file msado25.tlb. Pengalaman saya bila file ini tidak dihilangkan maka pada saat proses instalasi akan muncul pesan kesalahan yang bila kita Ignore maka tidak akan mempengaruhi aplikasi kita.
Pada jendela selanjutnya ada dua pilihan yaitu Single Cap dan Multiple Caps, apabila dipilih Single Cap maka file-file aplikasi akan dibuat dalam satu file, namun bila kita memilih Multiple Caps kita bisa membagi file-file instalasi menjadi beberapa file sebesar Cap size, lalu Next
Pada bagian Installation Title isilah kata-kata yang biasanya merupakan nama dari aplikasi yang kita buat, dan akan muncul sebagai latarbelakang pada saat proses instalasi.
Pada langkah selanjutnya merupakan pengaturan tata letak shortcut pada start menu kita bisa mengubah tata letak dan namanya atau kita bisa langsung klik Next.
Langkah selanjutnya kita bisa langsung klik Next juga pada bagian Shared files di langkah selanjutnya.
Finish
Pada akhir proses paket ada laporan yang bisa kita sompan atau bisa juga diabaikan.
Cobalah melakukan instalasi dan cobalah.
Read more ...
02 May 2008
Visual Basic ? Apaan Sih ?
Visual Basic atau yang lebih dikenal dengan VB merupakan bahasa pemrograman yang menawarkan IDE ( Integrated Development Environment ) yang bertujuan untuk menfasilitasi pembangun perangkat lunak dengan utilitas yang diperlukan.
Visual Basic merupakan turunan dari bahasa basic. Basic yang singkatan dari Beginners’ All-purpose Symbolic Instruction Code yang merupakan salah satu bahasa tingkat tinggi dan sebenarnya tidak bisa disebut sebagai bahasa pemula karena bahasa basic juga digunakan oleh senior-senior atau pemrogram ahli.
Pada visual basic ditawarkan akses ke basis data menggunakan Data Access Objects(DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO) dan dapat melibatkan banyak basis data mulai dari Oracle, Sql Server, Access dan MySql, serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX dan masih banyak lagi keunggulan yang lain.
"Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java."(Wikimedia.org) Read more ...
13 April 2008
Pencegahan Error Dengan Membatasi Tindakan Pengguna
Ada beberapa cara sederhana yang dapat dilakukan untuk mencegah pengguna melakukan kesalahan dalam menggunakan aplikasi salah satunya adalah dengan membatasi tindakan pengguna.
Untuk dapat membatasi tindakan pengguna maka dapat dilakukan dengan menjaga agar tindakan yang dilakukan pengguna benar-benar aman walaupun terkesan dipaksakan. Contoh kasus, pada saat pengguna akan menambah data dengan menekan tombol Tambah lalu menuliskan data yang baru. Bagaimana bila sebelum pengguna belum menekan tombol Simpan dan langsung menekan tombol navigasi ? Untuk mencegah hal tersebut maka kita dapat mengatur propertis enable pada tombol navigasi. Contoh kode program untuk mengaktifkan dan menonaktifkan tombol navigasi :
Private Sub cmdNavigasi(status As Boolean)
cmdFirst.Enabled = status
cmdLast.Enabled = status
cmdNext.Enabled = status
cmdPre.Enabled = status
End Sub
Private Sub cmdTambah_Click()
Call cmdNavigasi(False) ‘---Menonaktifkan tombol navigasi
End Sub
Private Sub cmdSimpan_Click()
Call cmdNavigasi(True) ‘---Mengaktifkan tombol navigasi
End Sub
Tindakan lain yang perlu diwaspadai adalah bila pengguna tanpa sengaja menekan tombol Hapus, maka kita harus membuat sebuah konfirmasi sebelum data benar-benar dihapus.
Selain itu untuk membatasi tindakan penguna dapat dilakukan dengan mengunci textbox sehingga pengguna tidak dapat melakukan perubahan. Misalnya kita tidak ingin pengguna merubah kode tetapi kita juga tidak ingin menggunakan kontrol label sebab kadang kita juga ingin menambah data baru. Oleh karena itu kita dapat mencegahnya dengan melakukan penguncian pada textbox yang kita inginkan dengan mengatur properti Locked-nya menjadi True atau False untuk sebaliknya.
Agar kesalahan pada database dapat dihindari kita juga bisa membatasi jumlah karakter yang boleh dimasukkan oleh pengguna dengan mengatur properti maxlength-nya menjadi lebar data pada database misalnya pada database lebar data adalah 5 karakter maka properti textbox-nya kita set menjadi 5 yang default-nya adalah 0.
Kesalahan lain yang dapat terjadi adalah pada tipe data yang berbeda dan pengaturan Null atau data boleh kosong dan Not Null atau data tidak boleh dikosongkan, misalnya pada database tipe datanya adalah int(integer) maka pengguna tidak boleh memasukkan unsur huruf didalamnya. Untuk mencegah hal tersebut maka dibutuhkan sebuah validasi data untuk mengecek apakah data yang dimasukkan sudah sesuai dengan ketentuan database yang diharapkan. Contoh kode programnya adalah sebagai berikut :
Private Sub cmdSimpan_Click()
If txtKode.Text = “” Then ‘---input kosong
MsgBox "Data tidak boleh kosong", vbExclamation + vbOKOnly,"Sistem Error"
txtKode.SetFocus
ElseIf Not IsNumeric(txtKode.Text) Then ‘---input bukan angka
MsgBox "Data tidak boleh kosong", vbExclamation + vbOKOnly, "Sistem Error"
txtKode.SetFocus
Else
Call simpan_data
End If
End Sub
Read more ...
19 February 2008
Modul Koneksi Vb 6.0 dengan Database Sql Server 2000
Berikut adalah code-nya yang bisa diletakkan pada modul :
Public con As New ADODB.Connection
Public rst As New ADODB.Recordset 'berfungsi sebagai variabel penyimpan sementara record
Public strcon As String ' variabel untuk code koneksi
Public strsql As String ' variabel untuk menampung code atau query sql
Public Sub Connections()
strcon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strcon
Else
con.Open strcon
End If
End Sub
Sama seperti koneksi pada ms. access, inti dari koneksi ini adalah pada variabel strcon
"strcon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test""
Pada bagian akhir code tersebut yaitu "Initial Catalog=test", test merupakan nama database yang telah dibuat pada sql server pada code ini saya memberikan contoh nama databasenya "test". Sehingga perlu disesuaikan dengan nama database yang digunakan.
Sebelum mencoba untuk mengkoneksikan, pastikan terlebih dahulu bahwa Servis Manager sql server sudah berada dalam kondisi Running, bila belum maka harus diaktifkan terlebih dahulu.
Untuk pemanggilan atau penggunaanya bisa dibaca pada posting saya sebelumnya.
Semoga berguna ya..................... Read more ...
17 February 2008
Pembuatan Modul Pada VB 6.0 dan Pengaplikasiannya
Kalo saya biasanya menggunakan modul buat prosedur2 yang akan saya pake di hampir semua form yang saya gunakan jadi dari pada saya buat prosedur yang sama maka saja buat di modul. Tapi gak harus di modul juga bisa, misalnya di sebuah form tapi dibagian depannya kita ganti biasanya "Private Sub Nama prosedur" kita ganti menjadi "Public sub Nama Prosedur". Public disini berarti prosedur yang kita buat bisa dipake disemua form yang ada di aplikasi kita.
Trus cara pemanggilannya juga gampang banget kok. Klo prosedurnya diletakkan di modul maka pemanggilannya "Call Nama prosedur", fungsi "call" berfungsi untuk memanggil prosedur yang sudah kita buat. Tapi kalo prosedurnya kita letakkan di form maka pemanggilannya agak berbeda, tapi tetap menggunakan fungsi "Call", menjadi "Call (nama form letak prosedur).(nama prosedur). Semua prosedur atau metode dan fungsi juga sama dalam pemanggilannya dengan menggunakan call dan pembuatannya didahului dengan kata "Public", klo sub prosedur ya menjadi Public Sub nama prosedur, kalo fungsi ya menjadi "public Function".
Semoga bermanfaat. Read more ...
19 January 2008
Simple Stopwatch Application from VB 6.0
Code program ini bisa kalian coba buat dengan metode perulangan atau looping. Namun pada code ini saya menggunakan "if bersarang". dan saya mencoba membuat sebuah logika yang sederhana yang semoga saja bisa dimengerti.
Berikut tampilan design dan name dari tiap control nya aplikasinya:
Dan berikut adalah coding yang digunakan :
Dim jam, menit, detik, milisec
Private Sub cmdExit_Click()
Timer1.Enabled = False
Timer2.Enabled = False
End
End Sub
Private Sub cmdreset_Click()
'membuat tampilan menjadi 00:00:00:00
lblSecon.Caption = "00"
lblMinute.Caption = "00"
lblHour.Caption = "00"
'pengaturan nilai variabel
jam = "0"
menit = "0"
detik = "0"
End Sub
Private Sub cmdStart_Click()
Timer1.Enabled = True
Timer2.Enabled = True
cmdreset.Enabled = False
cmdStart.Enabled = False
cmdStop.Enabled = True
jam = lblHour.Caption
menit = lblMinute.Caption
detik = lblSecon.Caption
End Sub
Private Sub cmdStop_Click()
Timer1.Enabled = False
Timer2.Enabled = False
cmdreset.Enabled = True
cmdStart.Enabled = True
cmdStop.Enabled = False
End Sub
Private Sub Form_Load()
'pemberian nilai properti interval timer
' interval untuk satu detik sama dengan kuranglebih 1000
Timer1.Interval = 1000
Timer2.Interval = 500
End Sub
Private Sub Timer1_Timer()
detik = detik + 1
If Val(detik) > 59 Then 'fungsi "val" untuk menggubah karakter menjadi angka atau number
detik = "00"
menit = Val(menit) + 1
If Val(menit) > 59 Then
menit = "00"
jam = Val(jam) + 1
If Val(jam) > 23 Then
jam = "00"
End If
End If
End If
d = Len(detik) 'fungsi "len" berguna untuk mengetahui banyak/panjang karakter
If d = 1 Then
lblSecon.Caption = "0" & detik 'membuat tampilan menjadi "0X"
'tanda "&" berfungsi untuk penggabungan karakter
Else
lblSecon.Caption = detik
End If
m = Len(menit)
If m = 1 Then
lblMinute.Caption = "0" & menit
Else
lblMinute.Caption = menit
End If
j = Len(jam)
If j = 1 Then
lblHour.Caption = "0" & jam
Else
lblHour.Caption = jam
End If
End Sub
Private Sub Timer2_Timer()
'Untuk membuat karakter titik dua ( : ) berkedip
Label1.Visible = Not Label1.Visible
Label2.Visible = Not Label2.Visible
End Sub
Untk pengembangannya bisa dicoba menambahkan fasilitas milisecon nya.
Read more ...
03 January 2008
Mengubah atribut file dengan Ms. VB 6.0
Akhirnya aku mencoba membuat sebuah aplikasi untuk mengubah attribut filenya menggunakan microsoft visual basic 6.0 , dan berhasil. neh aku bagiin sebuah aplikasi sederhana untuk membuka file yang ke superhidden.
Tampilan aplikasinya sbb:
Berikut adalah coding buat modulnya :
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Const MAX_PATH = 260
Public Const MAXWORD = &HFFFF
Public Const INVALID_HANDLE_VALUE = -1
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Public Function StripNulls(OriginalStr As String) As String
If (InStr(OriginalStr, Chr(0)) > 0) Then
OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
End If
StripNulls = OriginalStr
End Function
Dan ini coding pada formnya :
Option Explicit
Function FindFilesAPI(path As String, SearchStr As String, FileCount As Integer, DirCount As Integer)
Dim FileName As String
Dim DirName As String
Dim SearchPath As String, FindStr As String
Dim dirNames() As String
Dim nDir As Integer
Dim i As Integer
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Integer
Dim x As Long
Dim xx As Long
If Right(path, 1) <> "\" Then path = path & "\"
nDir = 0
ReDim dirNames(nDir)
Cont = True
hSearch = FindFirstFile(path & "*", WFD)
If hSearch <> INVALID_HANDLE_VALUE Then
Do While Cont
DirName = StripNulls(WFD.cFileName)
If (DirName <> ".") And (DirName <> "..") Then
If GetFileAttributes(path & DirName) Or FILE_ATTRIBUTE_DIRECTORY Then
dirNames(nDir) = DirName
DirCount = DirCount + 1
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
End If
End If
If (DirName <> ".") And (DirName <> "..") And (DirName <> "RECYCLER") And (DirName <> "System Volume Information") And (DirName <> "Thumbs.db") And (DirName <> "Desktop.ini") And (DirName <> "desktop.ini") Then
x = SetFileAttributes(path & DirName, FILE_ATTRIBUTE_NORMAL)
xx = CloseHandle(x)
List1.AddItem path & DirName
End If
Cont = FindNextFile(hSearch, WFD)
Loop
Cont = FindClose(hSearch)
End If
If nDir > 0 Then
For i = 0 To nDir - 1
FindFilesAPI = FindFilesAPI(path & dirNames(i) & "\", SearchStr, FileCount, DirCount)
Next i
End If
End Function
Private Sub Command1_Click()
Dim SearchPath As String, FindStr As String
Dim FileSize As Long
Dim NumFiles As Integer, NumDirs As Integer
Dim msg
If Trim(UCase(Text1.Text)) = "C:\" Then
msg = MsgBox("Any Directories System will be show " & Chr(13) & " Are you sure to continue ?", vbQuestion + vbYesNo, ":: Confirmation ::")
If msg = vbYes Then
GoTo scan_acc
End If
Else
GoTo scan_acc
End If
Exit Sub
scan_acc:
Screen.MousePointer = vbHourglass
Command2.Enabled = False
Command1.Caption = "Please....wait"
List1.Clear
Label4.Caption = ""
SearchPath = Text1.Text
FindStr = Label1.Caption
FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)
Label4.Caption = NumDirs & " Directories found in ' " & SearchPath & "'"
Screen.MousePointer = vbDefault
Command2.Enabled = True
Command1.Caption = "&Scan"
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Dir1_Change()
Text1.Text = Dir1.path
End Sub
Private Sub Drive1_Change()
On Error GoTo err
Dir1.path = Drive1.Drive
Exit Sub
err:
MsgBox "Device not ready", vbExclamation, ":: Device ::"
Drive1.Drive = "D:\"
Exit Sub
End Sub
Private Sub Form_Load()
Drive1.Drive = "D:\"
End Sub
Semoga aplikasi ini bisa membantu dan bisa memberikan ide baru buat kamu yang pengen belajar bareng aku.
Read more ...
27 December 2007
Modul Koneksi Access
Setelah membuat project baru trus tambahkan sebuah modul lalu isikan dengan coding berikut atau bisa diambil disini :
Public con As New ADODB.Connection
Public rst As New ADODB.Recordset
Public strcon As String
Public sql As String ' berfungsi untuk menuliskan query sql
Public Sub Connections()
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\database_name.mdb"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strcon
Else
con.Open strcon
End If
End Sub
Inti dari code diatas terletak pada " strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\database_name.mdb" "
database_name diganti dengan nama database yang telah dibuat. Lalu letakkan atau simpan database tersebut satu direktori dengan project yang dibuat. Dah cuma gitu aja.
Trus untuk alasan keamanan database access bisa kita berikan password, klo demikian tentunya modul koneksinya juga ada perubahan sedikit menjadi sbb:
Pada bagian strcon diganti menjadi
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\database_name.mdb ;Persist Security Info=False;Jet OLEDB:Database Password=Password_access"
Selengkapnya bisa diambil disini
Sama seperti tanpa password database_name diganti menjadi nama database dan Password_access nya diganti dengan password yang telah dibuat pada microsoft accessnya.
Semoga membantu ya. Read more ...
14 December 2007
Anti Virus
Sejauh ini umumnya virus menyerang komputer yang berbasis windows atau yang menggunakan sistem operasi Windows, lantas akan timbul pertanyaan, Why ??? Ada satu jawaban yang saya temukan, yaitu lemahnya sistem security atau keamanan yang dibuat oleh microsoft, microsoft cenderung mementingkan user frendly atau penggunaan yang mudah di pengguna akhir- end user -namun justru melewatkan keamanan itu sendiri. Katanya windows adalah sistem operasi yang tidak open source atau kita tidak dapat mngubah-ubah isi dari SO itu, namun nyatanya untuk mengubah sistem dari windows lebih gampang apabila kita bandingkan dengan sistem operasi linux atau unix, kita tingal membuka regedit.exe maka kita bisa merusak sistem operasinya. Dan virus-virus termasuk virus lokal memanfaatkan regedit untuk menggerogoti komputer kita.
Kemudian muncullah beraneka ragam anti vurus yang di klaim bisa membasmi segala macam virus, namun sepndai-pandai polisi menemukan cara maling mencuri, pasti maling akan selalu selangkah lebih maju. Begitu juga dengan anti virus, mereka akan bisa mendeteksi adanya virus di komputer kita bila virusnya sudah ada, dan bagaimana kalau kita terkena virus sebelum ada antivirus yang dapat membasminya ?? Binggung kan?? paling ujung-ujungnya format harddisk !!!!!! Capek deh....hhhhhh. Selain itu kita juga akan banyak menghabiskan uang dan waktu hanya untuk mendownload update dari antivirus yang kita pake, atau keliling-keliling ke rental CD untuk mencari updetannya, repot kan ??????
Saat ini ada sebuah aplikasi yang cukup baik untuk menangkal semua antivirus. Aplikasi ini bernama DeepFreeze. Aplikasi ini sebenarnya bukanlah anti virus namun cara kerjanya bisa mencegah virus menginfeksi komputer kita karena cara kerja aplikasi ini adalah mengembalikan settingan apapun yang kita buat pada partisi/drive yang kita freeze ke setting-an semula apabila komputer kita restart. Kecenderungan virus bermukim di drive C: dapat dihilangkan karena bila mereka meletakkan induk atau settingan virusnya pada C: maka akan otomatis hilang bila komputer kita reboot. Aman kan !!!!! Read more ...
12 December 2007
Amankan File Word Anda
Biasanya virus-virus lokal gak ada yang tega menghapus file, tapi ternyata virus ini menghapus file yan memiliki extensi *doc. Awalnya gak percaya klo data documentku hilang karena biasanya cuma dihidden doank atau sampai di-superhidden oleh si virus, jadi saya mencoba mengubah pengaturan dari menu folder option yang ternyata bisa digunakan, namun ternyata data-data saya tetap gak ada. Karena penasaran, akhirnya saya mencoba membuka file virusnya, yaitu dari file bentukan si virus dengan hexa editor, sebuah aplikasi untuk melihat file secara heksadesimal. Dengan sedikit butuh kesabaran saya coba liat perbaris dari virus tersebut dan akhirnya saya menemukan sebuah kalimat yang cukup mengejutkan saya, kira-kira kalimatnya seperti ini "deletefile *.doc" . Dari sanalah akhirnya saya yakin bahwa file word saya sudah dihapus oleh si virus.
Untuk sebuah data penting saya biasanya membuat atau menyimpan data tersebut ke dalam beberapa media penyimpanan dari mulai harddisk, flasdisk, CD, DVD bahkan saya simpan sampai ke memory ponsel saya. Apalagi setelah saya tau klo ada virus ( dalam hal ini virus lokal ) yang sudah dengan tega menghapus data pengguna komputer yang terinfeksi. Klo virus dahulu kayaknya gak setega virus itu, virus-virus yang laen biasanya hanya merusak file sistem operasi.
Selain menyimpan di beberapa media penyimpanan saya juga sudah membuat beberapa cara penyimpanan data selain ber-ekstensi *.doc misalnya saya mengkompres data saya dengan WinRar dan Winzip karena biasanya virus gak bisa menyerang data yang terkompres, tapi gak saya gak tau juga ya, sapa tau dah ada virus yang merusak file yang terkompres. kemudian saya juga membuat file dalam mentuk PDF. Dan yang saya anggap paling aman dari gangguan virus adalah saya mengubah ekstensi filenya menjadi tiga huruf yang saya sukai dengan memanfaatkan perintah "ren" dari command promt saya mengubah semua file penting saya menjadi *.bck . Klo ada yang belom tau cara menggunakan perintah ren berikut saya berikan contohnya "> ren [nama file.doc] [nama file.bck]" trus enter.
Namun bila menggunakan cara yang terakhir, kita akan sedikit repot ketika ingin membuka atau ingin mengubah isi dari file tersebut karena kita harus mengubah kembali ekstensi file tersebut menjadi *.doc baru setelah itu kita bisa mengubahnya, atau kita bisa mencoba dengan klik kanan dan "open with"-nya pake office word.
Maenin virus terkadang menyenangkan namun terkadang juga menjengkelkan. Read more ...