menampilkan teks bolong di form vb

26
Menampilkan Teks Bolong di Form 'Deskripsi: Menampilkan teks dengan efek "bolong" di form Anda dengan ' bantuan PictureBox. 'Pembuat : Masino Sinaga ([email protected]) 'Diupload : Rabu, 15 Mei 2002 'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Module, ' dan 1 PictureBox. ' 2. Copy-kan coding berikut ke editor form & module ybt. --------------------------------------------------------------------- ---- '--- Coding ini di Module... Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long Declare Function StrokePath Lib "gdi32" (ByVal hdc As Long) As Long '--- Akhir coding di Module... '--- Coding ini di Form... Private Sub Form_Load() 'Ganti "Masino Sinaga" dengan teks yang ingin Anda tampilkan Const TXT = "Masino Sinaga" Dim i As Long Dim hRgn As Long Picture1.AutoRedraw = True 'Pilih huruf. Sesuaikan dengan keinginan Anda... Picture1.Font.Name = "Times New Roman" Picture1.Font.Bold = True Picture1.Font.Size = 50 'Buat ukuran Picture1 cukup besar Picture1.Width = Picture1.TextWidth(TXT) Picture1.Height = Picture1.TextHeight(TXT) 'Untuk letak Picture1 BeginPath Picture1.hdc Picture1.CurrentX = 0 Picture1.CurrentY = 0 Picture1.Print TXT EndPath Picture1.hdc 'Gambar teks... StrokePath Picture1.hdc End Sub Memeriksa Apakah Printer Terinstall di PC Anda

Upload: dody-al-huda

Post on 25-Jun-2015

291 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Menampilkan Teks Bolong Di Form VB

Menampilkan Teks Bolong di Form

'Deskripsi: Menampilkan teks dengan efek "bolong" di form Anda dengan' bantuan PictureBox.'Pembuat : Masino Sinaga ([email protected])'Diupload : Rabu, 15 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Module, ' dan 1 PictureBox.' 2. Copy-kan coding berikut ke editor form & module ybt.-------------------------------------------------------------------------

'--- Coding ini di Module...Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As LongDeclare Function EndPath Lib "gdi32" (ByVal hdc As Long) As LongDeclare Function StrokePath Lib "gdi32" (ByVal hdc As Long) As Long'--- Akhir coding di Module...

'--- Coding ini di Form...Private Sub Form_Load()'Ganti "Masino Sinaga" dengan teks yang ingin Anda tampilkan Const TXT = "Masino Sinaga" Dim i As Long Dim hRgn As Long Picture1.AutoRedraw = True

'Pilih huruf. Sesuaikan dengan keinginan Anda... Picture1.Font.Name = "Times New Roman" Picture1.Font.Bold = True Picture1.Font.Size = 50

'Buat ukuran Picture1 cukup besar Picture1.Width = Picture1.TextWidth(TXT) Picture1.Height = Picture1.TextHeight(TXT)

'Untuk letak Picture1 BeginPath Picture1.hdc Picture1.CurrentX = 0 Picture1.CurrentY = 0 Picture1.Print TXT EndPath Picture1.hdc

'Gambar teks... StrokePath Picture1.hdcEnd Sub

Memeriksa Apakah Printer Terinstall di PC Anda

'Deskripsi: Memeriksa apakah printer terinstall di PC Anda.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form.' 2. Copy-kan coding ini ke editor form yang bertalian.'-------------------------------------------------------------------

Public Function IsPrinterInstalled() As Boolean'coding ini shrsnya jika error lanjut saja, sengaja dihilangkan spy dapat diupload ke brinksterDim strDummy As String

Page 2: Menampilkan Teks Bolong Di Form VB

strDummy = Printer.DeviceName If Err.Number Then PrinterInstalled = False Else PrinterInstalled = True End IfEnd Function

Private Sub Form_Load()If IsPrinterInstalled Then MsgBox "Printer terinstall di PC Anda!", vbInformation, "Terinstall"Else MsgBox "Printer belum terinstall di PC Anda!", vbCritical, "Belum Terinstall"End IfEnd Sub

Menampilkan Printer yang Terinstall

'Deskripsi: Menampilkan daftar nama printer yang terinstall di suatu komputer' ke dalam combobox dan menampilkan nama printer default-nya.'Pembuat : Masino Sinaga ([email protected])'Diupload : Jumat, 10 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 ComboBox.' 2. Set property Style ComboBox menjadi "2 - Dropdown List".' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'----------------------------------------------------------------------------

Dim Ptr As Printer 'Deklarasi objek printer

Private Sub Form_Load() If cboPrinter.ListCount = 0 Then For Each Ptr In Printers cboPrinter.AddItem Ptr.DeviceName Next End If cboPrinter.Text = Printer.DeviceName 'Tampilkan printer defaultnya.End Sub

Menentukan Font Printer

'Deskripsi: Menentukan utilitas font printer'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Commandbutton.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

Private Sub Command1_Click() Printer.FontName = "Arial"

Page 3: Menampilkan Teks Bolong Di Form VB

Printer.FontUnderline = False Printer.FontBold = False Printer.FontItalic = True Printer.FontSize = "30" Printer.Print "hello" 'Gunakan perintah EndDoc jika teks ini adalah yang 'terakhir yang dicetak ke dalam kertas. Printer.EndDocEnd Sub

