Showing posts with label Misc-VB6. Show all posts
Showing posts with label Misc-VB6. Show all posts

Monday, May 28, 2012

Generate nomor Secara Unik

Di bawah ini merupakan fungsi yang berlakuk sebagai sebuah generator agar menampilkan nomor secara unik (tidak ada yang sama satu dengan yang lainnya).
Option Explicit 

Private Function
GenRanUnix(MIN As Integer, MAX As Integer) As Collection

Dim
iMax As Integer
Dim
iRan As Integer
Dim g As Integer
Dim y As Integer
Dim c As New Collection
Dim k As New Collection
Dim f As Integer
Dim x As Integer

For f =
MIN To MAX
c.Add f
Next

y =
c.Count
Randomize

For x =
1 To y
g =
Int(y * Rnd + 1)
k.Add c.Item(g)
c.Remove g
y =
c.Count
Next

Set
GenRanUnix = k

End Function

Contoh penggunaan generate nomor secara unik
Private Sub Command1_Click() 
Dim b As New Collection
Dim i As Integer
Dim
msg As String
List1.Clear
Set b = GenRanUnix(0, 100)
For i = 1 To b.Count
List1.AddItem b.Item(i)
Next
End Sub
READ MORE - Generate nomor Secara Unik

Fungsi Konfirmasi Sebelum Keluar Dari Aplikasi

Di bawah ini merupakan fungsi konfirmasi sebelum keluar dari aplikasi. Mengapa dibuat menjadi fungsi? agar reusability (memiliki sifat mudah digunakan kembali) karena hampir tiap software yang dibuat, memerlukan fungsi di bawah ini:
Option Explicit 

Public Function
ConfirmExit(Optional Title As String = "Konfirmasi") As Boolean
If
MsgBox("Are you sure want to exit?", vbQuestion + vbYesNo, Title) = vbYes Then
ConfirmExit = ConfirmExit
Else
ConfirmExit = True
End If
End Function

Contoh penggunaan fungsi di atas:
Private Sub Form_QueryUnload(Cancel As   Integer, UnloadMode As Integer) 
Cancel = ConfirmExit
End Sub

Penggunaan fungsi di atas dapat kita tempatkan pada event Unload ataupun QueryUnload.
READ MORE - Fungsi Konfirmasi Sebelum Keluar Dari Aplikasi

Sunday, May 27, 2012

Apakah Aplikasi Masih Dalam IDE Visual Basic 6.0

Ini merupakan tricky way (cara yang cerdik) untuk mengetahui apakah sebuah aplikasi masih dalam IDE Visual Basic 6.0 ataukah sudah dicompile. Procedurenya sangat sederhana sekali yakni dengan memanfaatkan handle error.
Public Function IsIDE() As Boolean 
On Error GoTo
ErrHandler
Debug.Print 1 / 0
ErrHandler:
IsIDE = Err
End Function
Contoh penggunaan kode di atas:
Private Sub Form_Load() 
If IsIDE Then
MsgBox "Jalankan aplikasi ini dari file .EXE", vbInformation, "Message"
End If
End Sub

READ MORE - Apakah Aplikasi Masih Dalam IDE Visual Basic 6.0

Mencegah Aplikasi Dijalankan Dua Kali

Di bawah ini merupakan fungsi kedua masih mengenai cara mencegah aplikasi dijalankan dua kali. Bagaimana implementasinya dalam Visual Basic 6.0? bisa Anda simak kodenya di bawah ini:
Option Explicit 

Declare Function
OpenIcon Lib "user32" (ByVal hWnd As Long) As Long
Declare Function
FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function
GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Declare Function
SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long

Public Const
GW_HWNDPREV = 3

Sub
ActivatePrevInstance()

Dim
AppTitle As String
Dim
PrevHndl As Long
Dim
result As Long

AppTitle = App.Title
App.Title = "unwanted instance"

If
PrevHndl = 0 Then
PrevHndl = FindWindow("ThunderRT6Main", AppTitle)
If PrevHndl <> 0 Then
PrevHndl = GetWindow(PrevHndl, GW_HWNDPREV)
result = OpenIcon(PrevHndl)
result = SetForegroundWindow(PrevHndl)
End
End If
End If

End
Sub
Contoh penggunaan:
Private Sub Form_Load() 
If App.PrevInstance Then ActivatePrevInstance
End Sub
READ MORE - Mencegah Aplikasi Dijalankan Dua Kali

