Tampilkan postingan dengan label VB 6. Tampilkan semua postingan
Tampilkan postingan dengan label VB 6. Tampilkan semua postingan

Jumat, 26 November 2010

Searching Listbox

Bagaimana jika kita memiliki banyak data dalam sebuah listbox dan kita akan melakukan eksekusi pada salah satu data dalam listbox tersebut ?
Sungguh tidak mungkin jika kita akan mencari satu per satu dari data tersebut ..

lalu bagaimana pencarian data dalam listbox ???
chekidot . !!! 














' Deklarasi


Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Const LB_SELECTSTRING = &H18C



Private Sub Command1_Click()
     Text1.Text = List1.Text
     MsgBox "You selected " & vbCrLf _
     & Text1.Text
     Text1.SetFocus

End Sub


' ini bagian terpenting untuk pencarian data di listbox


Private Sub Text1_Change()

     Dim lngEntryNum     As Long
     Dim strTextToFind   As String
     strTextToFind = Text1.Text
     lngEntryNum = SendMessageByString(List1.hwnd, LB_SELECTSTRING,0,strTextToFind)

End Sub




Contoh Program ..




Sabtu, 13 November 2010

Data & Variabel

Ketika seoranguser (pengguna) menggunakan sebuah program komputer, seringkalikomputer memintanya untuk memberikan informasi. Informasi ini kemudiandisimpan atau diolah oleh komputer. Informasi inilah yang disebutdengan DATA
Visual Basic 6 mengenal beberapa type data, antara lain :

  1. String adalah type data untuk teks (huruf, angka dan tanda baca). 
  2. Integer adalah type data untuk angka bulat. 
  3. Single adalah type data untuk angka pecahan. 
  4. Currency adalah type data untuk angka mata uang.
  5. Date adalah type data untuk tanggal dan jam. 
  6. Boolean adalah type data yang bernilai TRUE atau FALSE. 

Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah. Wadah inilah yang disebut dengan VARIABEL. Setiap variabel untuk menyimpan data dengan type tertentu membutuhkan alokasi jumlah memory (byte) yang berbeda. 

Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program :  

Dim As

Contoh : Dim nama_user As String  

Aturan di dalam penamaan variabel :  
  1. Harus diawali dengan huruf.
  2. Tidak boleh menggunakan spasi. Spasi bisa diganti dengan karakter underscore (_)
  3. Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, <, >, dll). 
  4. Tidak boleh menggunakan kata-kata kunci yang sudah dikenal oleh Visual Basic 6 (seperti : dim, as,
    string, integer, dll).
 Sebuahvariabel hanya dapat menyimpan satu nilai data sesuai dengan typedatanya. Cara mengisi nilai data ke dalam sebuah variabel :

=  

Contoh : nama_user = “krisna”  

Untuk typedata tertentu nilai_data harus diapit tanda pembatas. Type data stringdibatasi tanda petikganda : “nilai_data”. Type data date dibatasi tandapagar : #nilai_data#. Type data lainnya tidak perlu tanda pembatas.  
Sebuah variabel mempunyai ruang-lingkup (scope) dan waktu-hidup (lifetime) :
  •  Variabel globaladalah variabel yang dapat dikenali oleh seluruh bagian program. Nilaidata yangtersimpan didalamnya akan hidup terus selama program berjalan.
  • Variabel lokaladalah variabel yang hanya dikenali oleh satu bagian program saja.Nilai data yang tersimpan didalamnya hanya hidup selama bagian programtersebut dijalankan.
 Variabelyang nilai datanya bersifat tetap dan tidak bisa diubah disebutKONSTANTA. Penulisan deklarasi konstanta di dalam kode program :

Const As =   < Nama Konstanta > As < Tipe_data > = < nilai data >

Contoh : Const tgl_gajian As Date = #25/09/2003#

Array

1.1 Apa itu Array ? 
Arraymerupakan sekumpulan nilai data yang “dikelompokkan” dalam sebuahvariabel. Array digunakan bila ada beberapa nilai data yang tipedatanya sama dan akan mendapat perlakuan yang sama pula. Misalnya, ada10 nilai data dengan tipe string dan akan diolah dengan cara yang sama,maka akan lebih mudah jika menggunakan sebuah array dibandingkan bilamenggunakan 10 variabel yang berbeda. Setiap nilai data di dalam sebuaharray disebut elemen array dan masing-masing dibedakan dengan nomerindeksnya.

1.2 Menggunakan Array
Sebuah array dideklarasikan dengan cara yang sama dengan variabel, yaitu menggunakan perintah Dim,
kemudian diikuti dengan tanda kurung dan jumlah elemen arraynya dikurangi 1 :

