Jumat, 30 September 2011

Open PDF dengan VB6.

Jika didalam program anda memerlukan form untuk membuka file .pdf semisal untuk menampilkan petunjuk tentang program dimana anda membuatnya dengan format .pdf maka disini saya tampilkan program bagaimana membuka file .pdf dengan menggunakan vb6.

Adapun control yang diperlukan adalah AcroPDF.dll yang biasanya berada didalam folder “C:\Program Files\Common Files\Adobe\Acrobat\ActiveX”

Atau jika anda belum mempunyai control AcroPDF.dll mungkin anda bisa mencarinya di internet.




















Dan control Command Dialog pada toolbox anda.




















Untuk design formnya adalah seperti ini :


















Dimana tampak di form tersebut saya menambahkan control Picture, Button, Commond Dialog dan AcroPDF.

Sedangkan script command dari form tersebut  :

Private Sub cmdOpen_Click()
dlg.Filter = "PDF (*.pdf)|*.pdf"
dlg.ShowOpen
pdf.src = dlg.FileName
End Sub

Private Sub Form_Load()
Me.WindowState = 2
End Sub

Private Sub Form_Resize()
pct.Width = Me.Width
pdf.Width = Me.Width - 500
pdf.Height = Me.Height
End Sub

Maka jika program dijalankan akan tampak seperti ini :

















Jika anda ingin membuka file yang ada di computer tersebut maka anda tinggal klik tombol Open PDF dimana command dialog sudah memfilter hanya file yang ber ekstensi .pdf yang akan tampak.
Seperti pada script
…….
dlg.Filter = "PDF (*.pdf)|*.pdf"
dlg.ShowOpen
…..
 Mungkin apliksi ini bisa ditambahkan pada program anda. Silahkan mencoba…

Media Player dengan VB6

Membuat media player dengan menggunakan VB6 kita memerlukan library  wmp.dll yang ada di folder ..windows\system32\wmp.dll ada pun cara add component seperti ini :






















Maka kita perlu mencari control Windows Media Player :




















Tampak pada toolbox kita sudah ada control Windows Media Player, kemudian kita tambahkan control Commond Dialog yang nantinya berguna untuk kita mencari file-file multimedia seperti .mp3, .avi, .dat, .wmv juga .mpg yang nantinya kita siap untuk play di control Windows Media Player.

















Maka untuk script commandnya adalah :

Private Sub cmdOpen_Click()
dlg.ShowOpen
Label1.Caption = dlg.FileName
wdp.URL = Label1.Caption
End Sub

Private Sub cmdVolMin_Click()
wdp.settings.volume = wdp.settings.volume - 1
End Sub

Private Sub cmdVolPlus_Click()
wdp.settings.volume = wdp.settings.volume + 1
End Sub

Private Sub Form_Load()
wdp.settings.autoStart = False
End Sub

Maka jika setelah kita Run (F5) form yang sudah kita buat akan tampaklah seperti berikut 
















Anda juga bisa mengembangkan program ini sesuai tampilan yang anda inginkan tampak pada tampilan script command : “wdp.settings.volume = wdp.settings.volume + 1 ” ini adalah seting volume control, tampak gambar dibawah adalah kita akan memilih peoperties dari control Windows Media Player :











Dengan mengolah dari properties yang ada maka program anda akan tampak lebih mewah.

Untuk anda yang memerlukan Sourcecode nanti bisa saya kirim ke email anda.

Pemrograman Pocket PC dengan VS2008.

Pemrogrman Pocket PC yang juga disebut aplikasi Mobile dengan mengunakan VS2008 berbeda dengan pemrograman windows pada PC untuk membuat pemrograman Pocket PC pertama anda harus create Project :














Lalu pada New Project, Project type  pilih Smart Device.















Pada Templets pilih Smart Device Project kemudian tekan OK.


















Untuk pilihan emulator pilih Windows Mobile 5.0 Pocket PC SDK, pada Templets pilih Device Appliction lalu tekan OK.
Lalu didalam Form Design tampak form kita berada didalam Pocket PC disinilah kita merangcang program kita.






















