Selasa, 20 Desember 2011

Status Loading Data dengan ProgressBar

Kali ini saya akan share bagaimana cara membuat status loading dengan progressbar, misalnya dalam kasus memuat/load data ke grid atau listview, jika jumlah data nya sedikit mungkin tidak akan terasa tapi jika jumlah datanya sudah mencapai ribuan, puluhan ribu atau jutaan, saya yakin pasti tampilan form / windows sobat semua seperti "nge-hang" alias not responding, padahal sebenarnya di belakannya itu sedang melalukan load data. Untuk mengatasi "not responding" nya itu, kita harus tambahkan perintah "DoEvents". Baiklah, kita langsung saja praktek:

Buka project, add 1 form, add 1 label(name=djielabel), add 1 progressbar(name=djieprogressbar), add 1 button, dan yang terakhir 1 listview (name=djielistview)


Untuk Visual Basic .NET ini codingnya :
    Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
        'deklarasi koneksi
        Dim con As New Odbc.OdbcConnection("dsn=nwind")
        con.Open() 'buka koneksi
        'select table
        Dim cmd As New Odbc.OdbcCommand("select * from [order details]", con)
        Dim reader As Odbc.OdbcDataReader = cmd.ExecuteReader
        cmd = New Odbc.OdbcCommand("select count(*) from [order details]", con)
        Dim jumlahData As Double = cmd.ExecuteScalar
        'add column header
        For i As Integer = 0 To reader.FieldCount - 1
            djieListView1.Columns.Add(reader.GetName(i))
        Next
        'nilai default progressbar
        djieProgressBar1.Maximum = jumlahData
        djieProgressBar1.Value = 0
        'nilai defaul label
        djieLabel1.Text = "Loading Data 0 dari 0"
        'looping add data ke listview
        Do While reader.read
            djieListView1.Items.Add(reader.Item(0).ToString)
            For i As Integer = 1 To reader.FieldCount - 1
                djieListView1.Items.Item(djieListView1.Items.Count - 1).SubItems.Add(IIf(IsDBNull(reader.Item(i)), "", reader.Item(i).ToString))
            Next
            'Scroll listview
            'djieListView1.Items.Item(djieListView1.Items.Count - 1).EnsureVisible()
            'doevents agar tidak nge-hang
            System.Windows.Forms.Application.DoEvents()
            'jalankan progressbar dengan value ditambah 1
            djieProgressBar1.Value = djieProgressBar1.Value + 1
            'status loading
            djieLabel1.Text = "Loading Data " & djieProgressBar1.Value & " dari " & jumlahData
        Loop
        reader.Close()
    End Sub

Untuk Visual Basic 6 ini codingnya :
Private Sub Command1_Click()
    'deklarasi koneksi
    Dim con As New ADODB.Connection
    Dim rec As New ADODB.Recordset
    con.CursorLocation = adUseClient
    con.Open "dsn=nwind" 'buka koneksi
    Set rec = con.Execute("select * from [order details]") 'select tabel
    'add column header
    For i = 0 To rec.Fields.Count - 1
        djieListView1.ColumnHeaders.Add , , rec.Fields(i).Name
    Next
    'nilai default progressbar
    djieProgressBar1.Max = rec.RecordCount
    djieProgressBar1.Value = 0
    'nilai defaul label
    djieLabel1.Caption = "Loading Data 0 dari 0"
    'looping add data ke listview
    Do While rec.EOF = False
        djieListView1.ListItems.Add , , rec.Fields(0).Value
        For i = 1 To rec.Fields.Count - 1
            djieListView1.ListItems(djieListView1.ListItems.Count).ListSubItems.Add , , IIf(IsNull(rec.Fields(i).Value), "", rec.Fields(i).Value)
        Next
        'Scroll listview
        djieListView1.ListItems(djieListView1.ListItems.Count).EnsureVisible
    'doevents agar tidak nge-hang
        DoEvents
        'jalankan progressbar dengan value ditambah 1
        djieProgressBar1.Value = djieProgressBar1.Value + 1
        'status loading
        djieLabel1.Caption = "Loading Data " & djieProgressBar1.Value & " dari " & rec.RecordCount
        rec.MoveNext
    Loop
End Sub

OK, sekian posting saya kali ini, semoga bisa bermanfaat...

Add description to Function or Sub

Coba lihat code Visual Basic .NET dibawah ini :


Lihatlah pada tooltip di atas, ada keterangan "Fungsi untuk menjumlahkan 2 bilangan".Kemudian pada saat kita akan inputkan parameter ke satu, muncul lagi keterangan tambahan "Input bilangan ke-1 yang akan dihitung", begitupun parameter parameter yang lainnnya. Mau tau cara membuatnya ? bagi sobat yang belum tahu ini dia caranya : 
Step 1 : Buat function atau sub seperti biasa, saya contohkan sederhana function hitung
 