Mencoba Printer

'Deskripsi: Mencoba printer dengan men-test cetak halaman (print test page).'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'---------------------------------------------------------------------------

'Panggil fungsi print-test-page milik Windows.Private Sub Form_Load() Shell "rundll32 msprint2.dll,RUNDLL_PrintTestPage"End Sub

Mengambil Nama & Organisasi Pemilik Windows

'Deskripsi: Mengambil nama dan organisasi atau perusahaan pemilik sistem ' operasi Windows yang terinstall di suatu PC. Informasi ini' tersimpan di dalam registry komputer tersebut. Dalam tips ini ' Anda juga dapat mempelajari bagaimana cara mengambil setting ' dari registry selain menggunakan GetSetting yang hanya terbatas' pada "HKEY_CURRENT_USER\Software\VB and VBA Program Setting".' Sedangkan jika Anda ingin mengambil setting dari lokasi lainnya, ' Anda bisa menggunakan tips di bawah ini. Misalnya Anda ingin ' memunculkan nama pemilik dan organisasi OS Windows ybt:' "Program ini telah diregistrasikan kepada: .................." ' Sebagian besar source code ini saya ambil dari template form-nya ' About di Visual Basic. Yang ditambahkan di sini hanya mengambil ' setting nama dan organisasi pemilik Windows, serta deskripsi ' program dari Project Properties->Make->Version Information->Desc.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru.

Page 4: Menampilkan Teks Bolong Di Form VB

' 2. Tambahkan form About dari Project->Add Form->About Dialog.' 3. Sesuaikan beberapa object yang terdapat di source code ini,' seperti label/textbox yang belum ada di About Dialog tsb.' Lihat di source code tersebut selengkapnya.' 4. Copy-kan coding berikut ke dalam editor form yang bertalian.' (replace semua source code yang ada dengan source code ini).'--------------------------------------------------------------------------

Option Explicit 'Semua variabel yang digunakan harus dideklarasikan.

'Pilihan Reg Key Security ...Const READ_CONTROL = &H20000Const KEY_QUERY_VALUE = &H1Const KEY_SET_VALUE = &H2Const KEY_CREATE_SUB_KEY = &H4Const KEY_ENUMERATE_SUB_KEYS = &H8Const KEY_NOTIFY = &H10Const KEY_CREATE_LINK = &H20Const KEY_ALL_ACCESS = _ KEY_QUERY_VALUE + KEY_SET_VALUE + _ KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL 'Tipe Reg Key ROOT ...Const HKEY_LOCAL_MACHINE = &H80000002Const ERROR_SUCCESS = 0Const REG_SZ = 1 ' Unicode nul terminated stringConst REG_DWORD = 4 ' 32-bit number

Const gREGKEYSYSINFOLOC = _ "SOFTWARE\Microsoft\Shared Tools Location"Const gREGVALSYSINFOLOC = "MSINFO"Const gREGKEYSYSINFO = _ "SOFTWARE\Microsoft\Shared Tools\MSINFO"Const gREGVALSYSINFO = "PATH"

'Konstanta untuk mengambil data pemilik & organisasi OS Windows di PCConst gRegKeyLokasi1 = _ "SOFTWARE\Microsoft\Windows\CurrentVersion"Const gRegKeyOwner = "RegisteredOwner"Const gRegKeyLokasi2 = _ "SOFTWARE\Microsoft\Windows\CurrentVersion"Const gRegKeyOrganization = "RegisteredOrganization"

Private Declare Function RegOpenKeyEx Lib _ "advapi32" Alias "RegOpenKeyExA" _ (ByVal hKey As Long, ByVal lpSubKey As String, _ ByVal ulOptions As Long, ByVal samDesired As Long, _ ByRef phkResult As Long) As LongPrivate Declare Function RegQueryValueEx Lib _ "advapi32" Alias "RegQueryValueExA" _ (ByVal hKey As Long, ByVal lpValueName As String, _ ByVal lpReserved As Long, ByRef lpType As Long, _ ByVal lpData As String, ByRef lpcbData As Long) _

Page 5: Menampilkan Teks Bolong Di Form VB

As LongPrivate Declare Function RegCloseKey Lib _ "advapi32" (ByVal hKey As Long) As Long

Private Sub cmdSysInfo_Click() Call StartSysInfoEnd Sub

Private Sub cmdOK_Click() Unload MeEnd Sub

Private Sub Form_Load() Me.Caption = "About " & App.Title lblVersion.Caption = "Versi " & App.Major & "." & App.Minor & "." & App.Revision lblTitle.Caption = App.Title txtDeskripsi.Text = App.FileDescription StartOwner 'Ambil dan tampilkan nilai pemilik OS WindowsEnd Sub

Public Sub StartOwner()On Error GoTo SysInfoErr Dim rc As Long Dim Pemilik As String Dim Organisasi As String Dim lReturn As Long 'Tampung nama pemilik OS Windows lReturn = GetKeyValue(HKEY_LOCAL_MACHINE, _ gRegKeyLokasi1, gRegKeyOwner, Pemilik) lblOwner.Caption = Pemilik 'Tampung nama organisasi OS Windows lReturn = GetKeyValue(HKEY_LOCAL_MACHINE, _ gRegKeyLokasi2, gRegKeyOrganization, Organisasi) lblOrganization.Caption = Organisasi Exit SubSysInfoErr: MsgBox "Tidak ada informasi pemilik Windows", _ vbInformation, "NIHIL"End Sub

