Saturday, July 25, 2009

Mengetahui Alamat IP

Add Microsoft Winsock Control 6.0 component
Insert 1 Textbox
Insert 2 Command Buttons Rename Caption as Display and Clear


Private Sub Command1_Click()
If Text1.Text = "" Then
Command1.Enabled = False
Text1.Text = Winsock1.LocalIP
Else
Command1.Enabled = True
End If
End Sub

Private Sub Command2_Click()
Text1.Text = ""
If Text1.Text = "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub

Private Sub Form_Load()
Text1.Text = ""
If Text1.Text = "" Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
Text1.Text = Winsock1.LocalIP
End Sub



Eiits Baca Selanjutnya......

Animasi Form Blink-Blink

Animasi dalam visual basic pada saat ini sangat di butuhkan bagi para programmer untuk menarik customer software. dibawah ini source code yang saya kopi di yogya forum dengan animasi form blink-blink
Private Sub Timer1_Timer()
Dim Tm As Double
Dim strText As String
Dim Ctr As Integer


With Form1
.BackColor = RGB(0, 255, 0)
.FontName = "Arial Black"
.FontSize = 24
.FontBold = True
'.FontItalic = True
.FontUnderline = True
End With

strText = "YaDoY666 WuZ HeRe...!!!"
x = CurrentX
y = CurrentY
x = 100 'Set the position of the_
y = 100 'text here x = ? ,y = ?
For Ctr = 0 To 255
ForeColor = RGB(0, 0, Ctr)
x = x + 1
y = y + 1
CurrentX = x
CurrentY = y
Print strText
Next Ctr
ForeColor = RGB(0, 0, 0)
CurrentX = x: CurrentY = y
Print strText
For Tm = 1 To 300000

DoEvents
Next Tm

Form1.Cls
End Sub


Eiits Baca Selanjutnya......

Encrypt Password Menggunakan MD5

Caranya Sebagai Berikut :
1. buat modul baru
2. copy paste source code berikut

Imports System
Imports System.Security.Cryptography
Imports System.Text



3. tambahkan function untuk mengenkripsi string yg dipassing

Function getMd5Hash(ByVal input As String) As String
Dim md5Hasher As MD5 = MD5.Create

Dim data As Byte() = md5Hasher.ComputeHash _
(Encoding.BigEndianUnicode.GetBytes(input))

Dim sBuilder As New StringBuilder()

Dim i As Integer
For i = 0 To data.Length - 1
sBuilder.Append(data(i).ToString("c"))
Next i

Return sBuilder.ToString()

End Function
4. tambahkan function berikut untuk mengcompare / mencocokkan, string yang diinput dan mereturn boolean(true or false), function ini berguna ketika login

Function CekMD5Hash(ByVal input As String, ByVal hash As String) As Boolean

Dim hashOfInput As String = getMd5Hash(input)

Dim comparer As StringComparer = StringComparer.OrdinalIgnoreCase

If 0 = comparer.Compare(hashOfInput, hash) Then
Return True
Else
Return False
End If

End Function
5. langkah terakhir tinggal panggil function dimodul ini dengan form-form yang sudah dibuat :

ex: form login (memanggil function CekMD5Hash) untuk mencocokan string yang diinput, contoh :

if CekMD5Hash(PasswordTextBox.Text, password) = True then
MsgBox("Login Sukses")
end if
ex: form user (memanggil function getMd5Hash) untuk mengencrypt string yang diinput dan menginsertnya ke database, contoh :

MskaryawanTableAdapter1.InsertQuery(TextBox1.Text, TextBox2.Text, ComboBox1.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, getMd5Hash(TextBox6.Text), TextBox7.Text, TextBox9.Text)


Eiits Baca Selanjutnya......

Validasi Input Numerik Vb.6

PERTAMA

ada yang "cukup" makae function bawaan VB, isnumeric(). Biasanya ditaroh di event lostfocus() atau di event validate(). contoh codingnya mungkin begini :

Private Sub Entri_LostFocus(Index As Integer)
If IsNumeric(Entri(Index).Text) = False Then
MsgBox "Sori, input cuman boleh angka doank!", _
vbCritical, "Pesan"
Entri(Index).SetFocus
End If
End Sub



cara ini punya ciri : pencegahan inputan selain angka dilakukan *setelah* user mengisikan nilai textbox (ngetikin textboxnya).. dan untuk proses validasinya, perlu dilakukan 2 kali : sekali di event lostfocus/validate, dan *musti* di cek sekali lagi pas event tombol simpan di klik (misalnya). Klo ngga gtu, masih ada peluang untuk kelolosan tuh...

KEDUA
ada juga yang nyoba nge-trap inputan pada event textbox_keypress()
caranya dengan cuman mengijinkan karakter dengan kode ascii tertentu yang bisa diketikin di dalam tu textbox. contoh codingnya seperti ini :