Step 2 : Tepat diatas function itu ketiklah kutip satu 3 kali ''' (seperti kita akan membuat comment), lalu akan muncul secara otomatis tag xml seperti gambar dibawah ini :
Step 3 : Selanjutnya, tinggal isi saya tag tersebut sesuai dengan kebutuhan/keinginan kita, contohnya seperti gambar dibawah ini :
 
Step 4 : Selesai ... semoga bisa bermanfaat untuk sobat semua yang lagi belajar pemrogramman Visual Basic .NET

Jumat, 16 Desember 2011

Crystal Report And Visual Studio 2010 [Error Resolved]

Untuk teman teman yang sudah menginstal Visual Studio 2010 tentu sedikit terkejut karena Crystal Report nya ternyata tidak include di package instaler nya, untuk itu sobat harus download dulu Crystal Report For Visual Studio 2010 disini (gratis). Setelah diinstal dan kita mulai membuat sebuah aplikasi, kemungkinan besar (pasti) sobat mengalami beberapa error. Apakah karena Crystal Report itu tidak compatible atau karena masih versi Beta? yang pasti di sini saya akan mencoba untuk memberikan solusi untuk error error tersebut, berdasarkan pengalaman dan hasil searching saya di google. Berikut ini beberapa error yang saya temukan :
Error 1 : Crystal Report dan Viewer nya tidak muncul di ToolBox

Sebenarnya ini bukan error, tapi dimana Cristal Report dan Viewer nya? padahal sudah kita instal !, jalan keluarnya adalah dengan memilih Crystal Report Aplication pada saat memulai project, bukan Windows Aplication yang seperti biasa kita lakukan, seperti gambar di bawah ini :


Error 2 :
 The referenced assembly "CrystalDecisions.Windows.Forms, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL" could not be resolved because it has a dependency on "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.
Untuk mengatasi error ini, ubahlah Target Framework ".NET Framework 4 Client Profile" ke ".NET Framework 4", caranya klik project properties->klik tab compile->klik Advanced Compiled Options->klik Target Framework, seperti gambar dibawah ini :


Error 3 : 
Reference required to assembly 'CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' containing the type 'CrystalDecisions.Shared.RequestContext'. Add one to your project.
 Untuk mengatasi error ini, cukup mudah, tutup/close project(close Visual Studio 2010-nya), kemudian open/buka lagi project-nya, error tersebut akan hilang dengan sendirinya.

Error 4 : 
Could not load file or assembly 'file:///C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.
Error ini akan terjadi ketika sobat mencoba untuk merefresh report (SetDataSource), dengan contoh coding seperti ini :
        Dim con As New Odbc.OdbcConnection("dsn=nwind")
        con.Open()
        Dim adp As New Odbc.OdbcDataAdapter("select * from employees", con)
        Dim tbl As New DataTable
        adp.Fill(tbl)
        Dim rpt As New rptEmployees
        rpt.SetDataSource(tbl)
        CrystalReportViewer2.ReportSource = rpt
Error ini maksudnya, file "crdb_adoplus.dll" tidak ada di forlder "C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1", maka copy file "crdb_adoplus.dll" dari "C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\" ke "C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1", jika folder "dotnet1" tidak ada, maka buatlah terlebih dahulu.

Error 5 :
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
Untuk mengatasi error ini, buka "app.config" yang ada di project, kemudia cari ini :
<startup><supportedruntime sku=".NETFramework,Version=v4.0" version="v4.0"></supportedruntime></startup>
Kemudian replace/ganti dengan ini :
Update! 2012-04-11
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>

OK, sekian yang bisa saya share tentang Crystal Report dan Visual Studio 2010,semoga bisa bermanfaat ...

Tags:

Kamis, 01 Desember 2011

Slide Effect When Form Unload VB6

Saat form unload atau di close maka effect slide ini akan tampil, jadi akan terkesan sedikit menarik dari ukuran form yang besar terus berangsur angsur menjadi kecil dan kemudian hilang (unload).
Download full source project

Tags:
cara membuat animasi di form, vb6 tutorial, contoh program vb, download vb example, batasi gerak mouse di form

Form Follow Cursor Animation VB6

Animasi unik berikut ini adalah membuat form yang anda buat selalu mengikuti cursor mouse, kemanapun cursor bergerak form anda akan selalu mengikutinya.
Download full source project
LINKS UPDATED ON 2013-06-22
Tags:
cara membuat animasi sederhana di form, contoh program vb, download vb example, batasi gerak mouse di form

Satelit Form Animation VB6

Contoh animasi kecil ini diberi nama satelit form, yaitu form mengelilingi form.
Download full source project

Tags:
cara membuat animasi di form, change animasi form, vb6 tutorial, contoh program vb, download vb example, batasi gerak mouse di form