Mencegah Aplikasi Dijalankan Dua Kali

Di bawah ini merupakan cara termudah untuk mencegah sebuah aplikasi dijalankan dua kali (double instance). Bagaimana implementasinya dalam Visual Basic 6.0? Simaklah kodenya di bawah ini.
Option Explicit  

Private Sub
ActivatePrevInstance()
AppActivate
App.Title
SendKeys
"+", True
End
End Sub
Contoh penggunaan procedure di atas:
Private Sub Form_Load()  
If
App.PrevInstance Then ActivatePrevInstance
End Sub
READ MORE - Mencegah Aplikasi Dijalankan Dua Kali

Sunday, October 23, 2011

Control Yang Tidak Terpengaruh Oleh Resolusi Screen - Trik V

Apabila Form diiperbandingkan kepada Screen, maka control harus diperbandingkan kepada Form. Maksudnya kepada .ScaleTop, .ScaleLeft, .ScaleWidth, .ScaleHeight seperti yang telah kita pelajari sebelumnya.

Baiklah, sekarang saya akan membuat sebuah contoh control yang tidak terpengaruh oleh perubahan resolusi screen. Dalam hal ini control diwakili oleh satu CommandButton.
Option Explicit 

Private Sub
Form_Resize()
On Error Resume Next
With
Form1
.Left = 0
.Top = 0
.Height = (Screen.Height * 0.5)
.Width = (Screen.Width * 0.5)
End With
With
Command1
.Left = (Me.ScaleWidth * 0.68)
.Top = (Me.ScaleHeight * 0.78)
.Width = (Me.ScaleWidth * 0.2)
.Height = (Me.ScaleHeight * 0.1)
End With
End Sub

Nah, sekarang bagaimana jika di dalam Form tersebut terdapat 31 control, Apakah kita harus mengkodenya satu persatu? tentu saja tidak, di atas hanyalah dasar-dasar atau kode dasar untuk memudahkan pemahaman bagaimana agar form dan control tidak terpengaruh oleh resolusi screen. Adapun dalam kenyataanya, Anda harus memodifikasi dan membuatnya menjadi .Class, .Module, .OCX, .DLL agar mudah digunakan.

READ MORE - Control Yang Tidak Terpengaruh Oleh Resolusi Screen - Trik V

Friday, March 4, 2011

Visual Basic 6.0 - Kesalahan Penulisan Variable Yang Umum

Mengenai masalah kesalahan penulisan variable Visual Basic 6.0 yang sering ditemui - Seringkali kita menemui penulisan variable seperti di bawah ini:
Option Explicit 

Private Sub Form_Load() 
    Dim i, a, b, c, s As String    'Kode selanjutnya 
End Sub 
Penulisan variable seperti di atas seakan-akan menunjukan bahwa i, a, b, c memiliki tipe data string, Padahal dalam kenyataanya variable i, a, b, c di atas memiliki type data variant, hanya variable s saja dari contoh di atas yang memiliki type data string. Darimana kita mengetahuinya? mari kita lanjutkan.... rubahlah kode di atas sehingga menjadi:
Option Explicit 

Private Sub Form_Load() 
    Dim i, a, b, c, s As String    'Kode selanjutnya ... 
    'TypeName digunakan untuk mengetahui data type sebuah variable 
    Debug.Print TypeName(i) 'Empty -> data type variant 
    Debug.Print TypeName(b) 'Empty -> data type variant 
    Debug.Print TypeName(c) 'Empty -> data type variant 
    Debug.Print TypeName(s) 'String -> data type string 
End Sub  

Sebelum menjalankan kodenya, pijit CTRL + G untuk memunculkan Immediate Window untuk melihat hasilnya.
READ MORE - Visual Basic 6.0 - Kesalahan Penulisan Variable Yang Umum

Monday, March 22, 2010

Cara Menampilkan Dialog Credits Visual Basic 6.0

Pernahkah Anda melihat dialog credits Visual Basic 6.0? Siapakah sebenarnya orang-orang yang bekerja (tim [termasuk programmernya]) dibalik pembuatan bahasa pemrograman Visual Basic 6.0? pertanyaan dan seterusnya? Jika belum pernah dan penasaran, lakukan hal berikut ini:

Gantilah Sub Menu About Microsoft Visual Basic... dengan Show VB Credits (sub menu tersebut berada pada menu Help).

Cara mengganti Sub Menu About Microsoft Visual Basic:
  1. Klik kanan menu Help selanjutnya klik kiri menu customize
  2. Klik kiri menu Help
  3. Arahkan pointer mouse pada Sub Menu About Microsoft Visual Basic...
  4. Klik kanan Sub Menu About Microsoft Visual Basic...
  5. Gantilah dengan Sub Menu tersebut dengan Show VB Credits
  6. Close Kotak Dialog Customize
  7. Klik sub menu Show VB Credits
Nah, jika prosedurnya benar maka akan muncul kotak dialog credits Visual Basic 6.0 disertai dengan scrolling Text dan Music MIDI.
Posted by Mesin Posting 1.0 Created by http://khoiriyyah.blogspot.com
READ MORE - Cara Menampilkan Dialog Credits Visual Basic 6.0

Friday, March 19, 2010

VB6 Code - Cara Membuat Form Pada Saat Design Time

Artikel di bawah ini menjelaskan bagaimana cara membuat form pada saat design time melalui pengkodean Visual Basic 6.0. Langkah-langkah pembuatan: Buat project Add-Ins yang berasal dari template Secara default maka akan terdapat frmAddIn, di dalamnya terdapat kode:
Public VBInstance As VBIDE.VBE
Public Connect As Connect

Option Explicit

Private Sub CancelButton_Click()
Connect.Hide
End Sub

Private Sub OKButton_Click()
MsgBox "AddIn operation on: " & VBInstance.FullName
End Sub

Public VBInstance As VBIDE.VBE
Public Connect As Connect

Gantilah seluruh kodenya dengan kode di bawah ini:

Option Explicit

Private Sub CancelButton_Click()
Connect.Hide
End Sub

Private Sub OKButton_Click()
Dim frm As VBIDE.VBComponent
Set frm = VBInstance.ActiveVBProject.VBComponents.Add(vbext_ct_VBForm)
With frm
.Properties("Name") = "frmMain"
.Properties("Width") = 7155
.Properties("Caption") = "Main Form"
.Properties("Height") = 5000
End With
End Sub

Langkah selanjutnya adalah meng-compile kodenya sehingga terbentuk file dengan nama "MyAddIn.dll".

Langkah-langkah menjalankan:

  1. Buka project baru
  2. Klik menu Add-Ins
  3. Klik Sub Menu My AddIn
READ MORE - VB6 Code - Cara Membuat Form Pada Saat Design Time

Thursday, March 18, 2010

VB6 Code - Cara Membuat Object Pada Saat Design Time

Artikel ini menjelaskan cara membuat object pada saat design time, tentu saja mudah, tetapi bukan cara membuat yang seperti "itu" yang dimaksud, ini melalui pengkodean (coding). Objek yang kita buat adalah CommandButton, bagaimana dengan objek lainnya? Anda qiyaskan saja dengan cara mengganti "CommandButton" dengan nama objek yang Anda kehendaki misalnya "TextBox" dan sebagainya. Adapun langkah-langkah membuat object pada saat design time:

  • Buat project Add-Ins yang terdapat pada template
  • Hapus seluruh kode yang terdapat pada frmAddIn
  • Gantikan dengan kode di bawah ini:
Public VBInstance As VBIDE.VBE
Public Connect As Connect

Option Explicit

Private Sub CancelButton_Click()
Connect.Hide
End Sub

Private Sub OKButton_Click()
Dim frm As VBForm
Dim ctl As VBControl
Dim i As Integer

On Error GoTo ErrHandler

Set frm = VBInstance.SelectedVBComponent.Designer
For i = 1 To 255
Set ctl = frm.VBControls.Add("CommandButton")
Next
Set frm = Nothing
Set ctl = Nothing
Exit Sub

ErrHandler:

MsgBox Err.Description

End Sub

  • Compile kodenya dengan nama "MyAddIn.dll" (secara otomatis VB6.0 akan meregister file tersebut).
  • Tutup Project setelah Anda menyimpannya
  • Buka Project baru
  • Klik menu Add-Ins, maka disana akan terdapat sub menu yang bernama "My AddIn".
  • Selanjutnya klik Sub menu "My AddIn" maka akan terbentuklah objek CommandButton dengan jumlah 254, mengapa 254 tidak 255 seperti yang terdapat dalam kode?

Apa yang bisa kita petik dari kode-kode di atas, tentu saja banyak.
READ MORE - VB6 Code - Cara Membuat Object Pada Saat Design Time