Private Sub Entri_KeyPress(Index As Integer, _
KeyAscii As Integer)
If Not ((KeyAscii >= Asc("0") And _
KeyAscii <= Asc("9") Or _
KeyAscii = vbKeyBack)) Then
Beep KeyAscii = 0
End If
End Sub

cara ini cukup shiepp.. apalagi bisa dimodifikasi dengan nambahin list-exclusion karakter yang boleh diijinin utk diketik di dalam textbox (misal : tanda koma ato tanda titik)


KETIGA
Ada lagi cara laen yang memanfaatkan API, dimana *secara paksa* textbox akan di-inisialisasi-kan hanya bisa nerima input angka thox. Kebutuhan dasar pemanggilan API Calls-nya seperti ini (udah kubuatkan function nya sekalian jadi tinggal make' doank)
'-- di module :
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Const ES_NUMBER = &H2000&
Private Const GWL_STYLE = (-16)

Public Function SetNumerik(NamaControl As Control, _
Optional Flag As Boolean = True) As Long
Dim curstyle As Long
curstyle = GetWindowLong(NamaControl.hWnd, GWL_STYLE)
If Flag Then
curstyle = curstyle Or ES_NUMBER
Else
curstyle = curstyle And (Not ES_NUMBER)
End If
SetNumerik = SetWindowLong(NamaControl.hWnd, _
GWL_STYLE, curstyle)
NamaControl.Refresh
End Function

'-- contoh pemanggilan di form, cukup di FORM_LOAD doank.. :

Public Sub Form_Load()
SetNumerik entri(0)
SetNumerik Entri(1)
End Sub

Cara ini, tampaknya keren dan mudah. Emang sih! Tapi tetep ada aja konsekuensinya... textbox (ato combo, maskedit juga bisa) akan *bener2* cuman bisa nerima inputan angka. Ngga bs custom, ngijinin titik ato koma utk nulis pemisah desimalnya.


Eiits Baca Selanjutnya......

Perintah MsgBox dan InputBox pada VB

MsgBox membuat jendela dialog dengan dengan pesan agar pengguna memberikan tanggapan dengan mengklik salah satu tombol yang ada.
Format penulisan : MsgBox(prompt[, Kode_Tombol]][, title][, helpfile, context])
Kode Tombol Bilangan Tampilan pada Jendela Dialog

VbOKOnly 0 Tombol OK saja
VbOKCancel 1 Tombol OK dan Cancel
VbAbortRetryIgnore 2 Tombol Abort, Retry dan Ignore
VbYesNoCancel 3 Tombol Yes, No dan Cancel
VbYesNo 4 Tombol Yes dan No
VbRetryCancel 5 Tombol Retry dan Cancel
VbCritical 16 Icon pesan kritis
VbQuestion 32 Icon ?
VbExclamation 48 Icon !
VbInformation 64 Icon pesan informasi
VbDefaultButton1 0 Tombol pertama sbg default
VbDefaultButton2 256 Tombol kedua sbg default
VbDefaultButton3 512 Tombol ketiga sbg default
VbDefaultButton4 768 Tombol keempat sbg default
VbMsgBoxHelpButton 16384 Menampilkan juga tombol "Help"


i = msgbox (“Read this !”, vbOKOnly, “Test Message”)
InputBox membuat jendela dialog input data yang meminta untuk memasukkan data string.
Format penulisan : InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
Dim Message, Title, Default, MyValue
Message = “Enter a value between 1 and 3”
Title = “InputBoxDemo” ‘set title
MyValue = InputBox(Message, Title, Default)

‘ Helpfile and context, add Help button automatically
MyValue = InputBox(message, Title, , , , ”DEMO.HLP”, 10)

‘ Display dialog box at posotion 100,100
MyValue = InputBox(Message, Title, Default, 100, 100)



Eiits Baca Selanjutnya......

Fungsi String pada VB

Fungsi-fungsi VB di bawah ini digunakan untuk mengolah data string.
Left : mengambil n karakter di sebelah kiri suatu string
karakter = Left(“abcdef”,2) ‘karakter = “ab”
Right : mengambil n karakter di sebelah kanan suatu string
karakter = Right(“abcdef”,2) ‘karakter = “ef”
Trim : menghilangkan spasi kosong di awal dan akhir suatu string
karakter = Trim(“ abc def ”) ‘karakter = “abc def”
Ltrim : menghilangkan spasi kosong di awal suatu string
MyStr = Ltrim(AnyString)

