Membuat Timer untuk Kasus Perlombaan di Microsoft Visual Studio 2010 (sesi 2)

Form Utama Timer (form1.vb).

Terdiri dari 2 sisi, yaitu sisi untuk admin:

Lalu berikutnya sisi untuk ditampilkan melalui proyektor ke
audience.

Padahal sebenernya 2 sisi itu Cuma terdiri dari satu form
yang koordinat di layarnya disesuaikan supaya ketika kita ntar pas lomba pake 2
monitor (layar admin dan proyektor) dan kita pilih opsi yang extended display
(jadi yang ada di proyektor bukanlah duplikat dari yang ada di layar admin tapi
merupakan perpanjangan dari layar) ntar si form tersebut bisa ke split. (cara
ini terbukti cukup ampuh dalam menipu para audience dan panitia pada saat itu
hoho). Padahal form sebenarnya seperti berikut.

Jadi anggap untuk layar admin kita pake resolusi 1280*800
dan layar yang proyektor pake resolusi 800*600. Maka untuk di properties size
form tersebut aku isi 1200*600 (1200 untuk panjang dimonitor adminnya 400
sedangkan sisanya (800) untuk ditampilkan di proyektor, terus 600 untuk
tingginya supaya pas ntar di proyektor). Setelah itu di properti location form
aku isi 880,0 (880 untuk koordinat x layar, dan 0 untuk koordinat y layar) karena
1280-880=400 (panjang form di sisi monitor admin kan 400). Asyik kan?

Untuk di sisi admin terdapat tombol start dan stop untuk
memulai timer atau menghentikan timer jika peserta sudah selesai semua. Ketika
ditekan tombol stop maka akan langsung membuat timer berhenti dan pergi ke form
hasil. Ketika ditekan tombol start maka akan membuat tombol-tombol yang lain yang
berisi nama-nama peserta akan menjadi enabled untuk diklik. Jadi ketika seorang
peserta sudah selesai maka langsung kita klik tombol yang berisi nama peserta
tersebut dan langsung sisa waktu peserta tersebut dicatat.

Untuk sisi layar yang ditampilkan via proyektor terdapat
tampilan timernya dan nama-nama peserta. Jika seseorang peserta telah selesai
dan diklik tombolnya di sisi admin maka tombol yang berisi nama peserta
tersebut akan enablednya=false, juga tombol yang berisi nama peserta tersebut
yang ada di sisi yang ditampilkan ke proyektor.

Script form yang ini:

PublicClassutama

Dim
detik

Dim
menit

Dim
peserta1

Dim
peserta2

Dim
peserta3

Dim
peserta4

Dim
peserta5

Dim
peserta6

 

PrivateSub
btnstart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnstart.Click

        btnstop.Enabled = True

        split1.Enabled = True

        split2.Enabled = True

        split3.Enabled = True

        split4.Enabled = True

        split5.Enabled = True

 

        na1.Enabled = True

        na2.Enabled = True

        na3.Enabled = True

        na4.Enabled = True

        na5.Enabled = True

 

        detik = 60

        menit = 20

        timerdetik.Enabled = True

        timerdetik.Start()

        lbldetik.Text = "00"

        lblmenit.Text = menit

        btnstart.Enabled = False

EndSub

 

PrivateSub
btnstop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnstop.Click

        timerdetik.Stop()

        timerdetik.Enabled = False

        timermenit.Stop()

        timermenit.Enabled = False

hasil.ShowDialog()

 

 

EndSub

 

 

PrivateSub
timerdetik_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
timerdetik.Tick

        detik = detik – 1

If
(detik = 59) Then

 

            menit = menit – 1

 

EndIf

 

If
(detik = 0) Then

            detik = 60

EndIf

 

If
(detik = 60) Then

            lbldetik.Text = "00"

ElseIf
(detik = 1) Then

            lbldetik.Text = "01"

ElseIf
(detik = 2) Then

            lbldetik.Text = "02"

ElseIf
(detik = 3) Then

            lbldetik.Text = "03"

ElseIf
(detik = 4) Then

            lbldetik.Text = "04"

ElseIf
(detik = 5) Then

            lbldetik.Text = "05"

ElseIf
(detik = 6) Then

            lbldetik.Text = "06"