Tampak diatas saya menambahkan 2 textbox,  1 Button dan 2 Label. Textbox 1 dan Textbox2 adalah untuk isian , Label1 adalah untuk tulisan perkalian (X), Label2 adalah untuk menampilkan hasil perkalian, Button adalah untuk mengeksekusi perkalian Textbox1 dan Textbox2 yang nantinya dimasukkan kedalam Label2.

Disini saya tampilkan pula script commandnya :

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label2.Text = TextBox1.Text * TextBox2.Text
    End Sub
End Class

Jika program dijalankan maka akan tampak seperti gambar berikut :






















Demikian sekilas pemrograma Pocket PC dari saya semoga anda bisa mencobanya.

Koneksi VS2008 Pada PostgreSQL Dengan NpgSQL.

Dalam membuat aplikasi Visual Studio 2008 dengan database PostgreSql menggunakan koneksi NpgSQL pertama-tama saat kita sudah membuka Form kita tambahkan Referensi NpgSQL sepeti ini :



















Lalu kemudian pada form kita tambahkan komponen ListBox :






















Pada View Code disini saya tampilkan script :

Imports Npgsql

Public Class Form2
    Dim Conn1 As New NpgsqlConnection()
    Dim command As IDbCommand

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim StrCol1 As String
        StrCol1 = "nnnn"
        Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"
        Conn1.Open()
        command = New NpgsqlCommand("SELECT * FROM perkiraan WHERE tahun=2009 order by noperkiraan", Conn1)
        Dim reader As IDataReader = command.ExecuteReader
        Try
            Do While reader.Read
                StrCol1 = Trim(reader.Item(0))
                Select Case Len(Trim(reader.Item(0)))
                    Case 1
                        StrCol1 = Trim(reader.Item(0)) & "    "
                    Case 2
                        StrCol1 = Trim(reader.Item(0)) & "   "
                    Case 3
                        StrCol1 = Trim(reader.Item(0)) & "  "
                    Case 4
                        StrCol1 = Trim(reader.Item(0)) & " "
                End Select
                ListBox1.Items.Add(StrCol1 & "   " & reader.Item(1))
            Loop
        Finally
            reader.Close()
        End Try
        reader.Close()
        Conn1.Close()
        ListBox1.Focus()
    End Sub
End Class

Tampak Pada View Code ada script :

Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"

Disinlah koneksi Npgsql di deklarasikan yaitu menunjukkan elemen :
  • Server – spesifikasi lokasi server
  • User Id – database user
  • Port - default adalah 5432
  • Password -  password untuk database user
  • Database - nama database
Lalu kita Open dengan cara Conn1.Open() sedang untuk command disitu tampak dideklarasi dengan Type IDbCommand untuk membuat perintah “Select….” Sedangkan untuk membaca data digunakan read dengan Type IDataReader
Maka jika di Run (F5).





















Ok silahkan anda mencobanya……………

Koneksi VS2008 Pada PostgreSQL Dengan dotConnect.

dotConnect adalah komponen berbayar jadi anda harus membeli lisensinya, dotConnect  menggunakan library Devart.Data.dll dan Devart.Data.PostgreSql.dll jadi kedua library ini harus ditambahkan pada Referensi.
Dalam membuat aplikasi Visual Studio 2008 dengan database PostgreSql menggunakan koneksi Devart pertama-tama saat kita sudah membuka Form kita tambahkan Referensi Devart sepeti ini :



















Lalu kemudian pada form kita tambahkan komponen ListBox :


























Pada View Code disini saya tampilkan script :

Imports Devart.Data.PostgreSQL

