Monday, April 26, 2010

Visual Basic 6.0 Database Code Generator

Postingan kali ini kami beri judul Visual Basic 6.0 Database Code Generator. Ceritanya (apabila waktunya memungkinkan untuk diselesaikan): Code Generator ini dapat membuat sebuah project database hanya dalam hitungan puluhan menit. Tetapi sayang, ia baru selesai 30% saja adapun selebihnya (yang 70% lagi) belum kami selesaikan, sehingga tidak mengherankan jika masih banyak kekurangan disana-sini. Walaupun demikian, sebagai sebuah Visual Basic 6.0 Database Code Generator, ia sempurna, karena telah memenuhi prasyarat utamanya, yakni:

Insert VBobject, yang meliputi:

  • Insert form
  • Insert module
  • Insert class
  • dan lain-lain yang sebangsanya.
Insert control, yang meliputi:
  • Insert common control
  • Insert control yang tidak common
  • Insert contol dari pihak ketiga (misalnya codejock, vbAccelerator, dll). Dalam hal ini diwakili oleh satu ocx saja yakni ctxhookmenu/menu.ocx (salah satu ocx yang pernah menjadi winner di PSC)
  • dan lain-lain yang sebangsanya.
Mengendalikan VBobject dan control melalui pengkodean, yang meliputi:
  • Memanipulasi seluruh method (ActiveX OCX, dll)
  • Memanipulasi seluruh properties (ActiveX OCX, dll)
  • Mereferensi seluruh DLL (Dynamic Link Liblary) yang diperlukan.
  • Dan terakhir, yang terpenting dari point di atas adalah:
  • Insert code!
Bagaimana cara instalasinya?
  • Download
  • Ekstrak
  • Double click file install activex.bat
Bagaimana cara menggunakannya?
  • Jalankan Visual Basic 6.0
  • Klik menu Add-Ins >> Add-In Manager >> ADO Project Builder 1.0
  • Klik satu-satunya tombol yang masih enable (di sebelah kanan).
  • Buatlah sebuah folder baru dan beri nama misalnya "db project"
  • Klik tombol Open DB
  • Pilihlah table serta field yang diperlukan
  • Klik tombol Generate Code
Berapa table yang dapat ia generate?
  • Ribuan, ratusan, bahkan puluhan table.
Bagaimana jika ingin merubah tampilan form yang dihasilkan dari Software?
  • Buka folder template
  • Buka folder form
  • Pelajari, selanjutnya lakukan perubahan yang dibutuhkan
Bagaimana jika ingin menambahkan referensi dll?
  • Buka file data.mdb yang terdapat pada folder database
  • Buka table Reference
  • Tambahkan GUID dari dll yang diperlukan.
Bagaimana jika ingin menambahkan referensi ocx?
  • Buka file data.mdb yang terdapat pada folder database
  • Buka table Components
  • Tambahkan GUID dari ocx yang ingin ditambahkan tersebut
Bagaimana jika ingin menambahkan menu pada Main Form?
  • Buka file data.mdb yang terdapat pada folder database
  • Buka table ChooseMenu
  • Tambahkan menu yang diperlukan
Bagaimana dan bagaimana jika ingin...dan selanjutnya?
  • Seluruhnya ada pada data.mdb yang terdapat pada folder database, termasuk jika Anda ingin merubah kode hasil dari software generator ini.

Akhirul kalam, seperti yang telah kami ceritakan di atas, software ini baru selesai 30%-nya saja, tetapi jika Anda penasaran ingin melihat keindahan code generator dalam melakukan aksinya, bisa Anda download pada link di bawah ini:

Download: Software Database Code Generator 1.0 (5 MB lebih sedikit).

Keterangan:

Software di atas bukan software open source.

Username : admin
Password : admin
READ MORE - Visual Basic 6.0 Database Code Generator

Thursday, April 22, 2010

Membuat Efek Blow pada Form

Membuat efek/animasi blow/explode pada sebuah form.
Option Explicit 

Type
RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Declare Function
GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Function
GetDC Lib "user32" (ByVal hwnd As Long) As Long
Declare Function
ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare Function
SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Declare Function
Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Declare Function
CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Declare Function
SelectObject Lib "user32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Declare Function
DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Public Const
IMPLODE_EXPLODE_VALUE = 1500 'you can change the value

Sub
ExplodeForm(f As Form, Movement As Integer)
Dim myRect As RECT
Dim formWidth%, formHeight%, i%, X%, Y%, Cx%, Cy%
Dim TheScreen As Long
Dim
Brush As Long
GetWindowRect f.hwnd, myRect
formWidth = (myRect.Right - myRect.Left)
formHeight = myRect.Bottom - myRect.Top
TheScreen = GetDC(0)
Brush = CreateSolidBrush(f.BackColor)
For i = 1 To Movement
Cx = formWidth * (i / Movement)
Cy = formHeight * (i / Movement)
X = myRect.Left + (formWidth - Cx) / 2
Y = myRect.Top + (formHeight - Cy) / 2
Rectangle TheScreen, X, Y, X + Cx, Y + Cy
Next i
X = ReleaseDC(0, TheScreen)
DeleteObject (Brush)
End Sub

Public Sub
ImplodeForm(f As Form, Movement As Integer)
Dim myRect As RECT
Dim formWidth%, formHeight%, i%, X%, Y%, Cx%, Cy%
Dim TheScreen As Long
Dim
Brush As Long
GetWindowRect f.hwnd, myRect
formWidth = (myRect.Right - myRect.Left)
formHeight = myRect.Bottom - myRect.Top
TheScreen = GetDC(0)
Brush = CreateSolidBrush(f.BackColor)
For i = Movement To 1 Step -1
Cx = formWidth * (i / Movement)
Cy = formHeight * (i / Movement)
X = myRect.Left + (formWidth - Cx) / 2
Y = myRect.Top + (formHeight - Cy) / 2
Rectangle TheScreen, X, Y, X + Cx, Y + Cy
Next i
X = ReleaseDC(0, TheScreen)
DeleteObject (Brush)
End Sub
Contoh penggunaan membuat efek ledakan pada form
Private Sub Command1_Click() 
Call ImplodeForm(Me, IMPLODE_EXPLODE_VALUE)
End
Set
Form1 = Nothing
End Sub

Private Sub
Form_Load()
Call ExplodeForm(Me, IMPLODE_EXPLODE_VALUE)
End Sub
READ MORE - Membuat Efek Blow pada Form

Membuat Text Area, Bagaimanakah Caranya?

Apa yang dimaksud dengan Text Area, perhatikan di bawah ini:
Setelah Anda faham apa yang dimaksud dengan Text Area, sekarang tentu Anda bertanya bagaimanakah cara membuatnya? di bawah ini merupakan kode HTML untuk membuat Text Area di atas:
<p align="center">
<textarea name="code" rows="6" cols="40"> 
Ini merupakan text area, dalam text area Anda dapat menyimpan kode HTML, tulisan, dan sebagainya 
</textarea>
</p>
Penjelesan mengenai variable Text Area:
  • align: posisi, dapat Anda pilih center (tengah), left (kiri), right (kanan)
  • row: merupakan tinggi area
  • col: merupakan lebar area
READ MORE - Membuat Text Area, Bagaimanakah Caranya?

Saturday, April 17, 2010

Menampilkan Kata Yang Berada Di atas Pointer Mouse - VB6

Ini merupakan fungsi untuk menampilkan kata yang berada tepat di bawah pointer mouse. Fungsi ini hanya berjalan pada object RichTextBox. Bagaimana implementasi dari kodenya? bisa Anda perhatikan di bawah:
Option Explicit 

Private Const
EM_CHARFROMPOS& = &HD7

Private Type
POINTAPI
x As Long
y As Long
End Type

Private Declare Function
SendMessage Lib "USER32" Alias "SendMessageA" ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

' Return the word the mouse is over.
Public Function RichWordOver(rch As RichTextBox, x As Single, y As Single) As String

Dim pt As
POINTAPI
Dim Pos As Integer
Dim
start_pos As Integer
Dim
end_pos As Integer
Dim ch As String
Dim
txt As String
Dim
txtlen As Integer

' Convert the position to pixels.
pt.x = x \ Screen.TwipsPerPixelX
pt.y = y \ Screen.TwipsPerPixelY

' Get the character number
Pos = SendMessage(rch.hWnd, EM_CHARFROMPOS, 0&, pt)
If Pos <= 0 Then Exit Function

' Find the start of the word.
txt = rch.Text
For start_pos = Pos To 1 Step -1
ch = Mid$(rch.Text, start_pos, 1)
' Allow digits, letters, and underscores.
If Not _
ch >= "0" And ch <= "9") Or _
ch >= "a" And ch <= "z") Or _
ch >= "A" And ch <= "Z") Or _
ch = "_" _
) Then Exit For
Next
start_pos
start_pos = start_pos + 1

' Find the end of the word.
txtlen = Len(txt)
For end_pos = Pos To txtlen
ch = Mid$(txt, end_pos, 1)
' Allow digits, letters, and underscores.
If Not _
ch >= "0" And ch <= "9") Or _
ch >= "a" And ch <= "z") Or _
ch >= "A" And ch <= "Z") Or _
ch = "_" _
) Then Exit For
Next
end_pos
end_pos = end_pos - 1

If
start_pos <= end_pos Then RichWordOver = Mid$(txt, start_pos, end_pos - start_pos + 1)
End Function
Contoh penggunaanya:
Option Explicit 

Dim
strWordOver As String

Private Sub
RichTextBox1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
strWordOver = RichWordOver(RichTextBox1, x, y)
If Trim(strWordOver) = "" Then Exit Sub
If
Text1.Text <> strWordOver Then
Text1.Text = strWordOver
End If
End Sub
READ MORE - Menampilkan Kata Yang Berada Di atas Pointer Mouse - VB6