Baiklah, sekarang saatnya mencoba projek besar... Yaitu Timing shutdown! Program berbasis vb ini dapat berfungsi untuk memberi waktu agar Windows dapat shutdown dalam jangka waktu yang ditentukan. Misal: 1 jam, berarti jika Anda lupa mematikannya 1 jam lagi komputer Anda akan shutdown. Tetapi jangan khawatir, juga ada fungsi Cancelnya...
Kategori: Visual Basic
Tingkat: Sedang
Waktu: 30-60 Menit
PENTING!
Dasar dari program yang kita buat adalah Shell, yaitu memanggil fungsi Windows yang ada pada System32.
Melalui shell, kita bisa memanggil berbagai program Windows yang ada pada System32.
Misal: Shell "msconfig"
Maka Begitu perintah ini dijalankan, Windows akan membuka msconfig.
Khusus pada masalah Shutdown, kita harus memakai kode khusus, yaitu
shell ("shutdown -s -f -t [berapa detik]")
Misal Shell ("Shutdown -s -f -t 3600") artinya shutdown akan dilakukan 3600 detik (1 jam) lagi.
-s artinya shutdown, kalau restart memakai -r
-f artinya force, yaitu shutdwn/restart dilakukan secara paksa
-t yaitu waktu, time untuk shutdown/restart
Baiklah, mari kita mulai
1. Buatlah projek baru
2. Di form, buatlah:
- 3 Text Box
- 4 Command Button (3 Juga boleh, Exit dihilangkan)
- 7 Label
*Jangan sampai salah! Yang lain terserah
Susunan sesuka Anda
3. Masuk ke Tempat menulis kode, dengan meng-klik cmdshutdown 2 kali (yang lain juga boleh)
4. Di bagian paling atas, tempat
Public Class Form1
Tuliskan kode
Dim jam, menit, detik As String
dibawahnya.
Maksudnya menentukan nilai jam, menit, dan detik sebagai string (Ini agar program nanti tidak terlalu berat)
5. Sekarang isi kode untuk txtjan, cara:
Ubah Form1 menjadi txtjam dan (Declarations) menjadi TextChanged
6 Maka akan muncul text baru
Private Sub txtjam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjam.TextChanged
End Sub
7. Isikan kode ini di dalamnya
jam = txtjam.Text
menit = txtmenit.Text
detik = txtdetik.Text
lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
Maksud:
- TextChanged (Setiap kali Text pada txtjam kita ubah, kode ini akan dipanggil )
- jam = txtjam.Text (Variabel jam = Val (Value/Nilai) txtjam.text)
- .Text = Isi Text yang ada pada object yang dipilih
- Val = Value, atau Nilai dari Text.
- Kenapa *3600 dan *60? Itu artinya dikali 3600 karena shell ini memakai detik. (1 jam = 3600 Detik)
- Apa fungsi &? untuk menyambungkan, misal "Apa" & "Kabar", Hasilnya akan menjadi "Apa Kabar"
- Kenapa harus pakai lblshutdown? Karena shell hanya akan menerima 1 text tanpa &, sedangkan kita membutuhkan & untuk menentukan waktunya, agar waktunya dapat kita ubah-ubah. Jadi kita memakai lblshutdown agar nantinya akan menjadi 1 text tanpa & ntuk dipakaikan pada shell.
8. Buatlah kode untuk menit dan detik, kodenya sama, yaitu
jam = txtjam.Text
menit = txtmenit.Text
detik = txtdetik.Text
lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
9. Sekarang saatnya memasukkan kode pada Command Button.
Isikan kode ini pada Command Button Shutdown
If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
MsgBox("You can't set more than 24 hours")
Else
Shell(lblshutdown.Text)
End If
dan kode ini pada Command Button Restart
If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
MsgBox("You can't set more than 24 hours")
Else
Shell(lblrestart.Text)
End If
Maksud:
- Kenapa memakai If? Karena Kode Shell ini tidak akan berjalan jika waktu yang kita isi lebih dari 24 jam
- Karena itu jika kita memasukkan waktu lebih dari 24 jam akan muncul message box
- Jika kurang dari 24 jam kode akan dijalankan
10. Sekarang Masukkan kode ini untuk Command Button Cancel
Shell("shutdown -a")
Fungsi kode ini adalah untuk membatalkan perintah kita sebelumnya.
11. Isi kode ini untuk Command Button Exit
Me.Close()
Maksudnya untuk keluar dari program kita.
12. Selesai! Sekianlah kode2nya yang banyak juga, secara keseluruhan adalah seperti ini:
Public Class Form1
Dim jam, menit, detik As String
Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click
Shell("shutdown -a")
End Sub
Private Sub btnshutdown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnshutdown.Click
If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
MsgBox("You can't set more than 24 hours")
Else
Shell(lblshutdown.Text)
End If
End Sub
Private Sub txtjam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjam.TextChanged
jam = txtjam.Text
menit = txtmenit.Text
detik = txtdetik.Text
lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
End Sub
Private Sub txtmenit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtmenit.TextChanged
jam = txtjam.Text
menit = txtmenit.Text
detik = txtdetik.Text
lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
End Sub
Private Sub txtdetik_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtdetik.TextChanged
jam = txtjam.Text
menit = txtmenit.Text
detik = txtdetik.Text
lblshutdown.Text = "shutdown -s -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
lblrestart.Text = "shutdown -r -f -t " & ((Val(jam) * 3600) + (Val(menit) * 60) + (Val(detik)))
End Sub
Private Sub btnrestart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnrestart.Click
If Val(txtjam.Text) * 3600 + Val(txtmenit.Text) * 60 + Val(txtdetik.Text) > "86400" Then
MsgBox("You can't set more than 24 hours")
Else
Shell(lblrestart.Text)
End If
End Sub
Private Sub btnexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnexit.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Shell("msconfig.exe")
End Sub
End Class
13. Sekarang Saatnya menghias, hiaslah sesuka Anda.
- Agar lblshutdown dan lblrestart tidak memenuhi program kita, kita bisa membuatnya jadi unvisible, edit saja di properties.
- Anda juga bisa membuat Backgroundnya dengan cara me-klik bagian form, lalu di bagian properties ada bagian Background.
*Ingat! Sebaiknya kasih Background yang ringan, karena jika tidak program akan lambat dan memakan RAM banyak.
Anda juga bisa meng-edit properties lainnya dengan meng-klik properties pada
Bagian Judul, yaitu klik kanan>properties
Anda bisa mengubah iconnya juga.
Maka Hasil Akhirnya akan menjadi seperti ini:
Saat Dijalankan, akan muncul pemberitahuan, setiap versi Windows berbeda-beda, misalnya
Pada Windows 7
Dan saat dibatalkan
Tolong beri komentar ya.. Terima Kasih
2 komentar:
Bagus sekali
wow..
fantastic
Posting Komentar
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.