Rtrim : menghilangkan spasi kosong di akhir suatu string
MyStr = Rtrim(AnyString)
Ucase : mengubah suatu string menjadi huruf besar semua
MyStr = UCase(AnyString)
Lcase : mengubah suatu string menjadi huruf kecil semua
MyStr = LCase(AnyString)
Mid : mengambil n karakter dari suatu posisi yang ditetapkan
MyStr = Mid(“abcdefghij”, 3, 4) ‘hasil “cdef”
Len : menghitung jumlah karakter yang membentuk suatu string
MyStr = Len(“abcdef”) ‘hasil=6
LSet : menempatkan string di dalam string yang lain, di sebelah kiri
MyStr = “0123456789”
Lset MyStr = “<-Left” ‘hasil “<-Left “
RSet : menempatkan string di dalam string yang lain, di sebelah kanan
MyStr = “0123456789”
Rset MyStr = “>-Right” ‘hasil “ >-Right“
Format : mengatur string sehingga terformat sesuai yang ditentukan
A$ = Format (5455.4, “##,##0.00”) ‘A$ = “5,459.40”
A$ = Format (334.9, “####.##”) ‘A$ = “334.9”
A$ = Format (5, “0.00%”) ‘A$ = “500.00%”
A$ = Format (“HELLO”, “<”) ‘A$ = “hello”
A$ = Format (“This is”, “>”) ‘A$ = “THIS IS”
String: membuat string yang berisi sejumlah karakter yang digandakan
A$ = String (5, “*”) ‘A$ = “*****”
Chr: menghasilkan karakter yang terwakili oleh suatu angka tertentu
A$ = Chr (65) ‘A$ = A
A$ = Chr (97) ‘A$ = a
A$ = Chr (62) ‘A$ = >
Asc: menghasilkan angka ASCII dari suatu karakter tunggal
MyNumber = Asc(‘A’) ‘’hasilnya 65
MyNumber = Asc(‘a’) ‘’hasilnya 97
MyNumber = Asc(‘Apple’) ‘’hasilnya 65
Space: menghasilkan ruang kosong sebanyak n karakter
MyStr = Space(10) ‘buat string 10 spasi
MyStr = “Hello” & Space(10) & “World” ‘menyisipkan 10 spasi diantara kata Hello World
InStr: menentukan apakah string tertentu berada pada string lain
Dim CariString, CariChar, MyPos
CariString = ‘XXpXXpXXPXXP” ‘String yang dianalis
CariChar = “P” ‘String yang dicari “P”
‘mencari mulai dari kolom ke-4, hasilnya 6
MyPos = InStr(4, CariString, CariChar, 1)
‘mencari mulai dari kolom ke-1, hasilnya 9
MyPos = InStr(1, CariString, CariChar, 0)
MyPos = InStr(CariString, CariChar) ‘hasilnya 9
MyPos = InStr(1, SearchString, “W”) ‘hasilnya 0

InStrRev: cari posisi string dalam string yang lain, mulai dari akhir
i = InStrRev(StringCheck, StringMatch[, start[, compare]])

StrComp: membandingkan dua variabel string
StrComp(string1, string2 [, compare] )
Jika Hasilnya
string1 < string 2 -1
string1= string 2 0
string1> string 2 1
string1atau string 2 = Null Null

Dim MyStr1, MyStr2, MyComp
MyStr1 = “ABCD” : MyStr2 = “abcd” ‘nilai awal
A = StrComp(MyStr1, MyStr2, 1) ‘A = 0
A = StrComp(MyStr1, MyStr2, 0) ‘A = -1
A = StrComp(MyStr2, MyStr1) ‘A = 1

StrConv: mengubah huruf besar atau kecil suatu karakter string
A$ = StrConv(“Semua Besar”, 1) ‘A$ = “SEMUA BESAR”
A$ = StrConv(“Semua Kecil”, 2) ‘A$ = “semua kecil”
A$ = StrConv(“pertama BESAR”, 3) ‘A$ = “Pertama Besar”

StrReverse: mengubah urutan karakter suatu string
A$ = StrReverse(“12345678”) ‘A$ = “87654321”
A$ = StrReverse(“abcdefg”) ‘A$ = “gfedcba”

Replace: menggantikan string dari kelompok string
Replace(expression, find, replace[, start[, count[, compare]]])

FormatCurrency: string memakai format currency yang ditetapkan
A$ = FormatCurrency(12000, 1) ‘A$ = “$12,000.0”
A$ = FormatCurrency(12000, 2) ‘A$ = “$12,000.00”
Catatan, untuk mengubah mata uang, gunakan Regional Settings Currency dari sistem operasi Windows

FormatDateTime: menghasilkan ekspresi tanggal dan waktu
A$ = FormatDateTime(Now) ‘hasilnya “10/8/02 11:15:46 AM”
A$ = FormatDateTime(Now, vbLongDate) ‘hasilnya “Tuesday, March 02, 2008”
A$ = FormatDateTime(“3/2/99”, vbShortDate) ‘hasilnya “3/2/99”
A$ = FormatDateTime(“3/2/99”, vbLongDate) ‘hasilnya “12:00:00 AM”

FormatNumber: membuat format bilangan sesuai option yang diberikan
FormatNumber(var1, 2)

FormatPerCent: membuat format bilangan dalam prosentase
A$ = FormatPerCent(0.1255, 2) ‘A$ = 12.55%
A$ = FormatPerCent(0.12555) ‘A$ = 12.56%
A$ = FormatPerCent(12.55, 2) ‘A$ = 1,255.00%
A$ = FormatPerCent(12.55) ‘A$ = 1,255.00%

Eiits Baca Selanjutnya......