Public Sub StartSysInfo()On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String ' Ambil System Info Program Path\Name dari Registry... If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, _ gREGVALSYSINFO, SysInfoPath) Then ' Ambil hanya path System Info Program dari Registry... ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, _ gREGVALSYSINFOLOC, SysInfoPath) Then ' Validasi keberadaan versi file 32 Bit If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then SysInfoPath = SysInfoPath & "\MSINFO32.EXE" ' Error - File tidak dapat ditemukan... Else GoTo SysInfoErr End If ' Error - Registry Entry tidak dapat ditemukan... Else GoTo SysInfoErr

Page 6: Menampilkan Teks Bolong Di Form VB

End If Call Shell(SysInfoPath, vbNormalFocus) Exit SubSysInfoErr: MsgBox "System Information Is Unavailable At This Time", _ vbOKOnlyEnd Sub

Public Function GetKeyValue(KeyRoot As Long, _ KeyName As String, _ SubKeyRef As String, _ ByRef KeyVal As String) _ As Boolean Dim i As Long ' Counter untuk looping Dim rc As Long ' Code pengembalian Dim hKey As Long ' Penanganan membuka Registry Key Dim hDepth As Long ' Dim KeyValType As Long ' Tipe Data sebuah Registry Key Dim tmpVal As String ' Penyimpanan sementara nilai Registry Key Dim KeyValSize As Long ' Ukuran variabel Registry Key '------------------------------------------------------------ ' Buka RegKey di bawah KeyRoot {HKEY_LOCAL_MACHINE...} '------------------------------------------------------------ ' Buka Registry Key rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Penanganan Error... If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Alokasi Variable Space tmpVal = String$(1024, 0) ' Penanda Variable Size KeyValSize = 1024 '------------------------------------------------------------ ' Ambil Nilai Registry Key ... '------------------------------------------------------------ ' Ambil/Buat nilai Key rc = RegQueryValueEx(hKey, SubKeyRef, 0, _ KeyValType, tmpVal, KeyValSize) ' Penanganan Errors If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Win95 Adds Null Terminated String... If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Null ditemukan, Extract dari String tmpVal = Left(tmpVal, KeyValSize - 1) Else ' WinNT tidak bernilai Null Terminate String... ' Null tidak ditemukan, Extract String saja tmpVal = Left(tmpVal, KeyValSize) End If '------------------------------------------------------------ ' Memeriksa nilai tipe Key untuk konversi ... '------------------------------------------------------------ Select Case KeyValType ' Cari tipe data... Case REG_SZ ' Tipe data string Registry Key KeyVal = tmpVal ' Copy nilai String Case REG_DWORD ' Tipe data Double Word Registry Key ' Konversikan setiap bit For i = Len(tmpVal) To 1 Step -1 ' Bangun nilai Char. Dengan Char. KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) Next ' Konversi Double Word ke String

Page 7: Menampilkan Teks Bolong Di Form VB

KeyVal = Format$("&h" + KeyVal) End Select GetKeyValue = True ' Pengembalian sukses rc = RegCloseKey(hKey) ' Tutup Registry Key Exit Function ' Keluar dari fungsiGetKeyError: ' Bersihkan memori jika terjadi error... KeyVal = "" ' Set Return Val ke string kosong GetKeyValue = False ' Pengembalian gagal rc = RegCloseKey(hKey) ' Tutup Registry KeyEnd Function

Mengganti Nama/Organisasi Pemilik Windows

'Deskripsi: Mengganti nama pemilik Windows yang terdaftar di komputer Anda' beserta perusahaan/organisasinya.'Pembuat : Masino Sinaga ([email protected])'Diupload : Jumat, 10 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Module, 2 Textbox, ' dan 1 Commandbutton' 2. Copy-kan coding berikut ke dalam editor form & module ybt.'----------------------------------------------------------------------------

'Masukkan nama pemilik Windows yang baru di Text1, masukkan nama perusahaan 'pemilik tersebut di Text2, lalu klik tombol Command1. Jika Anda mengosongkan'kedua texbox tsb lalu mengklik Command1, maka tidak ada perubahan yg terjadi.'Lihat perubahannya dari menu Start | Settings | Control Panel | System '(tab General), atau klik kanan icon "My Computer" di desktop lalu pilih '"Properties".

'Coding ini di Module...Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _ (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongDeclare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As _ Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As LongDeclare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As LongDeclare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Const HKEY_LOCAL_MACHINE = &H80000002'--- Akhir coding di Module...

'--- Coding ini di Form...Sub WriteRegistry(ByVal Group As Long, ByVal Section As String, ByVal Key As _

Page 8: Menampilkan Teks Bolong Di Form VB

String, NewVal As String)Dim lResult As Long, lKeyValue As LongDim InLen As Long'coding ini shrsnya jika error lanjut saja, sengaja dihilangkan spy dapat diupload ke brinkster lResult = RegOpenKey(Group, Section, lKeyValue) InLen = Len(NewVal) lResult = RegSetValueEx(lKeyValue, Key, 0&, 1&, NewVal, InLen) lResult = RegFlushKey(lKeyValue) lResult = RegCloseKey(lKeyValue)End Sub

Private Sub Command1_Click() WriteRegistry HKEY_LOCAL_MACHINE, _ "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegisteredOwner", Text1 WriteRegistry HKEY_LOCAL_MACHINE, _ "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegisteredOrganization", Text2 MsgBox "Registered Name = " & Text1.Text & "" & Chr(13) & _ "Registered Organization = " & Text2.Text & "", vbInformation, _ "Berhasil Diganti!"End Sub

Menampilkan Tulisan Berjalan di StatusBar

'Deskripsi: Menampilkan tulisan berjalan di StatusBar (bagian bawah form)' dengan bantuan control Timer.'Pembuat : Masino Sinaga ([email protected])'Diupload : Senin, 22 Juli 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 StatusBar. StatusBar' dapat Anda peroleh dari component yang bernama:' ""Microsoft Windows Common Controls 5.0 (SP2)" ' dari Add->Components...' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

Dim Counter As Integer

Private Sub Form_Load() Counter = 0 Timer1.Interval = 50 '<-- Atur kecepatannya di sini With StatusBar1 .Panels(1).Width = 4000 .Panels(1).Alignment = sbrRight End WithEnd Sub

Private Sub Timer1_Timer() Dim Kalimat As String Dim pnlX1 As Panel Set pnlX1 = StatusBar1.Panels(1) Kalimat = "Testing tulisan berjalan" Counter = Counter + 1

Page 9: Menampilkan Teks Bolong Di Form VB

DoEvents pnlX1.Text = TulisJalan(Counter, Kalimat, 150)End Sub

Public Function TulisJalan(Hitung As Integer, _ strKalimat As String, _ Panjang As Integer) If Hitung = Len(strKalimat) + Panjang Then Hitung = 0 ElseIf Hitung > Len(strKalimat) Then TulisJalan = strKalimat & Space(Hitung - Len(strKalimat)) Else TulisJalan = Mid(strKalimat, 1, Hitung) End IfEnd Function

Membalikkan Tulisan di Suatu Kata/Kalimat

'Deskripsi: Membalikkan tulisan di suatu kata atau kalimat.'Pembuat : Masino Sinaga ([email protected])'Diupload : Minggu, 1 September 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form' 2. Tambahkan 1 TextBox dan 1 CommandButton.' 3. Copy-kan coding berikut ke dalam editor form yang bertalian'-------------------------------------------------------------------------

Private Sub Command1_Click() Text1.Text = BalikkanString(Text1.Text)End Sub

Function BalikkanString(strKalimat As String) As StringDim i As Integer, Panjang As IntegerDim strTampung As String Panjang = Len(strKalimat) For i = Panjang To 1 Step -1 strTampung = strTampung & Mid(strKalimat, i, 1) Next i BalikkanString = strTampungEnd Function

Private Sub Form_Load() Text1.Text = "Masino Sinaga"End Sub

Menghitung Jumlah Digit dalam Suatu Bilangan

'Deskripsi: Menghitung jumlah digit dalam suatu bilangan tertentu.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form.' 2. Copy-kan coding berikut ke dalam editor form ybt.'-------------------------------------------------------------------

Private Function GetDigitCount(inValue As Double) As Double GetDigitCount = Int(Log(inValue) / Log(10)) + 1End Function

Page 10: Menampilkan Teks Bolong Di Form VB

Private Sub Form_Load() 'Ganti '123456789' dengan bilangan yang Anda ingikan untuk 'dihitung jumlah digitnya. MsgBox GetDigitCount(123456789)End Sub

Memformat Angka Menjadi Style Indonesia

'Deskripsi: Memformat angka menjadi style Indonesia, yaitu antara ' kelipatan ribuan dipisahkan dengan karakter titik, dan' menambahkan dua digit bilangan nol di belakang koma. ' Jika Regional Setting di PC menggunakan setting US atau' English atau default Internasional, maka jika menggunakan' fungsi Format(50000, "#,#") atau jika menggunakan' fungsi FormatNumber(50000, 2) hasilnya bisa menjadi:' 50,000.00 atau jika setting PC Indonesia maka menjadi' 50.000,00. ' Fungsi buatan di bawah ini mengubahnya secara fix menjadi' setting Indonesia, yaitu: 50.000,00 dan tidak terpengaruh' dengan Regional Settings, apakah Internasional atau' setting Indonesia.'Pembuat : Masino Sinaga ([email protected])'Diupload : Kamis, 29 Agustus 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan' 1 TextBox' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

'Masukkan bilangan di Text1, lalu tekan Enter untuk'menampilkan angka dalam format IndonesiaPrivate Sub Command1_Click() MsgBox FormatAngka(Text1.Text) Text1.SetFocus SendKeys "{Home}+{End}"End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) Command1.Default = TrueEnd Sub

'Parameter Angka bertipe Variant, untuk mengatasi'apakah input dalam tipe data apapunPublic Function FormatAngka(Angka) As String

'Variabel yang digunakan di fungsiDim Jumlah As Integer, Jumlah1 As IntegerDim i As Integer, j As Integer, k As IntegerDim strAngka As String, strAngka1 As StringDim strAngkaFull As StringDim strTemp As String, strTemp1 As String 'Tampung nilai angka ke dalam variabel string strAngka = CStr(Trim(Angka)) 'Karena parameternya bertipe angka bulat, maka tidak boleh

Page 11: Menampilkan Teks Bolong Di Form VB

'ada karakter lainnya (termasuk titik dan koma) 'selain karakter angka saja... If InStr(1, strAngka, ".") > 0 Or _ InStr(1, strAngka, ",") > 0 Or _ Not IsNumeric(Angka) Then MsgBox "Harus bilangan bulat dan tidak" & vbCrLf & _ "boleh mengandung karakter" & vbCrLf & _ "titik atau koma.", _ vbCritical, "Bukan Bilangan Bulat" Exit Function End If 'Tambahkan dua angka nol di belakang string strAngka strAngkaFull = strAngka & "00" 'Tampung jumlah digit Jumlah = Len(Trim(strAngkaFull)) 'Inisialisasi untuk counter menghitung per karakter j = 0 strTemp = "" 'Ulangi setiap karakter mulai dari kanan ke kiri For i = Jumlah To 1 Step -1 'Step -1 = berkurang 1 j = j + 1 'Counter untuk semua karakter k = k + 1 'Counter untuk letak tanda titik 'Tampung setiap satu karakter ke strTemp strTemp = strTemp & Mid(strAngkaFull, i, 1) 'Jika counter = 2 (untuk letak tanda koma desimal) If j = 2 Then 'Tambahkan karakter koma strTemp = strTemp & "," 'Inisialisasi kembali counter untuk titik k = 0 End If 'Jika counter utk titik = 3 dan 'belum mencapai digit akhir paling kiri (awal). 'Hal ini untuk menghindari karakter titik di akhir... If k = 3 And i <> 1 Then 'Tambahkan karakter titik strTemp = strTemp & "." 'Inisialisasi kembali counter untuk 'menentukan posisi titik k = 0 End If Next i 'Maju ke karakter berikutnya 'Tampung jumlah karakter strTemp yang berasal 'dari iterasi di atas ini Jumlah1 = Len(Trim(strTemp)) 'Iterasi berikut untuk membalikkan posisi bilangan

Page 12: Menampilkan Teks Bolong Di Form VB

For i = Jumlah1 To 1 Step -1 strTemp1 = strTemp1 & Mid(strTemp, i, 1) Next i 'Kembalikan nilai string yg fix ke fungsi FormatAngka FormatAngka = strTemp1 End Function

Hilangkan Spasi di Suatu String

'Deskripsi: Menghilangkan spasi yang terdapat di tengah-tengah suatu string.' Jika Anda ingin menghilangkan spasi di sebelah kiri dan sebelah' kanan suatu string, Anda bisa menggunakan fungsi Trim(str). ' Sedangkan menghilangkan spasi di sebelah kiri menggunakan:' LTrim(str), dan sebelah kanan menggunakan: RTrim(str).' Sebenarnya, tanpa menggunakan fungsi HilangkanSpasi di bawah ini' Anda bisa menghilangkan spasi di tengah-tengah suatu string ' dengan menggunakan fungsi Replace(...). Tapi, dengan adanya ' fungsi buatan ini, Anda bisa mempelajari logika dalam mengolah' karakter demi karakter dalam suatu string, dan bisa Anda ' kembangkan untuk memecahkan persoalan yang lain.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 2 Commandbutton.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

Private Sub Command1_Click() 'Menggunakan fungsi buatan... MsgBox HilangkanSpasi("Situs Visual Basic Bersama Masino Sinaga")End Sub

Private Sub Command2_Click()Dim Hilangkan As String 'Menggunakan fungsi Replace miliknya VB... Hilangkan = Replace("Situs Visual Basic Bersama Masino Sinaga", " ", "") MsgBox HilangkanEnd Sub

Public Function HilangkanSpasi(strKalimat As String) As StringDim i As Integer 'Deklarasi untuk counterDim Temp As String 'Deklarasi untuk menampung karakterDim Huruf As String * 1 'Deklarasi untuk memeriksa karakter Temp$ = "": Huruf = "" 'Inisialisasi awal variabel For i% = 1 To Len(strKalimat) 'Proses sebanyak karakter 'Tampung setiap satu karakter Huruf = Chr(Asc(Mid(strKalimat, i%, 1))) 'Periksa jika terdapat spasi...

Page 13: Menampilkan Teks Bolong Di Form VB

If Len(Trim(Huruf)) < 1 Then 'Tidak usah ditampung (tidak usah diproses) Else 'Jika tidak terdapat spasi... 'Tampung seperti biasa setiap satu karakter Temp$ = Temp$ + Chr(Asc(Mid(strKalimat, i%, 1))) End If 'Akhir pemeriksaan spasi Next i 'Ke karakter berikutnya 'Tampung string yang sudah hilang spasi-nya... HilangkanSpasi = Temp$End Function

Menghitung Jumlah Substring dalam String

'Deskripsi: Menghitung jumlah/banyaknya substring dalam suatu string tertentu.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form.' 2. Copy-kan coding berikut ke dalam editor ybt.'-----------------------------------------------------------------------------

'Contoh ini akan menunjukkan bahwa string 'is' muncul 2 kali dalam string 'this is my string'.'Coding ini menggunakan fungsi 'split' yang hanya terdapat mulai Visual Basic 6.0 ke atas.Private Sub Form_Load() myString = "this is my string" tempString = Split(myString, "is") MsgBox "'is' muncul dalam '" & myString & "' sebanyak " & UBound(tempString) & " kali."End Sub