Public Class Form2
    Dim Conn1 As New PgSqlConnection()
    Dim command As IDbCommand

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim StrCol1 As String
        StrCol1 = "nnnn"
        Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"
        Conn1.Open()
        command = New DevartCommand("SELECT * FROM perkiraan WHERE tahun=2009 order by noperkiraan", Conn1)
        Dim reader As IDataReader = command.ExecuteReader
        Try
            Do While reader.Read
                StrCol1 = Trim(reader.Item(0))
                Select Case Len(Trim(reader.Item(0)))
                    Case 1
                        StrCol1 = Trim(reader.Item(0)) & "    "
                    Case 2
                        StrCol1 = Trim(reader.Item(0)) & "   "
                    Case 3
                        StrCol1 = Trim(reader.Item(0)) & "  "
                    Case 4
                        StrCol1 = Trim(reader.Item(0)) & " "
                End Select
                ListBox1.Items.Add(StrCol1 & "   " & reader.Item(1))
            Loop
        Finally
            reader.Close()
        End Try
        reader.Close()
        Conn1.Close()
        ListBox1.Focus()
    End Sub
End Class

ConnectionString pada Npgsql sama dengan Devart.
Tampak Pada View Code ada script :

Conn1.ConnectionString = "Server=localhost;Port=5432;" & _
                    "User Id=postgres;Password=abc123;Database=accnet"

Disinlah koneksi Devart di deklarasikan yaitu menunjukkan elemen :
  • Server – spesifikasi lokasi server
  • User Id – database user
  • Port - default adalah 5432
  • Password -  password untuk database user
  • Database - nama database
Lalu kita Open dengan cara Conn1.Open() sedang untuk command disitu tampak dideklarasi dengan Type IDbCommand untuk membuat perintah “Select….” Sedangkan untuk membaca data digunakan read dengan Type IDataReader

Maka jika di Run (F5).






















Yang lebih menarik dari dotConnect  yaitu adanya komponen yang bisa konect pada aplikasi Smart Device Project yaitu untuk aplikasi Mobile VS2008, jika anda mengembangkan aplikasi Smart Device Project maka anda harus membeli lisensi dotConnect yang khusus untuk koneksi Smart Device Project dengan database PostgreSQL
Ok silahkan anda mencobanya…………….

Senin, 19 September 2011

Merubah Isi Textbox Menjadi Numerik.

Dari posting yang pernah saya bikin tentang Merubah Textbox menjadi Huruf Kapital. Maka disini juga menjadi pertanyaan bagai mana merubah Textbox yang diinput hanya bisa menerima angka (Numuric), Koma (,) lalu Titik (.).

Di dalam kasus sehari-hari biasanya data yang diinput berupa data Numeric karena akan ada perhitungan pada data tersebut, jika yang diinput adalah Character maka akan fatal akibatnya karena program akan Error. Untuk mencegah agar tidak terjadi hal-hal yang demikian maka sebagai pembuat program bisa mencegah hal ini terjadi.

Untuk menangani hal yang demikian maka kita perlu memberi lingkup untuk membatasi ASCII yang diinputkan, misal didalam form kita ada terdapat Text1 yang nantinya hanya bisa menerima input angka maka kita perlu merubah Event KeyPress pada Text1 tersebut dengan perintah sebagai berikut :

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
    Case 48 To 57, 44, 46
    Case Else
        Beep
        KeyAscii = 0
End Select
End Sub

Pada select case diatas menangkap parameter KeyAscii dan hanya membolehkan ASCII 48 hingga 57 ini adalah ASCII angka 0 – 9 sedang ASCII 44 adalah untuk Koma (,) dan ASCII 46 adalah Titik (.). Jadi jelas adanya pembatasan lingkup jenis ASCII yang diinputkan jika tidak sama maka maka ada perintah Beep atau bel berbunyi dan merubah parameter KeyAscii menjadi 0.

Jika form dieksekusi  (Tekan F5) maka pada saat kita ketik pada Text1 didalamnya hanya bisa menerima angka tanda koma dan titik. Dan untuk ini anda bisa mencobanya.

Merubah Textbox Menjadi Huruf Kapital.

Terkadang didalam Textbox kita menginginkan huruf yang di input menjadi huruf besar (Kapital) namum kadang operator lupa menekan Caps Lock sehingga huruf yang di input menjadi huruf kecil, untuk membantu operator jika menemukan masalah yang demikian maka sebagia pembuat program bisa menemukan solusinya.