Dim nama_array(jumlah_elemen - 1) As tipe_data

Contoh : 

Dim NamaSiswa(99) As String  (array NamaSiswa akan mempunyai elemen sebanyak 100 dengan nomer indeks mulai dari 0 s/d 99).

Selanjutnya untuk mengisi nilai data ke dalam array :

nama_array(no_indeks) = nilai_data

Contoh :

NamaSiswa(0) = “umar” 
Namasiswa(1) = “fatimah” 

Untuk “mengosongkan” nilai data, bisa menggunakan struktur kontrol For…Next :

For i = 0 To 99
       NamaSiswa(i) = “”
Next i 

Lebih mudah bukan ?


Catatan :
  • Agar nomer indeks array dimulai dari 1 (bukan 0), bisa menggunakan perintah Option Base 1sebelum perintah Dim-nya, contoh : 
          Option Base 1
          Dim NamaSiswa(100) As String
  •  Atau bisa juga menggunakan kata To di dalam penentuan jumlah elemen array, contoh :
          Dim NamaSiswa(1 To 100) As String
  • Untuk mengetahui berapa jumlah elemen di dalam sebuah array, bisa menggunakan perintah Ubound(nama_array), contoh : 
          Dim NamaSiswa(1 To 100) As String 
          Dim JmlElemen As Integer 
 
          JmlElemen = Ubound(NamaSiswa)      >>  hasilnya 100
  • Bilajumlah elemen array yang dibutuhkan tidak diketahui atau ingin bisadiubah-ubah, maka bagian jumlah_elemen pada perintah Dim tidak perludiisi, contoh :
          Dim NamaSiswa() As String 
  • Untuk mengubah jumlah elemen array digunakan perintah Redim :
           Redim [Preserve] nama_array(jumlah_elemen) 
          
          Contoh :
          Redim NamaSiswa(1 To 150)
          (jumlah elemen array NamaSiswa menjadi 150 dengan nomer indeks dari 1 s/d 150)

Mp3 Player

1 bulan yang lalu , terpikir di benak saya untuk membuat sebuah aplikasi pemutar mp3 dengan vb 6. setelah beberapa kali mengalami kegagalan , akhirnya selesai jg Mp3 player ini , walaupun Mp3 player ini masih jauh dari sempurna. Oleh karena itu kritikan dan saran dari kalian sangatlah saya harapkan.
mudah²an Mp3 player ini dapat membantu serta menambah wawasan sobat mengenai pemrograman Visual basic.




Kamis, 26 Agustus 2010

Drag And Drop File ke listbox

Tutorial ini menunjukkan bagaimana cara ketika Anda men-drag file dari Windows Explorer kemudian men-drop-nya di listbox .
buat Form baru dengan sebuah kontrol Listbox (OLEDropMode=Manual) didalamnya.
Gimana caranya ???  

Sobat semua hanya tinggal tuliskan kode berikut ini di aplikasi yang sobat buat .

Private Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

For i = 1 To Data.Files.Count
     List1.AddItem Data.Files(i)
Next i

End Sub
 

Sekarang coba Sobat men-drag beberapa file yang ada di Windows Explorer, kemudian drag di atas kontrol ListBox aplikasi Anda. 

Hapus File yang sama di listbox

Bagaimana jika ada file yang sama dalam listbox , mungkin jika hanya 1 atau 2 file yang sama kita bisa menghapusnya satu per satu , nah bagaimana jika ada 100 atau 1000 .
apa mau sobat semua menghapus file nya satu persatu , sungguh membuang waktu dan tenaga bukan ?? 



Oleh karena itu saya akan membahas bagaimana cara menghapus file yang sama dalam sebuah listbox , atau bisa dikatakan kita akan menghapus duplikat file   