Menghitung Jumlah Baris di TextBox

'Deskripsi: Menghitung jumlah baris yang ada di suatu TextBox ketika' Anda memasukkan data pada textbox dengan MultiLine=True.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Module, 1 Form, 1 Label, ' dan 1 Textbox.' 2. Set properti MultiLine pada textbox menjadi True.' 3. Copy-kan coding berikut ke dalam Module dan Form ybt.'------------------------------------------------------------------------

'--- Coding ini di Module Anda...Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd _As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Const EM_GETLINECOUNT = &HBA'--- Batas coding di Module...

'--- Coding ini di Form Anda...Private Sub Text1_Change()Dim lineCount As LongOn Local Error Resume NextlineCount = SendMessageLong(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)

Page 14: Menampilkan Teks Bolong Di Form VB

Label1 = Format$(lineCount, "##,###")End Sub

Hanya Huruf Besar Boleh Dientri ke TextBox

'Deskripsi: Hanya huruf besar yang ditampilkan/dientri ke textbox.' Ada dua cara untuk menampilkan input data dengan huruf' besar di suatu textbox.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 2 Textbox.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

Private Sub Text1_Change() 'Text1 menggunakan event ChangeDim posisi As Integerposisi = Text1.SelStart Text1.Text = UCase(Text1.Text) Text1.SelStart = posisiEnd Sub Private Sub Text2_KeyPress(KeyAscii As Integer) 'Text2 menggunakan KeyPress KeyAscii = Asc(UCase(Chr(KeyAscii)))End Sub

Hanya Huruf Kecil Boleh Dientri ke TextBox

'Deskripsi: Hanya huruf kecil yang boleh dientri ke textbox.' Ada dua cara untuk menampilkan input data dengan huruf kecil' ke dalam suatu textbox.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 2 Textbox.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

Private Sub Text1_Change() 'Text1 menggunakan event ChangeDim posisi As Integerposisi = Text1.SelStart Text1.Text = LCase(Text1.Text) Text1.SelStart = posisiEnd Sub

Private Sub Text2_KeyPress(KeyAscii As Integer) 'Text2 menggunakan KeyPress KeyAscii = Asc(LCase(Chr(KeyAscii)))End Sub

Hanya Data Numerik Boleh Dientri ke TextBox

Page 15: Menampilkan Teks Bolong Di Form VB

'Deskripsi: Hanya tipe data number/numeric yang boleh dientri ke dalam textbox.'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 2 TextBox.' 2. Copy-kan coding berikut ke dalam editor yang bertalian.'----------------------------------------------------------------------

'Hanya karakter 0 sampai dengan 9 saja.Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0End Sub

'Cara di atas hanya menerima karakter 0 sampai dengan 9 saja.'Agar tombol lainnya seperti Delete, BackSpace, dan SpaceBar'juga bisa diterima, Anda bisa menggunakan tips di bawah ini:Private Sub Text2_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End IfEnd Sub

Menghapus Isi Semua TextBox

'Deskripsi: Menghapus isi semua texbox yang ada dalam suatu form'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan beberapa textbox.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'---------------------------------------------------------------------------------------

Private Sub Command1_Click()Dim Contrl As Control For Each Contrl In Form1.Controls If (TypeOf Contrl Is TextBox) Then Contrl.Text = "" Next ContrlEnd Sub

Memeriksa Password Ketika Login

'Deskripsi: Memeriksa password yang dimasukkan user ke dalam textbox' ketika login ke suatu aplikasi. Jika kesalahan mencapai' tiga kali, login ditolak. 'Pembuat : Masino Sinaga ([email protected])'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Textbox, dan 2 Commandbutton.' 2. Beri nama masing-masing commandbutton dengan cmdOK dan cmdCancel.' 3. Copy-kan coding berikut ke dalam editor form yang bertalian.

Page 16: Menampilkan Teks Bolong Di Form VB

'-------------------------------------------------------------------------------

Dim Hitung As Integer 'Deklarasi variabel globalDim Jawab As String 'Deklarasi variabel globalPrivate Sub Form_Load() Hitung = 0 'Saat form diload, Hitung mula-mula masih 0End Sub

Private Sub cmdOK_Click() 'Ulangi selama text1 tdk sama dengan "masino" Do While Text1.Text <> "masino" Jawab = Text1.Text = "masino" 'Inisialisasi Jawab 'Jika Jawab tdk sama dengan "masino" If Jawab <> "masino" Then Hitung = Hitung + 1 'Counter bertambah satu Tampung (Hitung) 'Hitung ke fungsi Tampung If Hitung = 3 Then 'Jika Hitung = 3, maka... 'Tampilkan pesan Print "Password Blocked!" Text1.Enabled = False 'Text1 tdk bisa diakses cmdOK.Enabled = False 'cmdOK tdk bisa diakses cmdCancel.Default = True 'Hanya cmdCancel yg bisa diakses End If Exit Sub 'Keluar dari prosedur Else 'Jika Jawab = "masino" Exit Do 'Keluar dari Loop End If Loop Print "Welcome" 'Tampilkan pesan sukses 'terserah Anda.. setelah ini akan apa...?End Sub

