Menghitung di Form VB 2008 me.text Dengan Backgroundworker, Timer1
Semoga para pembaca setia www.hendika.net dapat meresapi perbedaan antar komponen :
1. Backgroundworker
2. Timer
3. satu tombol (button) tampa backgroundworker dan timer
Menghitung me.text dengan satu tombol
Buka VB 2008 anda dan design seperti dibawah ini :
Name dari masing2 komponent nama default saja jangan diganti,
Lalu coba kopikan kode dibawah ini:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For i As Integer = 0 To 100000
Me.Text = i
Next
End Sub
Dan coba kita jalankan jalankan dengan f5, coba anda klik menustripnya pasti bisa terbuka dan sekarang coba klik button1 dan klik menustrip file lagi dan eng ing eng....
tak bisa kan harus nunngu hitungan ke 100000 deh coba sambil ngelanccarin hitungan dibaca aja atasnya wkwkwk :D
Pada setiap pc Waktu penghitungan sampai 100000 akan berbeda selesainya, kecepatannya tergantung prosesor yang digunakan lebih tinggi prosesor maka makin cepat, kalo tak percaya test aja.
OK sekarang coba kita ganti kode scriptnya dengan yang dibawah ini dengan menambahkan komponen timer. dan inilah scriptnya :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Dim i As Double = 0
Dim j As String = ""
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
i += 1
Me.Text = i
If i = 101 Then
Me.Text = j
Timer1.Stop()
i = 0
End If
End Sub
Nah disini coba klik pada button1 dan pada saat me.text sedang menghitung sampai 100000 maka menustrip dapat dimainkan diklik hore bagus dong.
Tapi Apabila di Jalankan Di PC Lain kecepatan waktu Menghitungnya Sama aja mau di prosesor jadulpun sama huh....
Jadi Komputer Ku gak ada Harganya kalo program nya kek begini nih....
Coba Hapus Koding yang tadi dan tambahkan komponen backgroundworker
dan kopi kode dibawah ini :
Imports System.ComponentModel
Imports System.Threading
Public Class Form2
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim jalan As New BackgroundWorker
jalan = CType(sender, BackgroundWorker)
TheBusyWork(jalan)
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
Me.Text = e.ProgressPercentage
End Sub
Private Sub TheBusyWork(ByVal workerLink As BackgroundWorker)
For hitung As Integer = 1 To 100000
Thread.Sleep(1000)
workerLink.ReportProgress(hitung)
Next hitung
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync()
End Sub
End Class
Saya disini menggunakan nama formnya form2 hati yah :)
OK Jalanin dan bandingkan dengan Komputer lain kalo bisa dengan Spesifikasi Komputer yang berbeda jenis prosessornya dan kecepatannya :)
Selamat Mencoba :D
0 komentar:
Post a Comment