Ok langsung saja ke TKP ( ahaha udda kaya pembunuhan aja  

Public Sub HapusDuplicate(AxAlfa As ListBox)

     Dim I As Integer
     Dim J As Integer

     With AxAlfa
          For I = 0 To .ListCount - 1
                   For J = .ListCount To (I + 1) Step -1
                         If .List(J) = .List(I) Then
                             .RemoveItem J
                         End If
                   Next
          Next
      End With

End Sub


Misalkan kita akan menghapus file yang sama dalam list1 .
kita tinggal menuliskan HapusDuplicate list1


Contoh.
Perintah hapus di tuliskan di command button dengan property nama "HapusDuplikat"

Private Sub HapusDuplikat_Click()
       HapusDuplicate list1
End Sub


mudah-mudahan postingan ini dapat menjawab pertanyaan dari sahabat blogger dan berguna juga untuk yang lain..

selamat mencoba... :D

Sistem Tray

Tutorial ini menjelaskan bagaimana menerapkan sistem tray pada aplikasi vb yang akan sobat buat ..

Apa itu sistem tray ?? itu loh yang ada di pojok kanan bawah . tau kan ??
 

Ok sekarang kita lanjut ke code nya ....
pertama kita buat dulu sebuah module baru ( Pilih project lalu add module ) .
lalu copas code di bawah ini dalam modul tersebut .

Option Explicit

Const NIF_MESSAGE    As Long = &H1
Const NIF_ICON       As Long = &H2
Const NIF_TIP        As Long = &H4
Const NIM_ADD        As Long = &H0
Const NIM_MODIFY     As Long = &H1
Const NIM_DELETE     As Long = &H2
Const NIF_INFO                    As Long = &H10

Private Type NOTIFYICONDATA
    cbSize As Long
    hwnd As Long
    uID As Long
    uFlags As Long
    uCallbackMessage As Long
    hIcon As Long
    szTip As String * 128
    dwState As Long
    dwStateMask As Long
    szInfo As String * 256
    uTimeout As Long
    szInfoTitle As String * 64
    dwInfoFlags As Long
End Type

Public Enum TrayRetunEventEnum
    MouseMove = &H200
    LeftUp = &H202
    LeftDown = &H201
    LeftDblClick = &H203
    RightUp = &H205
    RightDown = &H204
    RightDblClick = &H206
    MiddleUp = &H208
    MiddleDown = &H207
    MiddleDblClick = &H209
    BalloonClick = &H405
    BalloonClose = &H404
End Enum

Public Enum ModifyItemEnum
    Tray_ToolTip = 1
    Tray_Icon = 2
End Enum

Public Enum BalloonIcon
    NIIF_NONE = &H0
    NIIF_INFO = &H1
    NIIF_WARNING = &H2
    NIIF_ERROR = &H3
    NIIF_GUID = &H4
End Enum

Private TrayIcon As NOTIFYICONDATA
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long


Public Sub TrayAdd(hwnd As Long, Icon As Picture, ToolTip As String)
    With TrayIcon
        .cbSize = Len(TrayIcon)
        .hwnd = hwnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        .uCallbackMessage = &H200
        .hIcon = Icon
        .szTip = ToolTip & vbNullChar
    End With
    Shell_NotifyIcon NIM_ADD, TrayIcon
End Sub

Public Sub TrayDelete()
    Shell_NotifyIcon NIM_DELETE, TrayIcon
End Sub

Public Sub TrayModify(Item As ModifyItemEnum, vNewValue As Variant)
    TrayHideBalloon
    Select Case Item
        Case Tray_ToolTip
            TrayIcon.szTip = vNewValue & vbNullChar
        Case Tray_Icon
            TrayIcon.hIcon = vNewValue.Handle
    End Select
    Shell_NotifyIcon NIM_MODIFY, TrayIcon
End Sub

Public Sub TrayShowBalloon(Prompt As String, Title As String, Optional Icon As BalloonIcon = NIIF_INFO)
    TrayHideBalloon
    With TrayIcon
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_INFO Or NIF_MESSAGE Or NIM_MODIFY  'Or NIF_TIP 'NIF_TIP Or NIF_MESSAGE
        .szInfo = Prompt & Chr(0)
        .szInfoTitle = Title & Chr(0)
        .dwInfoFlags = Icon
    End With
    Shell_NotifyIcon NIM_MODIFY, TrayIcon
End Sub

Public Sub TrayHideBalloon()
    With TrayIcon
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_INFO Or NIF_MESSAGE Or NIM_MODIFY  'Or NIF_TIP 'NIF_TIP Or NIF_MESSAGE
        .szInfo = Chr(0)
        .szInfoTitle = Chr(0)
    End With
    Shell_NotifyIcon NIM_MODIFY, TrayIcon
End Sub

Lalu pada form ketikan code berikut ini :
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim TrayEvent As TrayRetunEventEnum
  
    TrayEvent = X / Screen.TwipsPerPixelX

    Select Case TrayEvent
        Case RightDown
            SetForegroundWindow (Me.hwnd)
            ' Disini bisa sobat gunakan untuk popupmenu ketika klik kanan pada icon tray aplikasi sobat
        Case LeftDown
            SetForegroundWindow (Me.hwnd)
            WindowState = vbNormal
            Me.Show
            Me.SetFocus
    End Select
End Sub

Private Sub Form_Resize()
  If WindowState = vbMinimized Then
        TrayAdd Me.hwnd, Me.Icon, Me.Caption
        Me.Hide
    Else
        TrayDelete
        Me.Show
    End If
End Sub