Senin, 02 Maret 2015

Print Form VB.NET

Standard
Sesekali kadang kita ingin membuat laporan atau kwitansi dengan cepat tanpa melalui report yang mungkin kurang praktis. Ada suatu terobosan untuk menyingkat proses print tersebut yaitu mencetak form itu sendiri. System pencetakan ini ada beberapa kelebiahan diantaranya desain yang mudah karena kita hanya perlu mendesain form yang kita inginkan lalu hasil print akan sama seperti form tersebut. Tidak seperti pada crystal reprt yang memakan waktu cukup lama dalam perancangan laporan.







Cara ini tentu tidak dianjurkan untuk kepentingan formal karena terkesan asal asalan dan sederhana. Secara sederhana teknik ini hamper sama ketika kita men screenshot layar kemudian kita mencetaknya. Berikut langkah langkahnya.
Rancanglah sebuah form sesuai keinginan anda, mungkin rancangan kuitansi, table, gambar atau kombinasi kesemua elemen tersebut. Lalu tambakan  “PrintForm” yang terdapat pada toolbox didalam tab Visual Basic PowerPacks ke dalam form yang telah didesain tersebut.

Gunakan perintah “ Print<Nama Form>.Print() “ pada action yang diingikan misalnya control menggunakan tombol.

                        
  Semoga Bermanfaat..




Sekilas Tentang Message Box Vb.Net

Standard

Kita pasti sudah tidak asing lagi dengan yang dijuluki message box atau dalam bahasa romawi disebut kotak pesan. Yah media UI ini sering digunakan untuk berkomunikasi antara program dan user, bahkan tidak sedikit programer yang menggunakannya untuk mengguji sebuah baris kode query serta menangkap pesan kesalahan misalnya. Selain itu, message box juga acap kali digunakan sebagai media informasi sekaligus konfirmasi misalnya pada event hapus data, simpan data, tutup form, dan sebagainya .

Ada beberapa cara atau metode untuk memanggil message box ini, beberapa diantarnya adalah :

1.      Cara sederhana
Cara ini sering digunakan untuk menghemat waktu penulisan koding, contoh pemanggilannya sbb;
MsgBox("Pesan Message Box")

2.      Cara kedua
Cara ini hampir sama dengan cara yang pertama, perpedaanya terletak pada penulisan koding yang lebih panjang.
MessageBox.Show("Perasasti Ilmu")

3.      Cara ketiga
Pada cara yang ketiga ini terdapat deklarasi judul, tombol yang disediakan serta icon notifikasi untuk message box  yang dipanggil.
                        MessageBox.Show("Perubahan data untuk transaksi Berhasil.", "Berhasil Mengubah Data", MessageBoxButtons.OK, MessageBoxIcon.Information)
4.      Cara keempat
Pada cara ini(sebenarnya bukan cara tetapi pemanfaatan) message box akan digunakan sebagai media komunikasi dua arah antara program dan user, kita ambil contoh sebuah pesan konfirmasi pada message box dengan tombol yes dan no serta perintah yang akan dikerjakan. Berikut contoh dari implementasi tersebut:

If MessageBox.Show("Simpan perubahan data?", "Konfirmasi Perubahan Data", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then

Call Simpan()
Else
Call standby()
Exit Sub
End If


Implementasi untuk menangkap kesalahan pada koneksi database;

Public Sub Sambung()
        Try
            str = "Driver={MySQL ODBC 5.3 Unicode Driver};server=localhost;uid=root;database=db_masjid;port=3306" ' ODBC HERE
            conn = New OdbcConnection(str)
            If conn.State = ConnectionState.Closed Then
                conn.Open()
            End If
        Catch pesansambung As Exception
            MessageBox.Show("Maaf  terjadi gangguan koneksi. Selengkapnya :  " + pesansambung.Message, "Gagal Menyambung Ke Database", MessageBoxButtons.OK, MessageBoxIcon.Asterisk).ToString()
        End Try

    End Sub


How 2 Moving Borderless Form VB.NET

Standard


Alhamdulillah password blog ane dah inget sehingga kumpulan draft artikel yang sudah menumpuk dapat ane posting ok langsung aja.
Kadang kita bosan dengan desain form yang biasa biasa saja karena terlihat monoton. Salah satu trik untuk memperindah form diantarannya adalah menonaktifkan border form agar form yang kita buat terlihat 100% custom.



 Permasalaan baru timbul, salah satunya adalah form tersebut tidak dapat dipindahkan ke area yang user inginkan. Selain itu borderless form juga menuntut kita untuk membuat control tambahan seperti tombol maximize, minimize serta tombol tutup. its risk,  Mari kita selesaikan satu persatu.

1.      Moved borderess form.
Pertama kita pesan variable untuk menyimpan data kordinat mouse seperti dibawah ini.
Dim drag As Boolean
    Dim mousex As Integer
    Dim mousey As Integer

Nama variabel tidak harus sama koq, mungkin anda lebih suka menggunakan nama - nama hewan atau makanan, ok silahkah saja. Kemudian kita membuat beberapa perintah pada masing - masing event ( mouse down mouse move, mouse up) pada control yang kita inginkan. Saya ambil contoh misalnya groupbox,  selengkapnya seperti dibawah ini;

Private Sub GroupPanel3_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseDown
        drag = True 'memberi nilai drag bernilai benar (1)
        mousex = Windows.Forms.Cursor.Position.X - Me.Left 'mengisi variabel mouseX
        mousey = Windows.Forms.Cursor.Position.Y - Me.Top 'mengisi variabel mousey

    End Sub

    Private Sub GroupPanel3_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseMove
         If drag Then
            ' ubah kordinat(letak form) mengikuti kordinat mouse.
            Me.Top = Windows.Forms.Cursor.Position.Y - mousey
            Me.Left = Windows.Forms.Cursor.Position.X - mousex
        End If

    End Sub

    Private Sub GroupPanel3_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles GroupPanel3.MouseUp
        drag = False 'Set drag bernilai salah (0)
    End Sub

Langkah selanjutnya, Debug project dan coba drag form tersebut ke area yag diinginkan.

2.     Membuat Kontrol sendiri.
Kalau sebelumnya kita menyelesaikan permasalahan pergerakan form sekarang kita akan membahas bagaimana membuat kontrol tambahan untuk form borderless tersebut. 
Salah satu yang paling wajib ialah tombol close. Sebenarnya kita sudah terbiasa membuatnya misalnya pada button tutup, cancel dan sebagainya. Disini penulis akan memanfaatkan kontrol lain yang juga dapat berfungsi sebagai tombol yaitu Label anda juga dapat menyalah gunakan properti lain sebagai tombol misalnya picture box. Pertama kita tambahkan label, lalu ubah properti textnya misalya menjadi “X”. 

lalu beri koding “ me.close()” pada event “Click”.

Sedangkan untuk tombol minimize dan maximize pada prinsipnya hampir sama, perbedaan terlihat hanya pada kodingnya. Untuk maximize menggunakan perintah “  Me.WindowState = FormWindowState.Maximized” sedangkan minimize ialah “Me.WindowState =  FormWindowState.Minimized”.


Semoga bermanfaat.

Formating Text Box VB.Net

Standard
Sebagai programmer selain dituntut menghasilkan program yang minim bug kita juga dituntut untuk membuatnya mudah di operasikan. Salah satu seni pada trik ini ialah format pada saat input data khususnya pada textbox. Formating ini ialah meberitana “.” Ketika user menginputkan data angka. Tanda titik tersebut memisahkan angka berkelipatan ribuan. Dengan formatting ini diharapkan meminimalisir kesalahan user dalam menginputkan data angka yang biasanya sanga riskan khusunya inputan data keuangan.




Langkah pertama kita pastikan adanya validasi” hanya angka yang dapat dimasukan serta beberapa tombol pengecualian seperti backspace, delete dan Esc” pada event keypress di sebuah textbox kita ambil contoh “TxtNominalsetor”.

Private Sub TxtNominalsetor_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNominalsetor.KeyPress

        'If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True
        Dim KeyAscii As Short = Asc(e.KeyChar)
        If (e.KeyChar Like "[0-9]" _
            OrElse KeyAscii = Keys.Back _
            OrElse KeyAscii = Keys.Return _
            OrElse KeyAscii = Keys.Delete) Then
            KeyAscii = 0
        End If

        e.Handled = CBool(KeyAscii)

End Sub
Kemudian pada event textchanged;
Private Sub TxtNominalsetor_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtNominalsetor.TextChanged
        If Microsoft.VisualBasic.Len(TxtNominalsetor.Text) = 0 Then
            Exit Sub
        End If
        TxtNominalsetor.Text = FormatNumber(TxtNominalsetor.Text, 0)
        TxtNominalsetor.SelectionStart = Microsoft.VisualBasic.Len(TxtNominalsetor.Text)

    End Sub

Agar data yang berformat tadi masuk ke database tanpa masalah, tentu perlu adanya proses formatting kembali ke format normal. Gunakan perintah berikut :
Dim normalangka As Double
                normalangka = Format(TxtNominalsetor.Text, "General Number")
Gunakan variable “normalangka” untuk data yang akan disave 

Selasa, 24 Desember 2013

Enkripsi Password

Standard
Proses login pada sebuah aplikasi merupakan prosedur wajib untuk mempermudah pengelolaan perihal penggunaan aplikasi. Agar password yang bersifat rahasia ini aman tersimpan pada sebuah aplikasi perlu adanya proses enkrispsi terlebih dahulu. Enkripsi atau pengkodean karakter dari aslinya menjadi karakter tertentu dengan rumus atau formula tertentu merupakan prosedur yang sering dijumpai pada proses inputan, penyimpanan, pembacaan dari suatu password. Password yang telah ter-enkripsi akan disimpan sebagai karakter yang berbeda dengan aslinya. Enkripsi yang akan kita bahas ialah enkripsi dngan metode mengubah  karakter aslinya dengan karakter baru mengunakan formula yang ditentukan berdasarkan kode ascii.

Sebuah textbox (A)  dimasukan karakter “ CONTOH “ dalam bentuk capital. Akan menghasilkan nilai =
C  = 67
O  = 79
N  = 78
T =  84
O = 79
H =  72
Setiap huruf tersebut akan di ubah nilai ascii(Chr) sehingga tidak berbentuk aslinya menggunakan formula yang telah kita tentukan.
Nilai tersebut akan di enkripsi dengan rumus

// pemesanan variabel
// nilai awal d adalah kosong “ ”
// txt password sebagai a
// variable I bertipe integer
// perulangan dengan i brnilai 1 sampai panjang karakter  a(txtpassword)
// b = mengambil dari a, berdasarkan jumlah i, 1 karakter
// c (chr) = nilai dari b yang telah ditambah 10
// d = vriabel d itu sendiri ditambah variable c.
// mengulang i.

Berikut  contoh proses enkripsi dari koding diatas;
*A(textbox) diisi dengan "Aku"



Dari proses perulangan diatas dapat diperoleh hasil dari enkripsi "Aku" adalah " lu"( lihat tabel diatas)


Dengan enkripsi, penyimpanan password menjadi lebih aman.


Demikian semoga bermanfaat.


Kamis, 19 Desember 2013

Auto Number ( penomoran automatis untuk kode unik ) VB.NET

Standard
Kadang kala kita membutuhkan sebuah fungsi penomoran otomatis pada kode atau id unik pada suatu record. Id ini misalnnya id pelanggan, id transaksi, id barang dan lain lain. id id tersebut harusnya muncul secara otomatis agar menghemat waktu dalam menginput data.
beriut cara membuat penomoran otomatis tersebut:
1.sebagai contoh txtid parkir yang akan dibuat id otomatis. Sedngakan inisial id tersebut ber awalna P.
         
  2. Form tersebut misalnya terhubung dengan tb_parkir dengan field Id_Parkir. Maka kodingnya sebagai berikut;
  TxtIdParkir.Enabled = False
        Dim strSementara As String = ""
        Dim strIsi As String = ""
        cmd = New SqlCommand("select * from Tb_Parkir order by ID_Parkir desc", conn)
        rd = cmd.ExecuteReader
        If rd.Read Then
            strSementara = Mid(rd.Item("ID_Parkir"), 2, 2)
            strIsi = Val(strSementara) + 1
            TxtIdParkir.Text = "P" + Mid("0", 1, 2 - strIsi.Length) & strIsi
        Else
            TxtIdParkir.Text = "P01"
        End If
        TxtPlatnomor.Focus()        



  3.  koding tersebut akan menghasilkan kode id dari p01, p02 ,,, dan seterusnya.
     pertama x dijalankan karena id terakhir adalah p08 maka id parkir terisi PO9.
   setelah data disimpan, auto number akan menghasilkan P10 pada Id Parkir.









 Semoga bermanfaat.. dan jangan lupa dokumentasikan ilmu anda...!