Function Tampung(Hitung)Dim Hasil As Integer Hasil = 0 'Inisialisasi variabel Hasil Hasil = Hasil + Hitung Text1.SetFocus 'Fokuskan kursor ke text1 kembali SendKeys "{Home}+{End}" 'Highlight text1 Print "Kesempatan ke-" & Hasil 'Tampilkan sudah berapa kali salah passwordEnd Function

Private Sub cmdCancel_Click() Unload Me 'Keluar dari programEnd Sub

'Jika di text1 telah diisi, tombol OK siap dienterPrivate Sub Text1_KeyPress(KeyAscii As Integer) cmdOK.Default = TrueEnd Sub

Memeriksa Apakah Soundcard Ada

'Deskripsi: Memeriksa apakah soundcard ada terinstall di PC Anda.'Pembuat : Masino Sinaga ([email protected])'Diupload : Jumat, 10 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form dan 1 Module.

Page 17: Menampilkan Teks Bolong Di Form VB

' 2. Copy-kan coding berikut ke dalam editor form & module ybt.'----------------------------------------------------------------------------

'--- Coding ini di Module...Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long'--- Akhir coding di Module...

'--- Coding ini di Form Anda...Private Sub Form_Load()Dim I As Integer I = waveOutGetNumDevs() If I > 0 Then MsgBox "PC Anda dapat memainkan file suara", _ vbInformation, "Soundcard Oke" Else MsgBox "PC Anda tidak dapat memainkan file suara!", _ vbCritical, "Tidak Terpasang" End IfEnd Sub

Mempause Program (1)

'Deskripsi: Mempause program selama selang waktu tertentu dan memberikan' kepada proses lainnya untuk melakukan prosesnya selama program' ini dipause dengan menggunakan fungsi Timer dan DoEvents.'Pembuat : Masino Sinaga ([email protected])'Diupload : Rabu, 15 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Commanbutton, & 1 Label.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'----------------------------------------------------------------------------

'Jika Anda ingin agar program melakukan pause selama selang waktu'yang ditentukan di bawah tetapi tidak mengizinkan proses lainnya'berlangsung, tutup statement DoEvents yang ada di dalam prosedur'di bawah ini...

Private Sub Command1_Click()Dim PauseTime, Start, Finish, TotalTime If (MsgBox("Klik Yes untuk mempause 5 detik", _ 4 + vbQuestion)) = vbYes Then PauseTime = 5 'Set durasi pause/interval Start = Timer 'Set waktu mulai. Do While Timer < Start + PauseTime Label1.Caption = Format(Timer, "#,#") DoEvents 'Berikan ke proses lainnya. 'Jika tidak ingin memberikan ke proses lain, 'tutup statement DoEvents ini. Loop Finish = Timer 'Set waktu selesai. TotalTime = Finish - Start 'Hitung total waktu pause. 'Tampilkan pesan MsgBox "Telah dipause selama " & TotalTime & " detik", _ vbInformation, "Pause"

Page 18: Menampilkan Teks Bolong Di Form VB

Else End End IfEnd Sub

Mempause Program (2)

'Deskripsi: Mempause program selama selang waktu tertentu tanpa memberikan' kesempatan kepada proses lain untuk melaksanakan kegiatannya.'Pembuat : Masino Sinaga ([email protected])'Diupload : Rabu, 15 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 Module, 1 Commanbutton, ' dan 1 TextBox.' 2. Copy-kan coding berikut ke dalam editor module & form ybt.'----------------------------------------------------------------------------

'--- Coding ini di Module...Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)'--- Akhir coding di Module...

'--- Coding ini di Form...Private Sub Command1_Click() 'Ganti 5000 dengan jumlah milidetik untuk mempause program... '(1000 milidetik = 1 detik) Sleep 5000 'Untuk melihat efek pause tanpa memberikan kesempatan kepada proses lain, 'coba klik Text1 yang ada. Text1 tersebut tidak dapat diklik karena 'harus menunggu 5 detik terlebih dulu...End Sub

Tentang SendKeys

'Deskripsi: SendKeys merupakan cara untuk mengirimkan nilai penekanan suatu' tombol/tuts pada keyboard ke suatu objek tertentu atau ke' dalam program.'Pembuat : Masino Sinaga ([email protected])'Diupload : Rabu, 15 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form, 1 TextBox, dan' 1 Commandbutton.' 2. Copy-kan coding berikut ke dalam editor form yang bertalian.'--------------------------------------------------------------------------

'Klik tiga kali Command1, dan amati setiap perubahan yang terjadi.

Private Sub Command1_Click() If Command1.Caption = "Masukkan Data" Then 'Klik pertama Command1.Caption = "Sorot Data"

Page 19: Menampilkan Teks Bolong Di Form VB

Text1.SetFocus 'Ini harus ada agar diisi ke textbox SendKeys "M" 'Ketik "M" SendKeys "a" 'Ketik "a" SendKeys "s" 'Ketik "s" SendKeys "i" 'Ketik "i" SendKeys "n" 'Ketik "n" SendKeys "o" 'Ketik "o" SendKeys " " 'Ketik spasi SendKeys "S" 'Ketik "S" SendKeys "i" 'Ketik "i" SendKeys "n" 'Ketik "n" SendKeys "a" 'Ketik "a" SendKeys "g" 'Ketik "g" SendKeys "a" 'Ketik "a" ElseIf Command1.Caption = "Sorot Data" Then 'Klik kedua Command1.Caption = "Hapus Data" Text1.SetFocus 'Ini harus ada SendKeys "{Home}+{End}" 'Sorot data di textbox ElseIf Command1.Caption = "Hapus Data" Then 'Klik ketiga Command1.Caption = "Masukkan Data" Text1.SetFocus 'Ini harus ada SendKeys "{Delete}" 'Tekan tombol "Delete" End IfEnd Sub

