Rabu, 07 November 2012

Mengganti Regional Setting Komputer ( VB.Net)

Mengganti Regional Setting Komputer  adakalanya perlukan, untuk menghindari kesalahan antara presentasi program dan database, terutama data dgn type "datetime" , karena biaanya programer menyeting tanggal programnya dengan setting "english (US)" atau default komputernya, sedangkan USER biasanya menyeting regional setting dengan "indonesia" , nah biasanya disini terjadi kesalah.


Untuk mengatasi ini ada juga yang menggunakan "culture info"  atau "my.Application.ChangeCulture" , tapi ini hanya berlaku di aplikasi kita saja.

Code berikut akan mengganti/menetapkan regional setting komputer kita agar sesuai dengan setting aplikasi yg kita buat, jadi ga perlu repot2 menyuruh user mengganti secara manual dari kontrol panel, dan ga perlu kuatir si USEr pekok lupa menggantinya, karena setiap aplikasi jalan, otomatissss komputer mengubah regional setting yg kita tetapkan,,

Berikut Codenya :


Imports System.Runtime.InteropServices

Public Class Form1

    Private USASettings As New List(Of RegionalSettings)
    Private UKSettings As New List(Of RegionalSettings)

    Private Class RegionalSettings
        Public entry As String
        Public value As String
        Public Sub New(ByVal key As String, ByVal value As String)
            Me.entry = key : Me.value = value
        End Sub
    End Class

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With USASettings
            .Add(New RegionalSettings("iCountry", "1"))
            .Add(New RegionalSettings("iCurrDigits", "2"))
            .Add(New RegionalSettings("iCurrency", "0"))
            .Add(New RegionalSettings("iDate", "1"))
            .Add(New RegionalSettings("iDigits", "2"))
            .Add(New RegionalSettings("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "1"))
            .Add(New RegionalSettings("iNegCurr", "0"))
            .Add(New RegionalSettings("iTime", "0"))
            .Add(New RegionalSettings("iTLZero", "0"))
            .Add(New RegionalSettings("Locale", "00000409"))
            .Add(New RegionalSettings("s1159", "AM"))
            .Add(New RegionalSettings("s2359", "PM"))
            .Add(New RegionalSettings("sCountry", "United States"))
            .Add(New RegionalSettings("sCurrency", "$"))
            .Add(New RegionalSettings("sDate", "/"))
            .Add(New RegionalSettings("sDecimal", "."))
            .Add(New RegionalSettings("sLanguage", "ENU"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dddd, MMMM dd, yyyy"))
            .Add(New RegionalSettings("sShortDate", "M/d/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "h:mm:ss"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "6"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With

        With UKSettings
            .Add(New RegionalSettings("iCountry", "44"))
            .Add(New RegionalSettings("iCurrDigits", "2"))
            .Add(New RegionalSettings("iCurrency", "0"))
            .Add(New RegionalSettings("iDate", "1"))
            .Add(New RegionalSettings("iDigits", "2"))
            .Add(New RegionalSettings("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "0"))
            .Add(New RegionalSettings("iNegCurr", "1"))
            .Add(New RegionalSettings("iTime", "1"))
            .Add(New RegionalSettings("iTLZero", "1"))
            .Add(New RegionalSettings("Locale", "00000809"))
            .Add(New RegionalSettings("s1159", "AM"))
            .Add(New RegionalSettings("s2359", "PM"))
            .Add(New RegionalSettings("sCountry", "United Kingdom"))
            .Add(New RegionalSettings("sCurrency", "£"))
            .Add(New RegionalSettings("sDate", "/"))
            .Add(New RegionalSettings("sDecimal", "."))
            .Add(New RegionalSettings("sLanguage", "ENG"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dd MMMM yyyy"))
            .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "HH:mm:ss"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "0"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each reg As RegionalSettings In UKSettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

        NotifyInternationalChanges()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        For Each reg As RegionalSettings In USASettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

        NotifyInternationalChanges()
    End Sub

    Private Sub NotifyInternationalChanges()
        'Ref: http://msdn.microsoft.com/en-us/library/windows/desktop/ms725497%28v=vs.85%29.aspx
        Dim HWND_BROADCAST As New IntPtr(&HFFFF) 'broadcast to entire system
        Dim Lparam As IntPtr = System.Runtime.InteropServices.Marshal.StringToBSTR("intl")
        SendNotifyMessage(HWND_BROADCAST, &H1A, UIntPtr.Zero, Lparam)
        System.Runtime.InteropServices.Marshal.FreeBSTR(Lparam)
    End Sub

    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Public Shared Function SendNotifyMessage(ByVal hWnd As IntPtr, _
                                             ByVal msg As UInt32, _
                                             ByVal wParam As UIntPtr, _
                                             ByVal lParam As IntPtr) As Boolean
    End Function

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    End Sub
End Class

Minggu, 22 Juli 2012

Aplikasi Sekolah Gratis

Program ini didekasikan untuk dunia pendidikan, kami sadar banyak program sejenis yang lebih bagus/baik dari pada program ini, maka dari itu kami minta saran dan kritik anda, karena Pembuat program ini bukan dari kalangan akademik.
Isi program meliputi :


*SISWA>pendaftaran,penerimaan,seleksi mos,penempatan kelas,kelulusan
*Guru>jabatan,tunjangan dll
*Catatan>Nilai,BK dll
*Keuangan>Pembayaran,Pemasukan,Pengeluaran,Kas,RAB,Inventaris
*Perpus>Pinjam,pengembalian dan stok buku

konten yg Dalam Pengembangan:
*Rumus/Resep penyusun Nilai raport
*Laporan akan di perkomplit
*proses akhir periode
*History Transaksi


Kedepan program ini juga akan dilengkapi :
*Absensi Finger Print
*layanan SmS,untuk mengetahui informasi siswa lewat SMS seperti informasi (kehadiran/Absen,keuangan,Nilai dll) sehingga para orang tua dapat mengontrol anak-anak nya disekolah,,,

~Aplikasi ini GRATIS (hanya butuh register dari kami, register ini bertujuan agar tidak ada pihak lain yg menjual aplikasi ini~
~Untuk Kritik dan saran silahkan kesini:  https://www.facebook.com/groups/ProgramSekolah/ ~



DOWNLOAD APLIKASI DISINI:
http://upload.ugm.ac.id/458Realease.rar 

DOWNLOAD TOOLS UNTUK WIN 7
http://www.4shared.com/rar/moIJPxBI/Tools.html 


~Kami harap semoga aplikasi ini bermanfaat~






Jumat, 13 Juli 2012

FIXING CRYSTAL REPORT PROBLEM IN WIN 7 (MENGATASI MASALAH CRYSTAL REPORT DI WIN 7 ) VB .NET

mau ngisi blog males bgt,,,, drpd kosong mending saya nulis artikel ini aja, barang kali ada yg butuh,,,tp nek ra butuh yoooo ga popo,,,,butuh karepmuuuuuu,,,ra butuh yooooooooo matamuuuuuuuuu,,,,,!!!!wkwkwkwwkkwkwk
ok,langsung aja ke TKP....

Saya pernah mengalami masalah dengan crystal report ketika aplikasi yang saya buat saya pasang di win 7,,
padahal ketika saya pasang di win Xp ga ada masalah sama sekali,,,,

saya punya 2 cara untuk mengatasi masalah ini,,,,,wkwkwkwkwkwkwk kasih tau ga yaaaaaaaaaa,,,,,!!!!!!

ok,langsung saja,

* cara yang pertama yaitu dengan menginstal Visual studio nya ke PC dengan OS win 7 tersebut,,, tapi cara ini memakan waktu yang lama, jadi tinggalkan saja,,,wkwkwkwkwkwk saran saya anda memilih cara yang kedua,ok.

* cara yang kedua adalah : silahkan anda ambil file "CRRedist2005_x86.msi" di C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports
lalu anda install di PC dengan Os Win 7 tersebut,,,, 

SEMOGA BERMANFAAT,,,,!!!!!

Selasa, 03 Juli 2012

pass sql server password on crystal report runtime ( melewati/menghilangkan password sql server pada crystal report ketika runtime ) Code in VB .Net

wkwkwkwkwkwk sebelumnya ane minta maaf dalam penulisan judul barang kali salah,,,,,!!!!!!!!!!! :D :D maklum wong jowo,,,

ok,langsung ke TKP,,,
Dalam pembuatan laporan dengan menggunakan crystal report dgn database sql server biasanya biasanya pada saat runtime muncul logon yg berisi konfirmasi minta password akses,,,

perhatikan kode berikut :


 'deklarasi dataset buat isi source laporan
        Dim ds As New DataSet
        Dim cnn As SqlConnection


        'deklarasi string buat isi perintah query
         dim strsql as string


        'deklarasi string buat isi koneksi
         dim ConnectionString as string


        'deklarasi laporan
         dim laporan as new namaclasslaporan 'isi dengan laporan yg sudah dibuat misal anda sudah
                                              ' membuat laporanpembelian.rpt, maka isi dgn new laporanpembelian
       
        strsql="select * from pembelian" 'ganti dgn query nya sesuka anda
        'sesuaikan yg berawalan x dgn settingan anda
        ConnectionString=" Data Source=" + xServer + ";Initial Catalog=" + xDatabase +    ";Persist Security Info=True;User ID=" + xID + ";Password="+ xpass +""


        cnn = New SqlConnection(ConnectionString)
        cnn.Open()
        Dim DSCMD As New SqlDataAdapter(strsql, cnn)


        DSCMD.Fill(ds, "isi dgn nama Database")
        cnn.Close()
     
        LAPORAN.SetDataSource(ds.Tables(0))
       'ini buat login database di crystal report
        ObjectRpt.SetDatabaseLogon("user name database anda ","password database anda")
        crystalreportviewer.ReportSource = LAPORAN
        crystalreportviewer.Refresh()

pahami sendiri, ane lagi males nulis,,, klo belum paham silahkan PM,,,ok

Selasa, 26 Juni 2012

Enkripsi File Dengan Algoritma RIJNDAEL ( VB .NET )


DOWNLOAD PROJECT
Siapa sih yg ga kenal Algoritma ini,,,, Ni ada sedikit ulasan sejarahnya,,,


Hingga tahun 1990-an, algoritma kriptografi yang banyak dipakai adalah Data Encryption Standard (DES). Algoritma ini dipakai oleh National Institute of Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat.


DES termasuk dalam algoritma enkripsi yang sifatnya cipher block, yang berarti DES mengubah data masukan menjadi blok-blok 64-bit dan kemudian menggunakan kunci enkripsi sebesar 56-bit. Setelah mengalami proses enkripsi maka akan menghasilkan output blok 64-bit.


Seiring dengan perkembangan teknologi, kunci DES yang sebesar 56-bit dianggap sudah tidak memadai lagi. Pada tahun 1998, 70 ribu komputer di Internet berhasil membobol satu kunci DES dalam waktu 96 hari. Tahun 1999 kejadian yang sama terjadi lagi dalam waktu lebih cepat yaitu hanya dalam waktu 22 hari. Pada
tanggal 16 Juni 1998, sebuah mesin seharga 250 ribu dolar dapat dengan mudah memecahkan 25% kunci DES dalam waktu kira-kira 2,3 hari atau diperkirakan dapat memecahkan kunci DES dalam waktu 4,5 hari.


Adanya kenyataan bahwa algoritma kriptografi DES tidak lagi aman, maka NIST mulai memikirkan sebuah
algoritma kriptografi lain sebagai pengganti DES. Untuk itu diadakan kontes Internasional dimana pesertanya adalah ahli kriptografi dari seluruh dunia.Adapun diadakan secara terbuka dimaksudkan agar algoritma yang baru bukan dari produk badan pemerintah yang dapat dengan sengaja menanamkan backdoor pada algoritmanya. Backdoor ini dicurigai membuat plaintext dapat langsung dibaca tanpa harus menggunakan kunci.


Pada tahun 1997 kontes pemilihan suatu standar algoritma kriptografi baru pengganti DES dimulai dan diikuti oleh 21 peserta dari seluruh dunia. Algoritma yang akan dipilih selain harus memenuhi beberapa kriteria, yaitu


• Faktor keamanan, yang berarti algoritma tersebut harus tidak mudah dipecahkan oleh cracker, bersifat   acak atau tidak mudah diterka outputnya, dan tidak berdasar algoritma matematika tertentu.
• Faktor biaya, dimana diperhitungkan kecepatan prosesing pada baik pada hardware dan software, dan besarnya memory yang dipakai.


•Faktor karakteristik implementasi, yakni meliputi kesederhanaan algoritma yang digunakan, kemudahan dan keamanan dalam implementasi di hardware dan software.


Algoritma ini akan dinamakan Advanced Encryption Standard (AES).


Setelah melewati tahap seleksi yang ketat, pada tahun 1999 hanya tinggal 5 calon yaitu algoritma Serpent (Ross Anderson- University of Cambridge, Eli Biham- Technion, Lars Knudsen-University of California San Diego), MARS (IBM Amerika), Twofish (Bruce Schneier, John Kelsey, dan Niels Ferguson-Counterpane
Internet Security Inc, Doug Whiting-Hi/fn Inc, David Wagner-University of California Berkeley, Chris Hall Princeton University), Rijndael (Dr. Vincent Rijmen-Katholieke Universiteit Leuven dan Dr. Joan Daemen-
Proton World International), dan RC6 (RSA Amerika).


Setahun kemudian pada tahun 2000, algoritma Rijndael terpilih sebagai algoritma kriptografi yang selain aman juga efisien dalam implementasinya dan dinobatkan sebagai AES. Nama Rijndael sendiri berasal
dari gabungan nama penemunya.


Tapi maaf disini ane ga nulis alur algoritmanya,,, silahkan anda cari sendiri make guleee,,, disini ane cuma mau share coding make vb .net,,,ini juga punya org bule,,,,,

Klo ente mau nyari referensi tentang Cryptografi silahkan and beli bukunya um Dony Arius,,, disitu lengkap dari metodhe cryptografi kuno nyampe modern,,,, dari metode ceasar sampe metode hybrid,,,, wkwkwkwkwk jadi inget masa bikin skripsi dulu,,,,

Sebenarnya Algoritma RIJNDAEL ini juga buat jaman sekarang juga patut dipertanyakan keamanannya,,, makanya skrg org2 suka make algoritna Hybrid,,, ya walau ga mesti aman juga,,,, kok bisa??? yailaaaaaaaaaaaaaah,,,, model crypto ini kan mengandalkan kerahasiaan kunci, bukan kerahasiaan algoritmanya,,,

Cara paling aman adalah,,,,kita buat algoritma sendiri,,,trus kita tutup rapat2 algoritmanya,,,, ane jamin ga ada yg bisa buka tuh chipertext,,,kecuali anda dan tuhan,,,,betuuuuuuuuuuul ga,,,,,??????????

Ok,,ngomong2 soal cryptografi di vb .net sudah disediain referens buat ini,,jadi kita tinggal add saja,,,namanya "System.Security.Cryptography",,, dgn referens ini kita bisa enkrip dgn algoritma2 simetris, asimetris,,,, kaya DES,3DES, RIJNDAEL,HASH,MD5 DLL,,,,,,,,,,,,,,,,,,

OK DOWNLOAD LANGSUNG AJA SOURCE CODE NYA:
DOWNLOAD PROJECT

[SQL Server Query] Select all day list of month/year ( Menampilkan semua daftar hari dalam sebulan atau setahun)

Ada temen yg bertanya bagaimana menampilkan semua daftar hari dalam setahun,,,
seperti dibawah ini:
01/01/2011
02/01/2011
dst ...
01/02/2011
02/02/2011 
dst ....
01/12/2011
02/12/2011
....
31/12/2011

caranya dengan menggabungkan fungsi "dateadd" dan fungsi "union" untuk menggabungkan nilai "i" ,,,, untuk lebih jelasnya cek query berikut :

select HASIL from
(select HASIL = dateadd(day,i,'2011/01/01') from
(select i = i1.i + i2.i + i3.i + i4.i + i5.i + i6.i + i7.i+ i8.i + i9.i 
from
(select i = 0 union select 1) as i1 ,
(select i = 0 union select 2) as i2 ,
(select i = 0 union select 4) as i3 ,
(select i = 0 union select 8) as i4 ,
(select i = 0 union select 16) as i5 ,
(select i = 0 union select 32) as i6 ,
(select i = 0 union select 64) as i7 ,
(select i = 0 union select 128) as i8 ,
(select i = 0 union select 256) as i9 
) as joinI
) tampung
where HASIL < '2012/01/01'
order by HASIL
/*
Karena 1 tahun= 365 hari, maka kelipatan nya cukup sampai 256 yg berarti batas akhir record sampai 512,, Misal kita mau select hari dalam jangka 2 tahun yg berarti =730 hari, maka kelipatannya kita tambahin menjadi 514 ,biar record yg bisa dihasilkan sampai 1024 record,,,  
*/

PREVIEW :
SEMOGA BERMANFAAT,,,,!!!!!!!!!!!!!!!!!

Kamis, 14 Juni 2012

Dinamic Button Array / Array Tombol Dinamis ( code in .NET )

Untuk membuat aplikasi yg dinamis kita membutuh komponen objet yg dinamis pula,,, sebagai contoh dalam pembuatan POS RESTO, agar user mudah menambahkan dan menghapus MEJA, tentu kita membuat database untuk menampung data meja tersebut,,, dan data meja tadi kita buatkan Array Button yg kita masukan kedalam POS RESTO ,,, knp ini dibuat ????? sebagai SENIOR PROGRAMMER anda pasti sudah tau lah,,!!!!
biar lebih jelas, ni ada contoh preview POS RESTO :



perhatikan tombol2 yg ada di tengah,,, tombol tersebut dibuat dinamis dengan parameter table dibawah :


Nah,,, makin jelaskan kegunaan nya???

OK, Itu menggunakan Button Array,,,, klo di VB Classic setiap komponent object punya index yg berguna untuk array,,, tapi di VB .NET ??????

Nie ada contoh untuk button array dengan .Net,,,, tapi ini cuma menggunakan perulangan n array constant,,, tapi bisa anda kembangkan menjadi Dinamis tinggal olah LOGIKA anda,,,, gampang cuma tinggal ganti jadi array Dinamis dengan fungsi2 Array ,,,, klo dah gitu kan enak, tinggal sambungin ke DataBase aja,,,beres dech,,,

OK, ini PENAMPAKANnya,,,,



DOWNLOAD PROJECT

DAL Class Generator ( .Net , Aql Server )

Buat yg biasa menggunakan tehnik DAL (Data Access Layer ) pasti sudah terbiasa dengan class 
n Store procedure,,,,Nah masalahnya setiap kita mengerjakan project baru kita harus membuat 
class and procedure lagi yang hampir sama, yg beda cuma isinya tok,,, 
tentu tidak efisien klo dilihat dari segi waktu,,

nah,,, nie ane dapet tool dari orang bule buat bikin DAL,, dengan tool ini kita bisa buat 
class n store procedure dengan Mudah dan cepat,,,

dan buat yg belum menggunakan tehnik DAL bisa juga buat latihan bikin class n store procedure di Sql server,,,

wkwkwkwkwk Introduction e elek men,,, maklum bukan jurnalis,,,,

OK, KTP aja langsung,,,,, namanya TITAN CLASSES ,,, 

preview :


DOWNLOAD

Sabtu, 14 April 2012

Drag Form Tanpa Title Bar CODE IN .NET

untuk memindahkan form yang tidak mempunyai title bar diperlukan code tambahan sebagai berikut:

  Dim newPoint As New System.Drawing.Point()
    Dim a As Integer
    Dim b As Integer
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
        a = Control.MousePosition.X - Me.Location.X
        b = Control.MousePosition.Y - Me.Location.Y
    End Sub
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            newPoint = Control.MousePosition
            newPoint.X = newPoint.X - (a)
            newPoint.Y = newPoint.Y - (b)
            Me.Location = newPoint
        End If
    End Sub

tinggal paste ae ng form,ok

Sabtu, 31 Maret 2012

CARA MEMASUKAN KARAKTER ( ' ) KE DALAM SQL SERVER (Entering the CHARACTER (') INTO THE SQL SERVER) CODE IN .NET


PREVIEW:

Ketika kita ingin memasukan karakter ( ' ) dalam queri string, dalam pengeksekusiannya pasti terjadi error,,,,karena  karakter ( ' ) akan dibaca sebagai perintah Query...

Banyak para Programer menggunakan escape,tapi terlalu rumit....ada juga yang menggunakan fungsi replace sebagai handle...tapi semua tidak menyelesaikan masalah seperti yang  harapkan...

Berikut ini saya coba kasih hendle buat ngatasi masalah itu,,,, yaitu dengan mengganti karakter ( ' ) dengan karakter yang mirip karakter tersebut, yaitu karakter ( ` )...

Untuk mengatasi hal seperti ini saya lebih suka menghandle lewat inputan, bukan lewat querynya,,,karena Query nanti akan berisi gabungan string buat perintah dan string inputan dari textbox...

Dan yang akan saya handle adalah textbox nya, yaitu ketika user mmemilih Karakter ( ' ), Maka akan saya alihkan ke karakter ( ` )....

CODE HANDLE :
Private Sub EnterKeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
    Handles TextBox1.KeyPress, TextBox2.KeyPress, TextBox3.KeyPress, TextBox4.KeyPress
        Try
            e.KeyChar = UCase(e.KeyChar)
            If e.KeyChar = "'" Then
                e.KeyChar = "`"
            End If
            
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
DOWNLOAD PROJECT :

UNTUK MENCOBA QUERY STRINGNYA,SILAHKAN COPY N JALANKAN DI QUERY ANALIZER....

ATAU SILAHKAN ANDA BUAT CODE UNTUK MENGEKSEKUSI QUERY TERSEBUT...

OK, SEMOGA BERMANFAAT...



Jumat, 09 Maret 2012

(Insert) TextBox / Variable into Crystal Report Parameter (Code in .Net)

1) Add/ Tambahkan Crystal  Report dan CrystalReportViewer ke dalam Form project Anda
2) pada
Crystal  Report tambahkan field parameter, contoh kita beri nama "Nomor" Field.

3) Lalu Masukan field parameter "nomor" tadi kedalam crystalreport
4)
Nanti dalam crystal report  akan terlihat - "?nomor"
5) Tuliskan syntax berikut dalam form dimana anda meletakan
CrystalReportViewer 
    
  CODE :
private sub print()
Dim pvCollection As New CrystalDecisions.Shared.ParameterValues()
Dim pdvFrom As New CrystalDecisions.Shared.ParameterDiscreteValue()
Dim ObjectRpt As New CryStalreport1
Dim CryData As New CrystalReportViewer1

pdvFrom.Value = textbox1.text       ' value parameter field
      
 pvCollection.Add(pdvFrom)           ' add value
ObjectRpt.DataDefinition.ParameterFields("nomor").ApplyCurrentValues(pvCollection)
CryData.ReportSource = ObjectRpt
 CryData.Refresh()
End Sub


..::S E L A M A T  M E N C O B A::..

Rabu, 07 Maret 2012

Memberi Warna pada Section Detail (Record) Crytal report

Memberi warna pada section detail (record) kadang sangat diperlukan untuk mempermudah user membaca laporan,,

PREVIEW :


Ok. berikut caranya :
1.  Klik Kanan pada section(details), Pilih section expert
 2. pilih "details" pada kolom section, pilih color pada kolom sebelah kanan lalu centang background color


 3. Buat formula baru,setelah Masuk formula Editor, pada kolom sebelah kiri pilih "Formating Formula=>Details", lalu klik kanan,terus pilih "New Formating Formula=>background color" klik use editor
4. Dalam code editor ketik formula serti ini :

if RecordNumber mod 2=0 then crSilver else crNoColor

5. Simpan dan tutup Editor
6. Kemudian jalankan report

Selamat mencoba.




Fungsi ISNULL Dalam Ms SQL

Fungsi   dari IS NULL  itu sendiri adalah Menggantikan NULL dengan nilai pengganti yang ditentukan..
  
SYNTAX :

ISNULL ( EKSPRESI ,NILAI PENGGANTI



KETERANGAN :
EKSPRESI : Ekspresi berisi nilai/field yang akan di cek, Bila Nilai/Field is null maka nilai/field akan diganti
                     dengan PENGGANTI.


CONTOH:

SELECT     NOPINJAM, KODE_NASABAH, TGLANGSUR, TGLPINJAM,
 ISNULL(DATEDIFF(DAY, TGLANGSUR, GETDATE()), DATEDIFF(DAY, TGLPINJAM, GETDATE())) AS [JATUH TEMPO], SISAANGSUR, ROUND(JMLPINJAM * BUNGA / 100 * 12 / 360 * ISNULL(DATEDIFF(DAY, TGLANGSUR, GETDATE()), DATEDIFF(DAY,
                      TGLPINJAM, GETDATE())) + 450, - 3) AS BUNGA
FROM         VIEWPINJAM
WHERE     (LUNAS = 0) AND (JENISBIAYA = N'MENURUN') AND (ISNULL(DATEDIFF(DAY, TGLANGSUR, GETDATE()), DATEDIFF(DAY, TGLPINJAM, GETDATE())) > 0)

 HASIL:




Perhatikan Syntax yg diblok biru, Maksud dari syntax tersebut adalah menghitung jumlah hari keterlambatan(jatuh Tempo) dengan parameter fungsi Is Null "TGLANGSUR", Bila "TGLANGSUR" Is Null maka parameter penghitungan hari diambil dari "TGLPINJAM" dan apa bila "TGLANGSUR" Is Not Null maka parameter penghitungan hari diambil dari "TGLANGSUR"..

OK, Untuk lebih jelas nya Perhatikan Blok warna dalam syntax diatas:
=> Blok HIJAU : * adalah fungsi menghitung hari dengan parameter "TGLANGSUR"
                            * bila "TGLANGSUR" Is Null Maka otomatis fungsi datediff ga jalan
                            * dan hasilnya field alias "JATUH TEMPO" = Is Null
                            * dan apabila "TGLANGSUR" Is Not Null maka penghitungan hari (fungsi gatediff) 
                               diambil dari "TGLANGSUR"
=> Setelah Pengecekan diatas maka diketahui Parameternya Is Null atau Is Not Null, Jika Is Not Null Maka Blok HIJAU yg akan dibaca, dan Jika Is Null Maka yg akan dibaca adalah fungsi getediff yg kedua (Blok HITAM), dengan parameter "TGLPINJAM"...


Wes ah penjelasane, Kesel,ngeleh,,,,,
Paham KarepMU ora paham Yo Matamu....jenenge ae ngoding sak karepe deweeeeeeeeee

hehehehe... Guyon Um,,, Pastilah anda lebih paham daripada saya... 

OK, Semoga Bermanfaat....!!!!!
 

Senin, 05 Maret 2012

Multi coloum ComboBox .Net

Preview :


 Berikut Cara menambahkan kolom pada ComboBox , monggo download ae contohe:
Download Project

Multibox(user Control) :

Imports System.Math
Imports System.Drawing
Imports System.Windows.Forms

Public Class Multibox

#Region "Dimensions"
    Dim charSeperator As Char = ","         'Character seperation in the main box
    Dim intSelectedItem As Int16 = 0        'Index of the currently selected item
#End Region

#Region "Properties"

    Public Property Seperator() As Char     'The column seperator property
        Get
            Return charSeperator
        End Get
        Set(ByVal value As Char)
            charSeperator = value
        End Set
    End Property

    'Hide this property from designer window
    <System.ComponentModel.Browsable(False)> _
    ReadOnly Property Columns() As ListView.ColumnHeaderCollection      'Columns in the Listview
        Get
            Return ListView1.Columns
        End Get
    End Property

    'Hide this property from designer window
    <System.ComponentModel.Browsable(False)> _
    ReadOnly Property Items() As ListView.ListViewItemCollection        'Items in the listview
        Get
            Return ListView1.Items
        End Get
    End Property

#End Region

#Region "Show list"

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Hide and show the listview as the drop list for the box
        If ListView1.Visible Then
            ListView1.Visible = False
            Me.Height = Me.Height - ListView1.Height - 5
        Else
            ListView1.Left = TextBox1.Left
            ListView1.Width = TextBox1.Width
            ListView1.Top = TextBox1.Bottom
            ListView1.Visible = True
            Me.Height = Me.Height + ListView1.Height + 5
            ListView1.Items(intSelectedItem).Selected = True
        End If

    End Sub

    Private Sub TextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Click
        Button1_Click(sender, e)
    End Sub

    Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
        Button1_Click(sender, e)
    End Sub

#End Region

#Region "Select Item"

    Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
        Try
            'Set the selected index number
            intSelectedItem = ListView1.SelectedItems(0).Index

            'Set the count to 0 for Item seperator
            Dim i As Int16 = 0

            'Loop through the items and get the values
            For Each tmpItem In ListView1.SelectedItems(0).SubItems
                If i = 0 Then
                    TextBox1.Text = tmpItem.Text
                Else
                    TextBox1.Text += charSeperator & " " & tmpItem.Text
                End If
                i += 1
            Next
        Catch ex As Exception
            'Just leave the exception and move on.
        End Try
    End Sub

#End Region

#Region "Fade in and out"

    Private Sub TextBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseEnter
        Fade(Button1, True)
    End Sub

    Private Sub TextBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseLeave
        Fade(Button1, False)
    End Sub

    Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
        Dim cntrl As Control = CType(sender, Control)
        Fade(cntrl, True)
    End Sub

    Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
        Dim cntrl As Control = CType(sender, Control)
        Fade(cntrl, False)
    End Sub

    Private Sub Fade(ByVal ctrl As Control, ByVal hovering As Boolean)
       

        Dim Sb_R, Sb_G, Sb_B As Int16 '           <--- RGB values for the starting backcolor
        Dim Sf_R, Sf_G, Sf_B As Int16 '           <--- RGB values for the starting forecolor
        Dim Eb_R, Eb_G, Eb_B As Int16 '           <--- RGB values for the ending backcolor
        Dim Ef_R, Ef_G, Ef_B As Int16 '           <--- RGB values for the ending forecolor

        Select Case hovering  ' True for MouseEnter, False for MouseLeave
            Case True
                Sb_R = SystemColors.Window.R           ' Assign the variables the
                Sb_G = SystemColors.Window.G           ' appropriate values based
                Sb_B = SystemColors.Window.B           ' on system-defined colors
                '                                         for control and control
                Sf_R = SystemColors.Window.R       ' text.
                Sf_G = SystemColors.Window.G
                Sf_B = SystemColors.Window.B

                Eb_R = SystemColors.ActiveCaption.R     ' Assign the variables the
                Eb_G = SystemColors.ActiveCaption.G     ' appropriate values based
                Eb_B = SystemColors.ActiveCaption.B     ' on system-defined colors
                '                                         for the title bar and the
                Ef_R = SystemColors.ActiveCaptionText.R ' title bar's text.
                Ef_G = SystemColors.ActiveCaptionText.G
                Ef_B = SystemColors.ActiveCaptionText.B
            Case False
                Sb_R = SystemColors.ActiveCaption.R     ' Assign the variables the
                Sb_G = SystemColors.ActiveCaption.G     ' appropriate values based
                Sb_B = SystemColors.ActiveCaption.B     ' on system-defined colors
                '                                         for the title bar and the
                Sf_R = SystemColors.ActiveCaptionText.R ' title bar's text.
                Sf_G = SystemColors.ActiveCaptionText.G
                Sf_B = SystemColors.ActiveCaptionText.B

                Eb_R = SystemColors.Window.R           ' Assign the variables the
                Eb_G = SystemColors.Window.G           ' appropriate values based
                Eb_B = SystemColors.Window.B           ' on system-defined colors
                '                                         for control and control
                Ef_R = SystemColors.Window.R       ' text.
                Ef_G = SystemColors.Window.G
                Ef_B = SystemColors.Window.B
        End Select

        Dim b_RIncrement As Int16 = Round(((Eb_R - Sb_R) / 16), 0)      ' Find the increments that
        Dim b_GIncrement As Int16 = Round(((Eb_G - Sb_G) / 16), 0)      ' the RGB values will take;
        Dim b_BIncrement As Int16 = Round(((Eb_B - Sb_B) / 16), 0)      ' 1/16th of the difference
        '                                                                 between the start and end
        Dim f_RIncrement As Int16 = Round(((Ef_R - Sf_R) / 16), 0)      ' values, rounded to the
        Dim f_GIncrement As Int16 = Round(((Ef_G - Sf_G) / 16), 0)      ' nearest integer.
        Dim f_BIncrement As Int16 = Round(((Ef_B - Sf_B) / 16), 0)

        Dim bR As Int16 = Sb_R ' \
        Dim bG As Int16 = Sb_G '  }--  the RGB values for the backcolor as it changes.
        Dim bB As Int16 = Sb_B ' /

        Dim fR As Int16 = Sf_R ' \
        Dim fG As Int16 = Sf_G '  }--  the RGB values for the forecolor as it changes.
        Dim fB As Int16 = Sf_B ' /

        Dim count As Int16
        For count = 0 To 14
            bR += b_RIncrement          ' Add the appropriate increments to the
            bG += b_GIncrement          ' RGB values.  The result is a nifty
            bB += b_BIncrement          ' "cross-fade" effect.
            fR += f_RIncrement
            fG += f_GIncrement
            fB += f_BIncrement

            'ctrl.BackColor = Color.FromArgb(bR, bG, bB)   ' Repaint the button using the
            ctrl.ForeColor = Color.FromArgb(fR, fG, fB)   ' current RGB values, and refresh
            ctrl.Refresh()                                ' the button.

            Threading.Thread.Sleep(30 - (count * 2))      ' Wait a certain number of milliseconds,
            '                                               which is a factor of the current count.
            '                                               I tweaked these numbers to get a decent
            '                                               effect; feel free to adjust these
            '                                               numbers to achieve an effect you like.
        Next
        Select Case hovering
            Case True
                ctrl.BackColor = SystemColors.ActiveCaption         ' Finish the effect by painting
                ctrl.ForeColor = SystemColors.ActiveCaptionText     ' the control with it's final
            Case False                                              ' look, depending on whether
                ctrl.BackColor = SystemColors.Window               ' we're fading in or out.
                ctrl.ForeColor = SystemColors.Window
        End Select
    End Sub

#End Region

#Region "Component resize and new"

    Private Sub Multibox_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        If ListView1.Visible = False Then
            Me.Height = 26
        End If
    End Sub

    Public Sub New()

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        ListView1.MultiSelect = False
        ListView1.FullRowSelect = True
    End Sub

#End Region

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub
End Class
 

Form:

        Multibox1.Columns.Add("Nama")
        Multibox1.Columns.Add("Panggilan")

        Multibox1.Items.Add("Mas Semar")
        Multibox1.Items(0).SubItems.Add("Semar")
        Multibox1.Items.Add("Petruk")
        Multibox1.Items(1).SubItems.Add("Truk")





Minggu, 04 Maret 2012

BACKUP RESTORE DATABASE MS SQL SERVER (CODE IN VB.NET)

PREVIEW :





















DOWNLOAD CONTOH PROJECT



CODE :

Imports System.Data.SqlClient
Public Class Form1
    Dim con, con1 As SqlConnection
    Dim cmd As SqlCommand
    Dim dread As SqlDataReader
  
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        server(".")
        server("IC-COMP")
    End Sub
    Sub server(ByVal str As String)
        con = New SqlConnection("Data Source=" & str & ";Database=Master;integrated security=SSPI;")
        con.Open()
        cmd = New SqlCommand("select *  from sysservers  where srvproduct='SQL Server'", con)
        dread = cmd.ExecuteReader
        While dread.Read
            cmbserver.Items.Add(dread(2))
        End While
        dread.Close()
    End Sub
    Sub connection()
        con = New SqlConnection("Data Source=" & Trim(cmbserver.Text) & ";Database=Master;integrated security=SSPI;")
        con.Open()
        cmbdatabase.Items.Clear()
        cmd = New SqlCommand("select * from sysdatabases", con)
        dread = cmd.ExecuteReader
        While dread.Read
            cmbdatabase.Items.Add(dread(0))
        End While
        dread.Close()
    End Sub

    Private Sub cmbserver_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbserver.SelectedIndexChanged
        connection()
    End Sub
    Sub query(ByVal que As String)
        On Error Resume Next
        cmd = New SqlCommand(que, con)
        cmd.ExecuteNonQuery()
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value = 100 Then
            Timer1.Enabled = False
            ProgressBar1.Visible = False
            MsgBox("SUKSES")
        Else
            ProgressBar1.Value = ProgressBar1.Value + 5
        End If
    End Sub
    Sub blank(ByVal str As String)
        If cmbserver.Text = "" Or cmbdatabase.Text = "" Then
            MsgBox("SERVER & Database KOSONG")
            Exit Sub
        Else
            If str = "backup" Then
                SaveFileDialog1.FileName = cmbdatabase.Text
                SaveFileDialog1.ShowDialog()
                Timer1.Enabled = True
                ProgressBar1.Visible = True
                Dim s As String
                s = SaveFileDialog1.FileName
                query("backup database " & cmbdatabase.Text & " to disk='" & s & "'")
            ElseIf str = "restore" Then
                OpenFileDialog1.ShowDialog()
                Timer1.Enabled = True
                ProgressBar1.Visible = True
                query("RESTORE DATABASE " & cmbdatabase.Text & " FROM disk='" & OpenFileDialog1.FileName & "'")
            End If
        End If
    End Sub
    Private Sub cmbbackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbbackup.Click
        blank("backup")
    End Sub

    Private Sub cmdrestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdrestore.Click
        blank("restore")
    End Sub
End Class