Minggu, 05 Juni 2011

MEMBUAT SCHEDULE TASK DENGAN VISUAL BASIC

Schedule? Iyup.. jadi si program kita rencanakan akan berjalan selama yang kita inginkan dan setelah waktu habis program akan menutup sendiri dan digantikan dengan program berikutnya, setelah program ketiga berjalan dan menempuh waktu yang sudah ditentukan maka akan menutup dan berganti program berikutnya, setelah sampai pada program akhirpun akan kembali memanggil program pertama dan seterusnya sampe bosen :D. project ini bisa dimodifikasi sesuai dengan kebutuhan masing-masing, mau yang berdasarkan waktu juga bisa, misal jam 3:30 Program notepad berjalan dan matinya jam 4.30, project ini bisa mengarah ke situ, karena didalamnya ada database maka penjadwalan bisa permanen, bisa ditambah atau dikurangi sesuai dengan kebutuhan masing-masing.
Pada tutorial kali ini tidak akan dijelaskan satu persatu soalnya banyak banget bakal panjang, saya Cuma menjelaskan beberapa fungsinya saja, yuk langsung saja lihat program saat di runtime:

Saya menyimpan beberapa data program di dalam database yang nantinya bisa ditambahkan sesuai dengan kebutuhan, ada 4 program terlihat di sana dimana ini merupakan link menuju masing – masing program, ini harus diisi secara akurat dan saya sudah memberikan command Buka untuk mencapai ke sebuah program, nah untuk TITTLE PROGRAM anda bisa melihat judul yang ada diatas semua program yang berjalan, ingat setting windows akan ikut mempengaruhi bisa ngganya sebuah program tertutup, jika extensi pada folder option dimunculkan maka di tittle pun harus ada, contohnya: contoh.txt – notepad dan contoh – notepad, ini akan mempengaruhi, lihat baik-baik jangan sampai salah, jika salah menuliskan TITTLE PROGRAM maka program VBnya yang akan menutup. Terus ada waktu, ini menunjukan berapa menit propgram tersebut akan berjalan?
Mungkin para pembaca sudah mengerti semua dan tinggal mencobanya saja, mungkin ada beberapa bug dalam program ini silahkan diperbaiki, secara keseluruhan saya sudah mencobanya dan berhasil sampai beberapa kali putaran dari pertama sampai ke empat balik lagi dan seterusnya.
Project terdiri dari:
4 textbox : 1 FlexGrid : 1 Timer : 1 Common dialog : dan beberapa label,
Berikut adalah sourcenya:
'Visit us as www.semesta-abu.co.nr
'Terima kasih sudah mencoba program ini
'mohon tidak dihapus properti ini
Dim RsData As New ADODB.Recordset
Private Declare Function ShellExecute _
    Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation _
    As String, ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
Dim X As String
   Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
   Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Private Const WM_QUIT = &H12
Sub link()
Dim link As Long
link = ShellExecute(0, vbNullString, Grid.TextMatrix(Val(TPatokan.Text), 1), "", "", vbNormalFocus)
End Sub
Sub TTutup()
Dim sTitle As String
     Dim iHwnd As Long
     Dim ihTask As Long
     Dim iReturn As Long
     On Error Resume Next
     sTitle = Grid.TextMatrix((Val(TPatokan.Text)), 2)
     iHwnd = FindWindow(0&, sTitle)
     iReturn = PostMessage(iHwnd, WM_QUIT, 0&, 0&)
End Sub
Private Sub Command1_Click()
dialog.ShowOpen
Text1.Text = dialog.FileName
End Sub

Private Sub Command2_Click()
Set RsData = New ADODB.Recordset
RsData.LockType = adLockOptimistic
RsData.Open "select * from tbprogram", Hubungkan
RsData.AddNew
RsData!lokasi = Text1.Text
RsData!tittle = Text2.Text
RsData!waktu = Text3.Text
RsData.Update
Form_Load
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
MsgBox "Data berhasil dimasukan", vbInformation, "Sukses"
End Sub

Private Sub Command3_Click()
If Timer1.Enabled = True Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
If TPatokan.Text = "1" Then Call link
End If
End Sub
Private Sub Command6_Click()
MsgBox Grid.Rows - 1
End Sub
Private Sub Form_Load()
HubungkanDATA
Set RsData = New ADODB.Recordset
RsData.LockType = adLockOptimistic
RsData.Open "select * from Tbprogram", Hubungkan
create_kolom
For i = 1 To RsData.RecordCount
        Grid.TextMatrix(i, 0) = i
        Grid.TextMatrix(i, 1) = RsData!lokasi
        Grid.TextMatrix(i, 2) = RsData!tittle
        Grid.TextMatrix(i, 3) = RsData!waktu
                RsData.MoveNext
        Grid.AddItem ""
Next i
End Sub
Sub create_kolom()
  With Grid
    .Clear
    .FormatString = "NO |LOKASI PROGRAM | TITTLE PROGRAM | WAKTU"
    .ColWidth(0) = 400: .ColWidth(1) = 5700
    .ColWidth(2) = 2900: .ColWidth(3) = 1000
    .Rows = 2
    .RowHeight(0) = 400
  End With
End Sub
Private Sub Timer1_Timer()
Label5.Caption = Val(Label5.Caption) + 1
If Label5.Caption = 60 Then
    LbWaktu.Caption = Val(LbWaktu.Caption) + 1
    Label5.Caption = "0"
End If
If Me.LbWaktu.Caption = Grid.TextMatrix(Val(TPatokan.Text), 3) Then
    TTutup
    TPatokan.Text = Val(TPatokan.Text) + 1
    Call link
    LbWaktu.Caption = "0"
   End If
End Sub
Private Sub TPatokan_Change()
If Val(Me.TPatokan.Text) = Grid.Rows - 1 Then Me.TPatokan.Text = "1"
End Sub

Sudahlah tidak usah berpikir membuat projectnya sendiri, download aja disini dan kembangkan, semoga bermanfaat.


Tidak ada komentar: