Kasus Winsock
listing client
Dim ipserver As String
Dim xpakai As String
Dim xdata1() As String
Dim xdata2() As String
Dim xpesan As String
Dim xkirim As String
Dim user As String
Private Sub Command1_Click()
WS.SendData "START-" & user & "-ILHAM REZEKI"
ipserver = "127.0.0.1"
ipclient = WS.LocalIP
WS.Connect ipserver, 3000
End Sub
Private Sub Command2_Click()
WS.SendData "STOP" & user
End Sub
Private Sub Form_Load()
Me.Caption = "CLIENT IP: " & WS.LocalIP
ipserver = "192.168.11.1"
user = WS.LocalIP
WS.Connect ipserver, 3000
End Sub
Private Sub ws_connectionrequest(ByVal requestid As Long)
WS.Close
WS.Accept requestid
Me.Caption = "server - client" & WS.RemoteHostIP & "connect"
End Sub
Private Sub ws_dataarrival(ByVal bytestotal As Long)
WS.GetData xkirim, vbString, bytestotal
Call checkdata
End Sub
Sub checkdata()
xdata1 = Split(xkirim, "-")
xdata2 = Split(xdata1(1), "/")
Select Case xdata1(0)
Case "PAKAI"
pakai.Value = xdata2(0)
End Select
End Sub
listing server
listing program server
Dim ClientIndex As Byte
Dim cRequest As Integer
Dim cData As String
Dim i As Integer
Dim iGD As Integer
Sub MulaiServer()
WS(0).LocalPort = 3000
WS(0).Listen
cRequest = 1
ClientIndex = 1
End Sub
Private Sub Form_Load()
MulaiServer
GD.Rows = 41
For i = 1 To 40
GD.Col = 0
GD.Row = i
GD.Text = i
Next i
iGD = 1
End Sub
Private Sub Timer1_Timer()
For i = 1 To GD.Rows – 1
GD.Row = i
GD.Col = 4
If GD.Text = “START” Then
GD.Col = 3
GD.Text = Time
End If
Next i
End Sub
Private Sub WS_ConnectionRequest(index As Integer, ByVal requestID As Long)
Load WS(cRequest)
WS(cRequest).Close
WS(cRequest).Accept requestID
cRequest = cRequest + 1 ‘
End Sub
Private Sub WS_DataArrival(index As Integer, ByVal bytesTotal As Long)
WS(index).GetData cData, vbString, bytesTotal
Call CekData(index)
End Sub
Sub CekData(index)
On Error Resume Next
Dim kata() As String
kata = Split(cData, “-”)
Select Case kata(0)
Case “START”
GD.Row = iGD
GD.Col = 1
GD.Text = kata(1) ‘WS(index).RemoteHostIP
GD.Col = 2
GD.Text = Time
GD.Col = 4
GD.Text = “START”
GD.Col = 5
GD.Text = kata(2)
iGD = iGD + 1
Case “STOP”
For i = 1 To GD.Rows – 1
GD.Row = i
GD.Col = 1
If GD.Text = kata(1) Then
GD.Col = 4
GD.Text = “STOP”
End If
Next i
End Select
End Sub
Private Sub WS_Error(index As Integer, ByVal Number As Integer,
Description As String, ByVal Scode As Long, ByVal Source As String,
ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As
Boolean)
WS(index).Close
End Sub
Selasa, 31 Januari 2012
Jawaban SOAL 2 (Yusdi Firdaus)
Soal Quiz Hari Jumat
Modul.server
Public Db As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Rs2 As New ADODB.Recordset
Public SQL As String
Sub OPENDB()
If Db.State = adStateOpen Then Db.Close
Db.CursorLocation = adUseClient
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\putra Server\db1.mdb;Persist Security Info=False"
End Sub
Sub clearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub RubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.CmdProses(0).Enabled = L0
f.CmdProses(1).Enabled = L1
f.CmdProses(2).Enabled = L2
f.CmdProses(3).Enabled = L3
End Sub
Listing program server
Sub hapus()
Kode.Enabled = True
clearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
Select Case Log
Case 0
SQL = "INSERT INTO Barang(Kode, Nama, Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
Case 1
SQL = "UPDATE Barang SET Nama='" & Nama.Text & "'," & _
" Harga = '" & Harga.Text & "' " & _
"where Kode ='" & Kode.Text & "'"
Case 2
SQL = "DELETE FROM Barang WHERE Kode='" & Kode.Text & "'"
End Select
MsgBox "Pemorosesan record Database telah Berhasil...!", vbInformation, "Data Barang"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Call hapus
Adodc1.Refresh
Kode.SetFocus
End Sub
Sub tampilBarang()
On Error Resume Next
Kode.Text = Rs!Kode
Nama.Text = Rs!Nama
Harga.Text = Rs!Harga
End Sub
Private Sub CMDproses_click(index As Integer)
Select Case index
Case 0
Call hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
Call ProsesDB(0)
Else
Call ProsesDB(1)
End If
Case 2
x = MsgBox("Yakin RECORD Barang Akan Dihapus...!", vbQuestion + vbYesNo, "Barang")
If x = vbYes Then ProsesDB 2
Call hapus
Kode.SetFocus
Case 3
Call hapus
Kode.SetFocus
Case 5
Adodc1.Refresh
Case 4
Unload Me
End Select
End Sub
Private Sub Command1_Click()
Adodc1.Refresh
End Sub
Private Sub form_load()
Call OPENDB
Call hapus
MulaiServer
End Sub
Private Sub Kode_keyPress(keyAscii As Integer)
If keyAscii = 13 Then
If Kode.Text = "" Then
MsgBox "Masukkan Kode Barang!", vbInformation, "Barang"
Kode.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM Barang WHERE Kode='" & Kode.Text & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockBatchOptimistic
If Rs.RecordCount <> 0 Then
tampilBarang
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Else
x = Kode.Text
Call hapus
Kode.Text = x
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = "&Simpan"
End If
Nama.SetFocus
End If
End Sub
Sub MulaiServer()
WS.LocalPort = 1000
WS.Listen
End Sub
Private Sub WS_ConnectionRequest(ByVal requestID As Long)
WS.Close
WS.Accept requestID
Me.Caption = "Server-Client" & WS.RemoteHostIP & "Connect"
End Sub
Private Sub WS_DataArrival(ByVal bytesTotal As Long)
Dim xKirim As String
Dim xData1() As String
Dim xData2() As String
WS.GetData xKirim, vdString, bytesTotal
xData1 = Split(xKirim, "-")
Select Case xData1(0)
Case "SEARCH"
SQL = "SELECT*FROM Barang WHERE Kode='" & xData1(1) & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockOptimistic
If Rs.RecordCount <> 0 Then
WS.SendData "RECORD-" & Rs!Nama & "/" & Rs!Harga
Else
WS.SendData "NOTHING-xxx"
End If
Case "INSERT"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "INSERT-xxx"
Adodc1.Refresh
Case "UPDATE"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "EDIT-xxx"
Adodc1.Refresh
Case "DELETE"
SQL = "Delete * from Barang " & _
"where Kode='" & xData1(1) & "'"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Adodc1.Refresh
WS.SendData "DEL-xxx"
End Select
End Sub
Modul client
Public SQL As String
Sub ClearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub RubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.CmdProses(0).Enabled = L0
f.CmdProses(1).Enabled = L1
f.CmdProses(2).Enabled = L2
f.CmdProses(3).Enabled = L3
End Sub
Listing program client
Dim IPServer As String
Sub Hapus()
Kode.Enabled = True
ClearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
Select Case Log
Case 0
SQL = "INSERT INTO Barang(Kode,Nama,Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
Case 1
SQL = "UPDATE Barang SET Nama='" & Nama.Text & "'," & _
"Harga='" & Harga.Text & "'," & _
"where Kode='" & Kode.Text & "'"
Case 2
SQL = "DELETE FROM Barang WHERE Kode='" & Kode.Text & "'"
End Select
MsgBox "Pemprosesan RECORD Database telah berhasil...!", vbInformation, "Barang"
Call Hapus
Kode.SetFocus
End Sub
Private Sub CmdProses_Click(Index As Integer)
Select Case Index
Case 0
Call Hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
SQL = "INSERT INTO Barang(Kode,Nama,Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
WS.SendData "INSERT-" & SQL
Else
SQL = "UPDATE barang set " & _
"nama= '" & Nama.Text & _
"',harga='" & Harga.Text & _
"' where kode='" & Kode.Text & "'"
WS.SendData "UPDATE-" & SQL
End If
Case 2
x = MsgBox("Yakin RECORD Barang Akan Dihapus...!", vbQuestion + vbYesNo, "Barang")
If x = vbYes Then
WS.SendData "DELETE-" & Kode.Text
End If
Call Hapus
Kode.SetFocus
Case 3
Call Hapus
Kode.SetFocus
Case 4
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call Hapus
MulaiKoneksi
End Sub
Private Sub Kode_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Kode.Text = "" Then Exit Sub
WS.SendData "SEARCH-" & Kode.Text
End If
End Sub
Sub MulaiKoneksi()
IPServer = "127.0.0.1"
IPClient = WS.LocalIP
WS.Connect IPServer, 1000
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
End
End Sub
Private Sub WS_Dataarrival(ByVal bytesTotal As Long)
Dim xkrim As String
Dim xData1() As String
Dim xData2() As String
WS.GetData xkirim, vbString, bytesTotal
xData1 = Split(xkirim, "-")
Select Case xData1(0)
Case "NOTHING"
x = Kode.Text
Call Hapus
Kode.Text = x
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = "&Simpan"
Nama.SetFocus
Case "RECORD"
xData2 = Split(xData1(1), "/")
Nama.Text = xData2(0)
Harga.Text = xData2(1)
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Nama.SetFocus
Case "DEL"
MsgBox "penghapusan data berhasil !"
Call Hapus
Case "EDIT"
MsgBox "pengeditan record berhasil !"
Call Hapus
End Select
End Sub
Public Db As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Rs2 As New ADODB.Recordset
Public SQL As String
Sub OPENDB()
If Db.State = adStateOpen Then Db.Close
Db.CursorLocation = adUseClient
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\putra Server\db1.mdb;Persist Security Info=False"
End Sub
Sub clearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub RubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.CmdProses(0).Enabled = L0
f.CmdProses(1).Enabled = L1
f.CmdProses(2).Enabled = L2
f.CmdProses(3).Enabled = L3
End Sub
Listing program server
Sub hapus()
Kode.Enabled = True
clearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
Select Case Log
Case 0
SQL = "INSERT INTO Barang(Kode, Nama, Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
Case 1
SQL = "UPDATE Barang SET Nama='" & Nama.Text & "'," & _
" Harga = '" & Harga.Text & "' " & _
"where Kode ='" & Kode.Text & "'"
Case 2
SQL = "DELETE FROM Barang WHERE Kode='" & Kode.Text & "'"
End Select
MsgBox "Pemorosesan record Database telah Berhasil...!", vbInformation, "Data Barang"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Call hapus
Adodc1.Refresh
Kode.SetFocus
End Sub
Sub tampilBarang()
On Error Resume Next
Kode.Text = Rs!Kode
Nama.Text = Rs!Nama
Harga.Text = Rs!Harga
End Sub
Private Sub CMDproses_click(index As Integer)
Select Case index
Case 0
Call hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
Call ProsesDB(0)
Else
Call ProsesDB(1)
End If
Case 2
x = MsgBox("Yakin RECORD Barang Akan Dihapus...!", vbQuestion + vbYesNo, "Barang")
If x = vbYes Then ProsesDB 2
Call hapus
Kode.SetFocus
Case 3
Call hapus
Kode.SetFocus
Case 5
Adodc1.Refresh
Case 4
Unload Me
End Select
End Sub
Private Sub Command1_Click()
Adodc1.Refresh
End Sub
Private Sub form_load()
Call OPENDB
Call hapus
MulaiServer
End Sub
Private Sub Kode_keyPress(keyAscii As Integer)
If keyAscii = 13 Then
If Kode.Text = "" Then
MsgBox "Masukkan Kode Barang!", vbInformation, "Barang"
Kode.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM Barang WHERE Kode='" & Kode.Text & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockBatchOptimistic
If Rs.RecordCount <> 0 Then
tampilBarang
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Else
x = Kode.Text
Call hapus
Kode.Text = x
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = "&Simpan"
End If
Nama.SetFocus
End If
End Sub
Sub MulaiServer()
WS.LocalPort = 1000
WS.Listen
End Sub
Private Sub WS_ConnectionRequest(ByVal requestID As Long)
WS.Close
WS.Accept requestID
Me.Caption = "Server-Client" & WS.RemoteHostIP & "Connect"
End Sub
Private Sub WS_DataArrival(ByVal bytesTotal As Long)
Dim xKirim As String
Dim xData1() As String
Dim xData2() As String
WS.GetData xKirim, vdString, bytesTotal
xData1 = Split(xKirim, "-")
Select Case xData1(0)
Case "SEARCH"
SQL = "SELECT*FROM Barang WHERE Kode='" & xData1(1) & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockOptimistic
If Rs.RecordCount <> 0 Then
WS.SendData "RECORD-" & Rs!Nama & "/" & Rs!Harga
Else
WS.SendData "NOTHING-xxx"
End If
Case "INSERT"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "INSERT-xxx"
Adodc1.Refresh
Case "UPDATE"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "EDIT-xxx"
Adodc1.Refresh
Case "DELETE"
SQL = "Delete * from Barang " & _
"where Kode='" & xData1(1) & "'"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Adodc1.Refresh
WS.SendData "DEL-xxx"
End Select
End Sub
Modul client
Public SQL As String
Sub ClearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub RubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.CmdProses(0).Enabled = L0
f.CmdProses(1).Enabled = L1
f.CmdProses(2).Enabled = L2
f.CmdProses(3).Enabled = L3
End Sub
Listing program client
Dim IPServer As String
Sub Hapus()
Kode.Enabled = True
ClearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
Select Case Log
Case 0
SQL = "INSERT INTO Barang(Kode,Nama,Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
Case 1
SQL = "UPDATE Barang SET Nama='" & Nama.Text & "'," & _
"Harga='" & Harga.Text & "'," & _
"where Kode='" & Kode.Text & "'"
Case 2
SQL = "DELETE FROM Barang WHERE Kode='" & Kode.Text & "'"
End Select
MsgBox "Pemprosesan RECORD Database telah berhasil...!", vbInformation, "Barang"
Call Hapus
Kode.SetFocus
End Sub
Private Sub CmdProses_Click(Index As Integer)
Select Case Index
Case 0
Call Hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
SQL = "INSERT INTO Barang(Kode,Nama,Harga)" & _
"values('" & Kode.Text & _
"','" & Nama.Text & _
"','" & Harga.Text & "')"
WS.SendData "INSERT-" & SQL
Else
SQL = "UPDATE barang set " & _
"nama= '" & Nama.Text & _
"',harga='" & Harga.Text & _
"' where kode='" & Kode.Text & "'"
WS.SendData "UPDATE-" & SQL
End If
Case 2
x = MsgBox("Yakin RECORD Barang Akan Dihapus...!", vbQuestion + vbYesNo, "Barang")
If x = vbYes Then
WS.SendData "DELETE-" & Kode.Text
End If
Call Hapus
Kode.SetFocus
Case 3
Call Hapus
Kode.SetFocus
Case 4
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call Hapus
MulaiKoneksi
End Sub
Private Sub Kode_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Kode.Text = "" Then Exit Sub
WS.SendData "SEARCH-" & Kode.Text
End If
End Sub
Sub MulaiKoneksi()
IPServer = "127.0.0.1"
IPClient = WS.LocalIP
WS.Connect IPServer, 1000
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
End
End Sub
Private Sub WS_Dataarrival(ByVal bytesTotal As Long)
Dim xkrim As String
Dim xData1() As String
Dim xData2() As String
WS.GetData xkirim, vbString, bytesTotal
xData1 = Split(xkirim, "-")
Select Case xData1(0)
Case "NOTHING"
x = Kode.Text
Call Hapus
Kode.Text = x
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = "&Simpan"
Nama.SetFocus
Case "RECORD"
xData2 = Split(xData1(1), "/")
Nama.Text = xData2(0)
Harga.Text = xData2(1)
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Nama.SetFocus
Case "DEL"
MsgBox "penghapusan data berhasil !"
Call Hapus
Case "EDIT"
MsgBox "pengeditan record berhasil !"
Call Hapus
End Select
End Sub
Jumat, 20 Januari 2012
tugas buku///server putra
Listing program
Private Sub cmd_Click(Index As Integer)
Select Case Index
Case 0
If username = "" Then
MsgBox "Silahkan isi password"
batal
username.SetFocus
Else
If password.Text = password.Text Then
Tampilan1.Show
Else
MsgBox "password anda salah"
batal
password.SetFocus
End If
End If
Case 1
batal
Unload Me
End Select
End Sub
Sub batal()
username.Text = ""
password.Text = ""
End Sub
Private Sub Form_Load()
OPENDB
batal
isi
End Sub
Sub isi()
SQL = "select*from login"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockOptimistic
If Rs.RecordCount <> 0 Then
Rs.MoveFirst
Do While Not Rs.EOF
Rs.MoveNext
Loop
End If
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub username_Click()
SQL = " select*from login " & _
"where username='" & username.Text & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockOptimistic
If Rs.RecordCount <> o Then
password.Text = Rs!password
End If
End Sub
Tampilan form buku
Tampilan menu utama
Llisting program form buku
Sub hapus()
Kode.Enabled = True
clearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
Select Case Log
Case 0
SQL = "INSERT INTO buku(Kode, Judul, Penerbit, Karangan, Tahun)" & _
"values('" & Kode.Text & _
"','" & Judul.Text & _
"','" & Penerbit.Text & _
"','" & Karangan.Text & _
"','" & Tahun.Text & "')"
Case 1
SQL = "UPDATE buku SET Judul='" & Judul.Text & "'," & _
" Penerbit = '" & Penerbit.Text & "'," & _
" Karangan = '" & Karangan.Text & "'," & _
" Tahun = '" & Tahun.Text & "' " & _
"where Kode ='" & Kode.Text & "'"
Case 2
SQL = "DELETE FROM buku WHERE Kode='" & Kode.Text & "'"
End Select
MsgBox "Data Telah Diubah Sesuai Keinginan Anda...!", vbInformation, "Data buku"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Call hapus
Adodc1.Refresh
Kode.SetFocus
End Sub
Sub tampilbuku()
On Error Resume Next
Kode.Text = Rs!Kode
Judul.Text = Rs!Judul
Penerbit.Text = Rs!Penerbit
Karangan.Text = Rs!Karangan
Tahun.Text = Rs!Tahun
End Sub
Private Sub CMDproses_click(Index As Integer)
Select Case Index
Case 0
Call hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
Call ProsesDB(0)
Else
Call ProsesDB(1)
End If
Case 2
X = MsgBox("Yakin RECORD Tampilan buku Akan Dihapus...!", vbQuestion + vbYesNo, "buku")
If X = vbYes Then ProsesDB 2
Call hapus
Kode.SetFocus
Case 3
Call hapus
Kode.SetFocus
Case 5
Adodc1.Refresh
Case 4
Unload Me
End Select
End Sub
Private Sub Command1_Click()
Adodc1.Refresh
End Sub
Private Sub Form_Load()
Call OPENDB
Call hapus
MulaiServer
End Sub
Private Sub Kode_keyPress(Keyascii As Integer)
If Keyascii = 13 Then
If Kode.Text = "" Then
MsgBox "Masukkan Kode Buku!", vbInformation, "buku"
Kode.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM buku WHERE Kode='" & Kode.Text & "'"
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockBatchOptimistic
If Rs.RecordCount <> 0 Then
tampilbuku
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Else
X = Kode.Text
Call hapus
Kode.Text = X
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = "&Simpan"
End If
Judul.SetFocus
End If
End Sub
Sub MulaiServer()
WS.LocalPort = 1000
WS.Listen
End Sub
Private Sub WS_ConnectionRequest(ByVal requestID As Long)
WS.Close
WS.Accept requestID
Me.Caption = "Server-Client" & WS.RemoteHostIP & "Connect"
End Sub
Private Sub WS_DataArrival(ByVal bytesTotal As Long)
Dim xKirim As String
Dim xData1() As String
Dim xData2() As String
WS.GetData xKirim, vdString, bytesTotal
xData1 = Split(xKirim, "-")
Select Case xData1(0)
Case "SEARCH"
SQL = "SELECT*FROM buku WHERE Kode='" & xData1(1) & "'"
MsgBox SQL
If Rs.State = adStateOpen Then Rs.Close
Rs.Open SQL, Db, adOpenDynamic, adLockOptimistic
If Rs.RecordCount <> 0 Then
WS.SendData "RECORD-" & Rs!Judul & "/" & Rs!Penerbit &
"/" & Rs!Karangan & "/" & Rs!Tahun
Else
WS.SendData "NOTHING-xxx"
End If
Case "INSERT"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "INSERT-xxx"
Adodc1.Refresh
Case "UPDATE"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData "EDIT-xxx"
Adodc1.Refresh
Case "DELETE"
SQL = "Delete * from buku " & _
"where Kode='" & xData1(1) & "'"
Db.BeginTrans
Db.Execute SQL, adCmdTable
Db.CommitTrans
Adodc1.Refresh
WS.SendData "DEL-xxx"
End Select
End Sub
Listing modulnya
Public Db As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Rs2 As New ADODB.Recordset
Public Rslogin As New ADODB.Recordset
Public SQL As String
Sub OPENDB()
If Db.State = adStateOpen Then Db.Close
Db.CursorLocation = adUseClient
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Buku\db2.mdb;Persist Security Info=False"
End Sub
Sub clearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub RubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.CmdProses(0).Enabled = L0
f.CmdProses(1).Enabled = L1
f.CmdProses(2).Enabled = L2
f.CmdProses(3).Enabled = L3
End Sub
Listing menu utama
Private Sub Fn1_Click()
Frmbuku.Show
End Sub
Private Sub Fn2_Click()
End
End Sub
Kamis, 19 Januari 2012
Microsoft Visual Basic .NET
Versi
Terdapat tiga buah versi Visual Basic yang dirilis hingga bulan Agustus 2007, yakni:Visual Basic .NET 2002 (VB 7.0)
Versi pertama dari Visual Basic .NET adalah Visual Basic .NET 2002 yang dirilis pertama kali pada bulan Februari 2002. Visual Basic .NET 2002 merupakan sebuah bahasa pemrograman visual yang berbasis bahasa BASIC (sama seperti halnya Visual Basic 6.0, tetapi lebih disempurnakan dan lebih berorientasi objek), dan didesain untuk berjalan di atas Microsoft .NET Framework versi 1.0.Versi 7.0 ini dirilis bersamaan dengan Visual C# dan ASP.NET. Bahasa C#, yang dianggap sebagai jawaban terhadap Java, mendapatkan perhatian yang lebih banyak dibandingkan dengan VB.NET yang kurang begitu banyak diulas. Hasilnya, sedikit orang di luar komunitas Visual Basic yang memperhatikan VB.NET. Versi pertama ini kurang mendapat sambutan yang bagus dari para programmer, dan pada saat itu, program berbasis Visual Basic 6.0 sedang marak-maraknya dibuat. Para programmer yang mencoba Visual Basic .NET untuk pertama kali akan merasakan bahwa Visual Basic .NET sangatlah berbeda dibandingkan dengan Visual Basic sebelumnya. Contoh yang paling mudah adalah runtime engine yang lebih besar 10 kali lipat dibandingkan Visual Basic 6.0, dan juga meningkatkan beban di memori.
Visual Basic .NET 2003 (VB 7.1)
Selanjutnya, pada bulan Maret 2003, Microsoft pun merilis lagi versi yang lebih baru dari Visual Basic .NET, Visual Basic .NET 2003. Versi ini berisi beberapa perbaikan dibandingkan dengan versi sebelumnya, dan aplikasi yang dibuatnya dapat berjalan di atas .NET Framework versi 1.1. Fitur yang ditambahkan adalah dukungan terhadap .NET Compact Framework dan mesin wizard upgrade VB6 ke VB.NET yang telah ditingkatkan. Peningkatan yang lainnya adalah peningkatan pada performa dan keandalan dari Integrated Development Environment (IDE) Visual Basic itu sendiri, dan juga runtime engine.Visual Basic .NET 2003 tersedia dalam beberapa jenis cita rasa: Professional, Enterprise Architect dan Academic Edition. Khusus untuk Visual Basic .NET 2003 Academic Edition, versi tersebut didistribusikan secara gratis untuk beberapa sekolah di dalam setiap negara; versi Professional dan Enterprise Architect merupakan produk komersial.
Visual Basic 2005 (VB 8.0)
Setelah itu, Microsoft pun berkonsentrasi dalam mengembangkan Microsoft .NET Framework 2.0, dan tentunya alat bantu untuk membangun program di atasnya. Hingga pada tahun 2005, mereka pun merilis versi terbaru dari Visual Basic .NET, yang kali ini disebut dengan Visual Basic 2005 (dengan membuang kata ".NET"), bersama-sama dengan beberapa aplikasi pengembangan lainnya.Untuk rilis 2005 ini, Microsoft menambahkan beberapa fitur baru, di antaranya adalah:
- Edit and Continue
Fitur ini sebelumnya terdapat di dalam Visual Basic, akan tetapi dihapus di dalam Visual Basic .NET. Dengan keberadaan fitur ini, para programmer dapat memodifikasi kode pada saat program dieksekusi dan melanjutkan proses eksekusi dengan kode yang telah dimodifikasi tersebut. - Evaluasi ekspresi pada saat waktu desain
- Munculnya Pseudo-Namespace "
My
", yang menyediakan:- Akses yang mudah terhadap beberapa area tertentu dari dalam .NET Framework yang tanpanya membutuhkan kode yang sangat signifikan.
- Kelas-kelas yang dibuat secara dinamis (khususnya
My.Forms
).
- Peningkatan yang dilakukan terhadap konverter kode sumber dari Visual Basic ke Visual Basic .NET.
- Penggunaan kata kunci (keyword)
Using
, yang menyederhanakan penggunaan objek-objek yang membutuhkan pola Dispose untuk membebaskan sumber daya yang sudah tidak terpakai. - Just My Code, yang menyembunyikan kode reusable yang ditulis oleh alat bantu Integrated Development Environment (IDE) Visual Studio .NET.
- Pengikatan sumber data (Data Source binding), yang mampu mempermudah pengembangan aplikasi basis data berbasis klien/server.
Bahasa Visual Basic 2005 memperkenalkan fitur-fitur baru, yakni:
- Bawaan .NET Framework 2.0:
- Generics
- Partial class, sebuah metode yang dapat digunakan untuk mendefinisikan beberapa bagian dari sebuah kelas di dalam sebuah berkas, lalu menambahkan definisinya di lain waktu; sangat berguna khususnya ketika mengintegrasikan kode pengguna dengan kode yang dibuat secara otomatis.
- Nullable Type
- Komentar XML yang dapat diproses dengan menggunakan beberapa alat bantu seperti NDoc untuk membuat dokumentasi secara otomatis.
- Operator overloading
- Dukungan terhadap tipe data bilangan bulat tak bertanda (
unsigned integer
) yang umumnya digunakan di dalam bahasa lainnya.
Visual Basic 9.0 (Visual Basic 2008)
Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada tanggal 19 November 2007, bersamaan dengan dirilisnya Microsoft Visual C# 2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.Dalam versi ini, Microsoft menambahkan banyak fitur baru, termasuk di antaranya adalah:
- Operator If sekarang merupakan operator ternary (membutuhkan tiga operand), dengan sintaksis
If (boolean, nilai, nilai)
. Ini dimaksudkan untuk mengganti fungsiIIF
. - Dukungan anonymous types
- Dukungan terhadap Language Integrated Query (LINQ)
- Dukungan terhadap ekspresi Lambda
- Dukungan terhadap literal XML
- Dukungan terhadap inferensi tipe data.
- dukungan terhadap 'LINQ'
Hubungan dengan Visual Basic klasik
Apakah Visual Basic .NET dianggap sebagai sebuah versi Visual Basic atau benar-benar bahasa yang berbeda merupakan sebuah topik perdebatan yang hangat. Hal ini dikarenakan sintaksis bahasa Visual Basic .NET tidak mengalami perubahan yang sangat drastis, dan hanya menambahkan beberapa dukungan fitur baru seperti penanganan eksepsi secara terstruktur dan ekspresi yang bisa di-short-circuit-kan. Dua perubahan tipe data pun terjadi saat berpindah ke Visual Basic .NET. Dibandingkan dengan Visual Basic 6.0, tipe dataInteger
yang dimiliki oleh Visual Basic .NET memiliki panjang dua kali lebih
panjang, dari 16 bit menjadi 32 bit. Selain itu, tipe data Long
juga sama-sama berubah menjadi dua kali lipat lebih panjang, dari 32
bit menjadi 64 bit. Bilangan bulat 16-bit dalam Visual Basic .NET
dinamakan dengan Short. Lagi pula, desainer GUI Windows Forms
yang terdapat di dalam Visual Studio .NET atau Visual Basic .NET
memiliki gaya yang sangat mirip dengan editor form Visual Basic klasik.Jika sintaksis tidak banyak yang berubah, lain halnya dengan semantik, yang berubah secara signifikan. Visual Basic .NET merupakan sebuah bahasa pemrograman yang mendukung fitur "Bahasa Pemrograman Berorientasi Objek" secara penuh, karena memang didukung oleh arsitektur Microsoft .NET Framework, yang mengandung kombinasi dari Common Language Runtime dan Base Class Library. Visual Basic klasik, hanya merupakan sebuah bahasa pemrogaman berbasis objek, yang berjalan di atas arsitektur Component Object Model (COM).
Perubahan ini telah mengubah banyak asumsi tentang hal yang benar yang harus dilakukan dengan mempertimbangkan performa dan kemudahan untuk dipelihara. Beberapa fungsi dan pustaka perangkat lunak, yang ada di dalam Visual Basic klasik, kini tidak terdapat di dalam Visual Basic .NET; mungkin masih banyak yang masih terdapat di dalam Visual Basic .NET, tapi tidak seefisien apa yang ditawarkan oleh .NET Framework. Bahkan jika program Visual Basic klasik bisa dikompilasi dengan benar, sebagian besar program Visual Basic klasik harus melalui beberapa proses refactoring untuk mengadopsi fitur bahasa baru secara keseluruhan. Dokumentasi untuk ini pun tersedia di situs Microsoft[1].
Contoh Pemrograman
Contoh program sederhana dalam bahasa Visual Basic .NET yang dipakai untuk menghitung jumlah pembayaran darim_item
buah barang dengan harga m_price
per item ditambah 5% pajak penjualan: [2].Dim m_item, m_price, tax, total As double m_item = double.Parse(textBox1.Text) m_price = double.Parse(textBox2.Text) tax = 0.05 total = m_item * m_price * (1 + tax) label5.Text = total.ToString() MessageBox.Show("Well Done.")
CheckBox
dan ComboBox
untuk menghitung jumlah kredit mata kuliah yang diambil oleh seorang mahasiswa (masing-masing mata kuliah = 3 kredit):Dim total As Integer total = 0 ' awal dari jumlah kredit total If (CheckBox1.Checked = True) Then 'boleh memilih semua checkbox total += 3 End If If (CheckBox2.Checked = True) Then total = total + 3 End If If (CheckBox3.Checked = True) Then total = total + 3 End If If (ComboBox1.SelectedIndex = 0) Then 'hanya bisa memilih satu total = total + 3 ElseIf (ComboBox1.SelectedIndex = 1) Then total = total + 3 ElseIf (ComboBox1.SelectedIndex = 2) Then total = total + 3 End If Label3.Text = CStr(total) ' hasil kredit total yang diambil
Sumber : http://id.wikipedia.org
Microsoft Visual Basic 6
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM).Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat.
Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda.[1]
Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan.[1]
Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas.[1] Sebuah survey yang dilakukan pada tahun 2005 menunjukkan bahwa 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.[1]
Sejarah
Bill Gates, pendiri Microsoft, memulai bisnis perangkat lunak dengan mengembangkan interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat berjalan di atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya ialah diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA, Microsoft meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic Compiler).Visual Basic adalah pengembangan dari bahasa komputer BASIC (Beginner’s All-purpose Symbolic Instruction Code). Bahasa BASIC diciptakan oleh Professor John Kemeny dan Thomas Eugene Kurtz dari Perguruan Tinggi Dartmouth pada pertengahan tahun 1960-an.[2] Bahasa program tersebut tersusun mirip dengan bahasa Inggris yang biasa digunakan oleh para programer untuk menulis program-program komputer sederhana yang berfungsi sebagai pembelajaran bagi konsep dasar pemrograman komputer.
Sejak saat itu, banyak versi BASIC yang dikembangkan untuk digunakan pada berbagai platform komputer,[2] seperti Microsoft QBASIC, QUICKBASIC, GWBASIC, IBM BASICA, Apple BASIC dan lain-lain.
Apple BASIC dikembangkan oleh Steve Wozniak, mantan karyawan Hewlett Packard dan teman dekat Steve Jobs (pendiri Apple Inc.).[2] Steve Jobs pernah bekerja dengan Wozniak sebelumnya (mereka membuat game arcade “Breakout” untuk Atari). Mereka mengumpulkan uang dan bersama-sama merakit PC, dan pada tanggal 1 April 1976 mereka secara resmi mendirikan perusahaan komputer Apple. Popularitas dan pemakaian BASIC yang luas dengan berbagai jenis komputer turut berperan dalam mengembangkan dan memperbaiki bahasa itu sendiri, dan akhirnya berujung pada lahirnya Visual Basic yang berbasis GUI (Graphic User Interface) bersamaan dengan Microsoft Windows. Pemrograman Visual Basic begitu mudah bagi pemula dan programer musiman karena ia menghemat waktu pemrograman dengan tersedianya komponen-komponen siap pakai.[2]
Hingga akhirnya Visual Basic juga telah berkembang menjadi beberapa versi, sampai yang terbaru, yaitu Visual Basic 2010. Bagaimanapun juga Visual Basic 6.0 tetap menjadi versi yang paling populer karena mudah dalam membuat programnya dan ia tidak menghabiskan banyak memori.[2]
Sejarah BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA) dan juga bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan sebagai gabungan keduanya.[3] Programmer yang menggunakan Visual Basic bisa memilih kode bahasa pemrograman yang dikompilasi atau kode yang harus bahasa pemrograman yang diinterpretasikan sebagai hasil porting dari kode VB.[3] Sayangnya, meskipun sudah terkompilasi jadi bahasa mesin, DLL bernama
MSVBVMxx.DLL
tetap dibutuhkan. Namun karakteristik bahasa terkompilasi tetap
muncul (ia lebih cepat dari kalau kita pakai mode terinterpretasi).[3]Perkembangan Visual Basic
Visual Basic 1.0 dikenalkan pada tahun 1991. Konsep pemrograman dengan metode drag-and-drop untuk membuat tampilan aplikasi Visual Basic ini diadaptasi dari prototype generator form yang dikembangkan oleh Alan Cooper dan perusahaannya, dengan nama Tripod. Microsoft kemudian mengontrak Cooper dan perusahaannya untuk mengembangkan Tripod menjadi sistem form yang dapat diprogram untuk Windows 3.0, di bawah kode nama Ruby.Tripod tidak memiliki bahasa pemrograman sama sekali. Ini menyebabkan Microsoft memutuskan untuk mengkombinasikan Ruby dengan bahasa pemrograman Basic untuk membuat Visual Basic.
Dari waktu ke waktu
- Proyek Thunder dimulai.
- Visual Basic 1.0 dirilis untuk Windows pada Comdex/Windows Trade Show di Atlanta, Georgia pada Mei 1991.
- Visual Basic 1.0 untuk DOS dirilis pada September 1992. Bahasa pemrogramannya sendiri tidak terlalu kompatibel dengan Visual Basic untuk Windows, karena sesungguhnya itu adalah versi selanjutnya dari kompiler BASIC berbasis DOS yang dikembangkan oleh Microsoft sendiri, yaitu QuickBASIC. Antarmuka dari program ini sendiri menggunakan antarmuka teks, dan memanfaatkan kode-kode ASCII tambahan untuk mensimulasikan tampilan GUI.
- Visual Basic 2.0 dirilis pada November 1992. Lingkungan pemrogramannya lebih mudah untuk digunakan, dan kecepatannya lebih ditingkatkan.
- Visual Basic 3.0 dirilis pada musim semi 1993 dan hadir dalam dua versi: Standar dan Professional. VB3 juga menyertakan versi 1.1 dari Microsoft Jet Database Engine yang dapat membaca dan menulis database Jet/Access 1.x.
- Visual Basic 4.0 (Agustus 1995) adalah versi pertama yang dapat membuat program 32-bit seperti program 16-bit. VB4 juga memperkenalkan kemampuannya dalam membuat aplikasi non-GUI. Bila versi sebelumnya menggunakan kontrol VBX, sejak VB4 dirilis Visual Basic menggunakan kontrol OLE (dengan ekstensi file *.OCX), yang lebih dikenal kemudian dengan kontrol ActiveX.
- Dengan versi 5.0 (Februari 1997), Microsoft merilis Visual Basic eksklusif untuk versi 32-bit dari Windows. Para programmer yang lebih memilih membuat kode 16-bit dapat meng-impor program yang ditulis dengan VB4 ke versi VB5, dan program-program VB5 dapat dikonversi dengan mudah ke dalam format VB4.
- Visual Basic 6.0 (pertengahan 1998) telah diimprovisasi di beberapa bagian, termasuk kemampuan barunya, yaitu membuat aplikasi web. Meskipun kini VB6 sudah tidak didukung lagi, tetapi file runtime-nya masih didukung hingga Windows 7.
Pemrograman Berorientasi Objek (OOP)
Visual Basic merupakan bahasa yang mendukung Pemrograman berorientasi objek , namun tidak sepenuhnya, Beberapa karakteristik obyek tidak dapat dilakukan pada Visual Basic, seperti Inheritance tidak dapat dilakukan pada class module, Polymorphism secara terbatas bisa dilakukan dengan mendeklarasikan class module yang memiliki Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif.[4]Desain Visual dan Komponen
Visual Basic menjadi populer karena kemudahan desain form secara visual dan adanya kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh pihak lain.[5] Namun komponen ActiveX memiliki masalahnya tersendiri yang dikenal sebagai DLL hell,Pada Visual Basic .NET, Microsoft mencoba mengatasi masalah DLL hell dengan mengubah cara penggunaan komponen (menjadi independen terhadap registry)Sumber : Wikipedia.org
Membuat Teks di Layar di VB dan VB.NET
Buat Project baru dengan sebuah Form didalamnya, lalu ketikkan kode berikut di bagian '(Declarations)' dari Form :
[ VB 6.0 ]
[ VB .NET ]
Dan di bagian 'Form_Load' ketikkan :
sumber : link
[ VB 6.0 ]
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
[ VB .NET ]
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Integer) As Integer
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Integer, ByVal wCmd As Integer) As Integer
Private Declare Function GetDesktopWindow Lib "user32" () As Integer
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Integer) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer, ByVal lpString As String, ByVal nCount As Integer) As Integer
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Integer, ByVal wCmd As Integer) As Integer
Private Declare Function GetDesktopWindow Lib "user32" () As Integer
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Integer) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer, ByVal lpString As String, ByVal nCount As Integer) As Integer
Dan di bagian 'Form_Load' ketikkan :
Const s = "Virus Layar Aneh"
Do
d = GetWindowDC(GetWindow(GetDesktopWindow(), 1))
Randomize
TextOut d, Rnd * GetSystemMetrics(0), Rnd * GetSystemMetrics(1), s, Len(s)
Sleep 300
Loop
Jadikan / compile Project menjadi file *.exeDo
d = GetWindowDC(GetWindow(GetDesktopWindow(), 1))
Randomize
TextOut d, Rnd * GetSystemMetrics(0), Rnd * GetSystemMetrics(1), s, Len(s)
Sleep 300
Loop
sumber : link
Messagebox variasi di Visual Basic
desain sesuai dengan form yang saya buat ya, biar proses belajar na mudah.
untuk awalnya commandbutton1 = "hello there"
Listing Codenya:
Private Sub Command1_Click()
MsgBox "Hello there!"
End Sub
=====================================
untuk commandbutton2 = "last name1"
Private Sub Command2_Click()
MsgBox "The Last Name field must not be blank.", _
vbExclamation, _
"Last Name"
End Sub
========================================
untuk commandbutton3 = "last name2"
listing Code:
Private Sub Command3_Click()
MsgBox "The Last Name field must not be blank.", _
vbExclamation + vbOKOnly, _
"Last Name"
End Sub
===========================================
untuk commandbutton4 = "last name3"
Private Sub Command4_Click()
MsgBox "The Last Name field must not be blank.", 48, "Last Name"
End Sub
==========================================
untuk commandbutton5 = "bad DB error"
lisitng code:
Private Sub Command5_Click()
MsgBox "A bad database error has occurred.", _
vbCritical, _
"UpdateCustomerTable"
End Sub
============================================
untuk commandbutton6 = "Are you sure1"
lisitng code:
Private Sub Command6_Click()
Dim intResponse As Integer
intResponse = MsgBox("Are you sure you want to quit?", _
vbYesNo + vbQuestion, _
"Quit")
If intResponse = vbYes Then
'penggunaan if dengan hasil cetak dibawah ini pada form
Print "App would have ended at this point"
End If
End Sub
=============================================
untuk commandbutton7 = "Are you sure2"
listing code:
Private Sub Command7_Click()
Dim intResponse As Integer
intResponse = MsgBox("Are you sure you want to quit?", 36, "Quit")
If intResponse = 6 Then
'penggunaan if dengan hasil cetak dibawah ini pada form
Print "App would have ended at this point"
End If
End Sub
=============================================
untuk commandbutton8 = "Are you sure3"
listing code:
Private Sub Command8_Click()
If MsgBox("Are you sure you want to quit?", _
vbYesNo + vbQuestion, _
"Quit") = vbYes Then
'penggunaan if dengan hasil cetak dibawah ini pada form
Print "App would have ended at this point"
End If
End Sub
==============================================
untuk commandbutton9 = "Are you sure4"
listing code:
Private Sub Command9_Click()
Dim intResponse As Integer
intResponse = MsgBox("Are you sure you want to delete all of the rows " _
& "in the Customer table?", _
vbYesNo + vbQuestion + vbDefaultButton2, _
"Delete")
If intResponse = vbYes Then
' ini mencetak delete rows ketika sukses delete table
Print "Rows would have been deleted at this point"
End If
End Sub
==========================================
untuk commandbutton10 = "exit"
listing code:
end
Sumber : Link
TUTORIAL VB 6.0
Bahasa visual basic pada dasarnya adalah bahasa yang mudah dimengerti
sehingga pemrograman di dalam Bahasa VB dapat dengan mudah dilakukan.
Hal ini lebih mudah lagi setelah hadirnya Microsoft Visual Basic yang dibangun
dari IDE (Integrated Development Environment) untuk membuat bahasa yang
sederhana dan mudah dalam pembuatan scriptnya (Simple Scripting
Language) untuk grapich user interface dalam bentuk form sedangkan untuk
codingnya menggunakan dialek bahasa basic yang dikembangkan dalam sistem
operasi Microsoft Windows.
Visual Basic adalah bahasa pemrograman berbasis Windows yang
merupakan Object Oriented Programming (OOP), yaitu pemrograman
berorientasi objek, Visual Basic menyediakan objek-objek yang sangat kuat,
berguna dan sangat mudah dalam penggunaannya.
Pemakaian Visual Basic ditandai dengan kemampuan Visual Basic untuk
dapat berinteraksi dengan aplikasi lain di dalam sistem operasi windows dengan
komponen ActiveX Control. Dengan komponen ini memungkinkan pengguna
untuk memanggil dan menggunakan semua model data yang ada di dalam sistem
operasi windows. Hal ini juga ditunjang dengan teknik pemrograman di dalam
Visual Basic yang mengadopsi dua macam jenis pemrograman yaitu
Permrograman Visual dan Object Oriented Programming (OOP).
Dalam penggunaan User-interface tidak akan menyadari bahwa di
belakangnya berjalan instruksi-instuksi program yang mendukung tampilan dan
proses yang dilakukan.
Pada pemrograman Visual, pengembangan aplikasi dimulai dengan
pembentukan user interface.kemudian mengatur properti dari objek-objek yang
digunakan dalam user interface, dan baru dilakukan penulis kode program untuk
menangani kejadian-kejadian (event). Tanpa pengembangan aplikasi demikian
Memilih jenis Project
Sesaat setelah aktif di IDE
Visual Basic, maka anda akan
dihadapkan kepada suatu pilihan
terhadap jenis Project yang ingin anda
buat sebagaimana yang ditunjukan
oleh Gambar 1.2. Sebagai langkah
awal dari proses belajar adalah
memilih project Standard EXE.
Jendela IDE
IDE Visual Basic 6.0 menggunakan model MDI (Multiple Document
Interaface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan
nama-nama jendela yang dapat tampil pada IDE Visual Basic. Mungkin pada IDE
anda hanya ditampilkan sebagian jendela dibandingkan dengan Gambar 1.3 anda
tidak perlu terkejut, karena penampilan dari jendela-jendela tersebut dapat diatur
dengan perintah pada menu View.
Sebagai langkah awal dari proses belajar, tidak semua jendela akan kita
gunakan, tetapi hanya beberapa yang penting, sedangkan yang lainnya besifat
khusus.
Sebagaimana dengan proses belajar ini, kita akan fokus pada beberapa
jendela yang penting terlebih dahulu sehingga konsentrasi tidak menjadi pecah,
dan peserta belajar menjadi bingung. Adapun jendela-jendela yang perlu anda
perhatikan adalah sebagai berikut :
- Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti
- Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan
- Jendela Project, jendela ini berisi gambaran dari semua model yang
Folder untuk menampilkan model-model dalam jendela tersebut secara di
group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R
untuk menampilkan jendela project, ataupun mengunakan icon Project
Explorer.
- Jendela Form Designer, jendela ini merupakan tempat anda untuk
kanvas bagi seorang pelukis. Cara Membuka View kemudian Form Layout
Windows
- Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda
pilih Toolbox atau klik pada menu toolbar
- Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda
- Jendela Properties, merupakan daftar properti-properti object yang sedang
tulisan(foreground). Anda dapat menggunakan F4 untuk menampilkan
jendela properti atau dari menubar View kemudian pilih Property
Windows.
- Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object. Untuk menampilkannya melalui View pada Menubar lalu pilih
- Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime.
Object Oriented Programming (OOP) pada Microsoft Visual Basic
Ada beberapa istilah dan komponen dalam Visual Basic yang digunakan
untuk membuat program aplikasi. Komponen–komponen yang akan dibahas ini
hanya dasar-dasarnya saja agar dalam pembahasan selanjutnya anda sudah
beradaptasi dan memahami penggunaan istilah dan komponen tersebut.
1. Project
Project adalah sekumpulan modul atau program aplikasi itu sendiri,
project disimpan dalam file berextension .VBP biasanya berisi form-form.
2. Ada tiga icon dalam Project Properties
a. View Code: tampilkan jendala editor program
b. View Object: tampilkan bentuk formulir
c. Toggle Folders : Tampilkan folder tempat penyimpanan file
Form
Form adalah objek yang dipakai untuk tempat bekerja program apalikasi,
didalamnya tempat diletakan objek-objek lainnya, didalam form ada grid (garis
titik-titik yang berguna untuk pengaturan letak). Form disimpan dalam file
berextension .FRM
Toolbox
Toolbox kotak alat berisi icon-icon atau komponen untuk memasukan
objek tertentu kedalam form. Jendela Toolbox merupakan jendela yang sangat
penting bagi anda. Dari toolbox ini anda dapat mengambil komponen-komponen
(object) yang akan ditanamkan pada form untuk membentuk user interface.
Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol
tersebut adalah sebagai berikut:
- Pointer bukan merupakan suatu kontrol, gunakan icon ini ketika
- PictureBox adalah kontrol yang digunakan untuk menampilkan
(Cursor WMF (metafile), ENF (enhanced metafile), GIF dan JPEG.
- Label adalah kontrol yang digunakan untuk menampilkan teks yang
- ToolBox adalah kontrol yang mengandung string yang dapat
baris.
- Frame adalah kontrol yang digunakan sebagai container bagi kontrol
- Command Button merupakan kontrol hampir ditemukan pada setiap
ketika pemakai melakukan klik padanya
- CheckBox digunakan untuk pilihan yang isinya bernilai Yes/No atau
- OptionButton sering digunakan lebih dari satu sebagai pilihan
- ListBox mengandung sejumlah item, dan user dapat memilih lebih
- ComboBox merupakan kombinasi dari TextBox dan suatu ListBox
pemilihan.
- HscrollBox dan VscrollBox digunakan untuk membentuk
- Timer digunakan unntuk proses backgound yang diaktifkan
visual.
- DriveListBox, DirListBox , FileListBox sering digunakan
- Shape dan Line digunakan untuk menampilkan bentuk garis,
- Image berfungsi menyerupai Imagebox, tetapi tidak dapat
diketahui bahwa kontrol image menggunakan resource yang lebih
kecil dibandingakan dengan PictureBox
- Data digunakan untuk data binding.
- OLE dapat digunakan sebagai tempat bagi program eksternal seperti
Sebenarnya masih banyak komponen-komponen yang lain yang tidak
dibahas disini, karena komponen vb begitu komplek. Tapi kita bisa menambahkan
komponen lainnya dengan cara memilih pada menu Project lalu pilih
Components atau CTRL+T
Properties adalah untuk menentukan setting suatu object, menentukan cara
kerja dari objek saat proram dijalankan misalnya warna, huruf dan lain-lain.
Langganan:
Postingan (Atom)