Private Sub Form_Load() Command1.Caption = "Masukkan Data"End Sub

Tentang WithEvents

'Deskripsi: 'WithEvents' adalah sebuah cara memberitahukan ke program untuk' mengatasi seluruh event yang berhubungan dengan suatu control.' Dalam contoh ini, kita menghubungkan dengan Commandbutton pada' event 'Click'.'Pembuat : Masino Sinaga ([email protected])'Diupload : Jumat, 10 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form saja!' 2. Copy-kan coding berikut ke dalam editor form yang bertalian. '-------------------------------------------------------------------------------Option Explicit 'Semua variabel yang digunakan harus dideklarasikanPrivate WithEvents cmdButton As CommandButton 'hubungkan ke Commandbutton

Private Sub Form_Load() 'Mula-mula belum ada commandbutton di form 'Tambahkan commandbutton yang baru... Set cmdButton = Controls.Add("VB.CommandButton", "Button") With cmdButton 'Setting untuk cmdButton... .Visible = True .Width = 3000 .Caption = "Ini tombol baru..." .Top = 1000 .Left = 1000

Page 20: Menampilkan Teks Bolong Di Form VB

End WithEnd Sub

Private Sub cmdButton_Click() cmdButton.Caption = "Oke, Anda berhasil mengkliknya!"End Sub

Tentang WithEvents

'Deskripsi: 'WithEvents' adalah sebuah cara memberitahukan ke program untuk' mengatasi seluruh event yang berhubungan dengan suatu control.' Dalam contoh ini, kita menghubungkan dengan Commandbutton pada' event 'Click'.'Pembuat : Masino Sinaga ([email protected])'Diupload : Jumat, 10 Mei 2002'Persiapan: 1. Buat 1 Project baru dengan 1 Form saja!' 2. Copy-kan coding berikut ke dalam editor form yang bertalian. '-------------------------------------------------------------------------------Option Explicit 'Semua variabel yang digunakan harus dideklarasikanPrivate WithEvents cmdButton As CommandButton 'hubungkan ke Commandbutton

Private Sub Form_Load() 'Mula-mula belum ada commandbutton di form 'Tambahkan commandbutton yang baru... Set cmdButton = Controls.Add("VB.CommandButton", "Button") With cmdButton 'Setting untuk cmdButton... .Visible = True .Width = 3000 .Caption = "Ini tombol baru..." .Top = 1000 .Left = 1000 End WithEnd Sub

Private Sub cmdButton_Click() cmdButton.Caption = "Oke, Anda berhasil mengkliknya!"End Sub

Tipe Data di Visual Basic

Berikut adalah tipe data di Visual Basic, termasuk ukuran penyimpanan dan range (batas bawah dan batas atas) dari setiap tipe data tersebut:

------------------------------------------------------------------------Data type Storage size Range ------------------------------------------------------------------------Byte 1 byte 0 to 255

Page 21: Menampilkan Teks Bolong Di Form VB

Boolean 2 bytes True or False

Integer 2 bytes -32,768 to 32,767

Long(long integer) 4 bytes -2,147,483,648 to 2,147,483,647

Single(single-precision floating-point) 4 bytes -3.402823E38 to -1.401298E-45

for negative values; 1.401298E-45 to 3.402823E38 for positive values

Double(double-precision floating-point) 8 bytes -1.79769313486231E308 to

-4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values

Currency(scaled integer) 8 bytes -922,337,203,685,477.5808 to

922,337,203,685,477.5807

Decimal 14 bytes 79,228,162,514,264,337,593,543,950,335 with no decimal point; 7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is 0.0000000000000000000000000001

Date 8 bytes January 1, 100 to December 31, 9999

Object 4 bytes Any Object reference

String (variable-length) 10 bytes 0 to approximately 2 billion

string length

String(fixed-length) Length of 1 to approximately 65,400

string

Variant(with numbers) 16 bytes Any numeric value up to

the range of a Double

Variant(with characters) 22 bytes

Page 22: Menampilkan Teks Bolong Di Form VB

string length Same range as for variable-length String

User-defined(using Type) Number required

by elements The range of each element is the same as the range of its data type.

Catatan: Arrays dengan tipe data apapun membutuhkan 20 bytes di memori ditambah 4 bytes untuk setiap array dimension ditambah dengan jumlah byte yang ditempati oleh data array itu sendiri. Memory yang ditempati oleh data dapat dihitung dengan memperbanyak jumlah elemen data dari ukuran setiap elemennya. Sebagai contoh, data dalam array berdimensi tunggal terdiri dari 4 elemen data Integer yang setiap datanya menggunakan 2 bytes dan secara keseluruhan menempati 8 bytes di memori. Jumlah 8 bytes yang dibutuhkan untuk data ditambah 24 bytes berikutnya mengakibatkan total memori yang dibutuhkan untuk array ini menjadi 32 bytes.

Gunakan fungsi StrConv untuk mengkonversi data tipe string ke tipe data lainnya.