Pada perintah VB ada fungsi yang merubah Character menjadi huruf  capital yaitu : Ucase().

Misal  didalam Textbox1 kita menginginkan Character yang di input adalah huruf  Kapital maka kita bisa menjadikannya pada Event KeyPress pada Tools Textbox tersebut seperti demikian :

Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Jika kita jalankan (F5)  dan kita ketik huruf  makan akan tampak huruf menjadi huruf  Kapital semua namun tidak berpengaruh jika yang kita input adalah angka. Jadi kita tidak perlu mencari koponen Textbox yang bisa merubah input menjadi huruf capital.

Dari script diatas tampak parameter KeyAscii dirubah dengan perintah : Asc(Ucase(Chr(KeyAscii)))

KeyAscii yang lama dirubah menjadi Character lalu kemudian dirubah Ucase menjadi huruf Kapital kemudian hasilnya dirubah lagi  menjadi Ascii oleh perintah Asc() dan disimpan ke KeyAscii yang baru.

Silahkan anda mencobanya.

Slider Pada Visual Basic 6.

Jika anda Programmer VB 6 yang biasa dengan berinteraksi pada pemrogramam komunikasi data, pembuatan report dengan grafik mungkin dengan contoh berikut bisa membuka wawasan bagaimana program yang dibikin bisa lebih dikembangkan lagi.

Pada komponen VB sendiri sudah tersedia komponen Progress tetapi tidak ada salahnya jika komponen yang saya bikin “SliderBar.OCX” jika dipakai pada program anda karena Picture Bar yang ada bisa dirubah dengan sesuka anda.


Inilah gambar dari contoh program yang saya buat.

Slider yang dibuat bisa Vertikal dan Horizontal, bagi anda yang biasa membuat program VB yang berinteraksi dengan perangkat alat lain seperti PLC atau membaca data dari Arduino dan menampilkan di komputer menggunakan Visual Basic dengan komponen Slider ini anda bisa lebih memberdayakan program anda.

Disini saya tampilkan juga Script Command dari form :

Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Dim Val1 As Integer
Dim Val2 As Integer

Private Function imagecontroller(ByVal image As image)
closen.Visible = True
image.Visible = False
End Function

Private Sub body_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmSlideBar.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
End Sub

Private Sub closen_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
closes.Visible = True
Call imagecontroller(closen)
End Sub

Private Sub closes_Click()
End
End Sub

Private Sub cmdDown_Click()
If Val1 > Slider1.Min Then
    Val1 = Val1 - 1
    Slider1.Value = Val1
    Label8.Caption = Val1
End If
End Sub

Private Sub cmdLeft_Click()
If Val2 >= Slider2.Min Then
    Val2 = Val2 - 1
    Slider2.Value = Val2
    Label6.Caption = Slider2.Value
End If
End Sub

Private Sub cmdRight_Click()
If Val2 <= Slider2.Max Then
    Val2 = Val2 + 1
    Slider2.Value = Val2
    Label6.Caption = Slider2.Value
End If
End Sub

Private Sub cmdUp_Click()
If Val1 < Slider1.Max Then
    Val1 = Val1 + 1
    Slider1.Value = Val1
    Label8.Caption = Val1
End If
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
End
End If
End Sub

Private Sub Form_Load()
Val1 = 1
Slider1.Value = Val1
Label8.Caption = Val1
Val2 = 1
Slider2.Value = Val2
Label6.Caption = Slider2.Value
Slider3.Value = 1
End Sub

Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmSlideBar.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
End Sub

Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmSlideBar.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
End Sub

Private Sub Slider1_Change(Value As Long)
Val1 = Slider1.Value
Label8.Caption = Val1
End Sub

Private Sub Slider2_Change(Value As Long)
Val2 = Slider2.Value
Label6.Caption = Val2
End Sub

Private Sub Slider3_Change(Value As Long)
Label2.Caption = Slider3.Value
End Sub

Private Sub Slider4_Change(Value As Long)
Label4.Caption = Slider4.Value
End Sub

Private Sub topbar_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmSlideBar.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
closen.Visible = True
End Sub

Terlihat pada script diatas pada Event Slider_Change  bisa dijadikan trigger untuk berinteraksi dengan perangkat yang lain dan Slider ini juga bisa menerima respon dari perangkat lain yaitu pada properties Value.

Jika program anda terdapat event Receive dan Transmit maka untuk Event Transmit bisa di eksekusi pada Event Slider_Change sedangkan Receive merubah properties Value.

Tidak menutup kemungkinan anda bisa mengembangkan komponen tersebut, jika anda ingin mencoba contoh program saya bisa mengirim contoh program tersebut ke email anda. 

ReleaseCapture Kreasi Tampilan Form Sendiri.

Jika anda berkeinginan membuat tampilan form pada aplikasi anda maka anda harus merubah properties BorderStyle menjadi 0 atau None. Namun hal ini akan menjadikan kaku pada tampilan setelah Run (F5) pada aplikasi anda, ini dikarenakan posisi form anda tidak bisa dipindah kemana-mana pada saat mouse di drag pada form anda.

Hal ini dapat diatasi dengan bantuan dari fungsi win API yaitu :
  • ReleaseCapture
  • SendMessage
Dimana ReleaseCapture akan menghapus Caputure  posisi yang lama dari Form anda dan setelah itu posisi form anda yang baru dibentuk oleh fungsi SendMessage, ini semua terjadi pada Event MouseMove pada komponen anda yang ada pada Form











Seperti gambar contoh form yang sudah saya buat diatas.
Adapun Script Command dari form tersebut :

Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Private Function imagecontroller(ByVal image As image)
Button1.Visible = True
closen.Visible = True
image.Visible = False
End Function

Private Sub Button1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Button2.Visible = True
Call imagecontroller(Button1)
End Sub

Private Sub Button2_Click()
End
End Sub

Private Sub closen_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
closes.Visible = True
Call imagecontroller(closen)
End Sub

Private Sub closes_Click()
End
End Sub

Private Sub body_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmInput.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
Button1.Visible = True
End Sub

Private Sub topbar_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lngReturnValue As Long
   If Button = 1 Then
      Call ReleaseCapture
      lngReturnValue = SendMessage(frmInput.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  End If
closen.Visible = True
End Sub

Tampak diatas adanya deklarasi win API yaitu :

Private Declare Sub ReleaseCapture
Private Declare Function SendMessage

Yang dipanggil pada Event MouseMove pada saat anda menekan Klik sebelah kiri maka parameter Button = 1. maka form jika dijalankan atau Run (F5) form tersebut bisa dipindah-pindahkan di drag dengan mouse.

Untuk lebih jelasnya silahkan kirim emai anda  dan saya akan kirim contoh programnya ke email anda.

Jika anda sudah mahir mengolahnya maka untuk pengembangannya anda bisa berkreasi sendiri dengan menambah component Image pada form anda.

Rabu, 14 September 2011

VB6 Database PostgreSQL.

Untuk membuat program dengan menggunakan VB6 dengan database Postsgree sangatlah mudah. Dengan menambahkan komponen ADODC pada form kita dan menggantikan property Connectionstring maka form kita sudah terhubung dengan database Postgree.

Untuk lebih lengkapnya mari kita lihat contoh gambar berikut :
Design View Form1.















Tampak pada Form1 Componen ADODC ditambahkan dan Datagrid juga ditambahkan.

Kemudian  pada Code View tambahkan :

Private Sub Form_Load()
Adodc1.ConnectionString = "Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=dbvbpostgree;Uid=postgres;Pwd=pwd1;"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM vbtabel where date_part('year',tanggal)=2009” 
 order by mtype,tanggal"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1.Recordset
End Sub

Jika sudah maka tekan F5 untuk Run program.

Maka tampaklah Form Aplikasi kita yang sudah konek dengan database Postgree.
Form1 pada saat Run (F5).















Jika anda melihat Script Command diatas telihat pada Connectionstring ada “Driver={PostgreSQL ANSI}” Driver ini bisa digunakan jika anda sudah menginstall :
Psqlodbc.msi yang mana bisa anda download dari internet.