ElseIf
(detik = 7) Then

            lbldetik.Text = "07"

ElseIf
(detik = 8) Then

            lbldetik.Text = "08"

ElseIf
(detik = 9) Then

            lbldetik.Text = "09"

Else

            lbldetik.Text = detik

EndIf

If
(menit <0) Then

            lblmenit.Text = "WKTHBS!"

            lbldetik.Visible = False

            Label1.Visible = False

Else

            lblmenit.Text = menit

EndIf

 

EndSub

 

PrivateSub
lbldetik_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
lbldetik.Click

 

EndSub

 

PrivateSub btnsplit_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles split1.Click

If
lblmenit.Text = "WKTHBS!"Then

            hasil.Label2.Text = "0:00"

Else

            hasil.Label2.Text = Str(menit) + ":" + lbldetik.Text

EndIf

        na1.ForeColor = Color.Azure

        split1.Enabled = False

EndSub

 

PrivateSub
utama_FormClosing(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosingEventArgs)
HandlesMe.FormClosing

awal.Show()

 

 

EndSub

 

 

 

 

PrivateSub
utama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

        split1.Text = awal.TextBox1.Text

        split2.Text = awal.TextBox2.Text

        split3.Text = awal.TextBox3.Text

        split4.Text = awal.TextBox4.Text

        split5.Text = awal.TextBox5.Text

 

        na1.Text = awal.TextBox1.Text

        na2.Text = awal.TextBox2.Text

        na3.Text = awal.TextBox3.Text

        na4.Text = awal.TextBox4.Text

        na5.Text = awal.TextBox5.Text

 

        peserta1 = awal.TextBox1.Text

        peserta2 = awal.TextBox2.Text

        peserta3 = awal.TextBox3.Text

        peserta4 = awal.TextBox4.Text

        peserta5 = awal.TextBox5.Text

 

        btnstop.Enabled = False

        split1.Enabled = False

        split2.Enabled = False

        split3.Enabled = False

        split4.Enabled = False

        split5.Enabled = False

 

        na1.Enabled = False

        na2.Enabled = False

        na3.Enabled = False

        na4.Enabled = False

        na5.Enabled = False

 

        btnstart.Enabled = True

EndSub

 

PrivateSub
split4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
split4.Click

If
lblmenit.Text = "WKTHBS!"Then

            hasil.Label8.Text = "0:00"

Else

            hasil.Label8.Text = Str(menit) + ":" + lbldetik.Text

EndIf

        split4.Enabled = False

        na4.ForeColor = Color.Azure

EndSub

 

PrivateSub
split2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
split2.Click

If
lblmenit.Text = "WKTHBS!"Then

            hasil.Label4.Text = "0:00"

Else

            hasil.Label4.Text = Str(menit) + ":" + lbldetik.Text

EndIf

        split2.Enabled = False

        na2.ForeColor = Color.Azure

EndSub

 

PrivateSub
split3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
split3.Click

If
lblmenit.Text = "WKTHBS!"Then

            hasil.Label6.Text = "0:00"

Else

            hasil.Label6.Text = Str(menit) + ":" + lbldetik.Text

EndIf

        split3.Enabled = False

        na3.ForeColor = Color.Azure

EndSub

 

PrivateSub
split5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
split5.Click

If
lblmenit.Text = "WKTHBS!"Then

            hasil.Label10.Text = "0:00"

Else

            hasil.Label10.Text = Str(menit) + ":" + lbldetik.Text

EndIf

        split5.Enabled = False

        na5.ForeColor = Color.Azure

EndSub

 

 

EndClass

 

Lumayan beribet, oke deh dicoba dijelasin dikit-dikit:

         
Jadi untuk tombol-tombol yang berisi nama
peserta dinamakan dengan split1, split2, split 3, dst.

         
Untuk si component timernya dinamakan timerdetik
karena emang perdetik timer ini berdetaknya.

         
Form sebelumnya dinamakan form awal

         
Form berikutnya dinamakan form hasil

         
Untuk tombol-tombol yang di sisi layar proyektor
yang berisi nama masing-masing peserta dinamakan dengan na1, na2, na3, dst

         
Timernya ditampilkan menggunakan text dinamakan
dengan lblmenit dan lbldetik

We need your comment here. Please leave it below.

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: