Membuat Penunjuk Waktu Dengan File Suara Pada Visual Basic 6.0

Custom Search
Iseng-iseng buat project penunjuk waktu yuk.... tapi dilengkapi dengan suara yang akan mengucapkan jam dan menit dari waktu yang berjalan.

Pengembangan lanjut dari project seperti ini bisa kita lihat pada bank-bank umum atau rumah sakit yang menerapkan sistem antrian yang terkomputerisasi, dimana customer atau pasien akan diberi no. urut dan akan dipanggil berdasarkan no. urut tersebut, tentu anda pernah melihat hal seperti ini bukan.

Sekarang kita kembali ke project penunjuk waktu, Sebelum memulai pembuatan project anda harus mempersiapkan file-file suara yang mengucapkan kata-kata berikut ini :
LEBIH
MENIT
PUKUL

1...59

Setelah anda selesai merekam file-file pendukung yang diperlukan, kita bisa lanjutkan dengan membuat projectnya, buat sebuah project baru (Standard.exe), tempatkan sebuah label dengan ukuran font : 24 style : Bold, command button dengan caption : "Bicara", dan sebuah Timer dengan nilai Interval : 1000

Klik menu View -> Code dan masukkan kode dibawah ini
Private Declare Function SndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Dim p As String
Dim suara(1 To 59) As String
Dim pukul As String
Dim menit As String
Dim lebih As String

Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim index As Integer

SndPlaySound pukul, 0

a = Val(Mid$(Time$, 1, 2))
b = Val(Mid$(Time$, 4, 2))

If b = 0 Then
    If a > 0 And a <= 12 Then
        SndPlaySound suara(a), 0
    Else
        SndPlaySound suara(a - 12), 0
    End If
    Exit Sub
End If

SndPlaySound suara(a), 0
SndPlaySound lebih, 0
SndPlaySound suara(b), 0
SndPlaySound menit, 0
End Sub

Private Sub Timer1_Timer()
Label1 = Time$
End Sub

Private Sub Form_Load()
Label1 = Time$
p = App.Path + "\Sound\"
Bicara
End Sub

Private Sub Bicara()
pukul = p + "pukul.wav"
lebih = p + "lebih.wav"
menit = p + "menit.wav"
suara(1) = p + "1.wav"
suara(2) = p + "2.wav"
suara(3) = p + "3.wav"
suara(4) = p + "4.wav"
suara(5) = p + "5.wav"
suara(6) = p + "6.wav"
suara(7) = p + "7.wav"
suara(8) = p + "8.wav"
suara(9) = p + "9.wav"
suara(10) = p + "10.wav"
suara(11) = p + "11.wav"
suara(12) = p + "12.wav"
suara(13) = p + "13.wav"
suara(14) = p + "14.wav"
suara(15) = p + "15.wav"
suara(16) = p + "16.wav"
suara(17) = p + "17.wav"
suara(18) = p + "18.wav"
suara(19) = p + "19.wav"
suara(20) = p + "20.wav"
suara(21) = p + "21.wav"
suara(22) = p + "22.wav"
suara(23) = p + "23.wav"
suara(24) = p + "24.wav"
suara(25) = p + "25.wav"
suara(26) = p + "26.wav"
suara(27) = p + "27.wav"
suara(28) = p + "28.wav"
suara(29) = p + "29.wav"
suara(30) = p + "30.wav"
suara(31) = p + "31.wav"
suara(32) = p + "32.wav"
suara(33) = p + "33.wav"
suara(34) = p + "34.wav"
suara(35) = p + "35.wav"
suara(36) = p + "36.wav"
suara(37) = p + "37.wav"
suara(38) = p + "38.wav"
suara(39) = p + "39.wav"
suara(40) = p + "40.wav"
suara(41) = p + "41.wav"
suara(42) = p + "42.wav"
suara(43) = p + "43.wav"
suara(44) = p + "44.wav"
suara(45) = p + "45.wav"
suara(46) = p + "46.wav"
suara(47) = p + "47.wav"
suara(48) = p + "48.wav"
suara(49) = p + "49.wav"
suara(50) = p + "50.wav"
suara(51) = p + "51.wav"
suara(52) = p + "52.wav"
suara(53) = p + "53.wav"
suara(54) = p + "54.wav"
suara(55) = p + "55.wav"
suara(56) = p + "56.wav"
suara(57) = p + "57.wav"
suara(58) = p + "58.wav"
suara(59) = p + "59.wav"
End Sub

Perhatikan pada procedure Form_Load pada baris p = App.Path + "\Sound\" pada contoh tersebut saya meletakkan seluruh file-file suara kedalam folder Sound anda bisa menggunakan folder dengan nama yang lain dan sesuaikan baris kode p = App.Path + "\Sesuai nama folder anda\"

Jalankan project (tekan F5), dan lihat hasil nya, jika anda belum sempat merekam suara untuk file-file pendukung tersebut, silahkan anda klik disini untuk mendownload project beserta file-file suara pendukungnya, tapi harap maklum file-file suara tersebut adalah suara saya sendiri yang saya rekam tentu saja hasilnya kurang memuaskan hehehe...

Selamat mencoba.

Related Posts:

    Membuat Fungsi Terbilang Desimal Indonesia Pada Visual Basic 6.0

    Custom Search
    Fungsi berikut ini merupakan salah satu fungsi yang sering digunakan untuk pembuatan sebuah project seperti program Sales dan Inventory, karena biasanya program tersebut harus dapat menghasilkan tanda bukti transaksi.

    Buka sebuah project baru (Standard.Exe), pada Form1 letakkan 2 buah textbox untuk properti Name biarkan dengan nama standarnya.

    Masuk ke mode editor, klik View -> Code, dan masukkan kode berikut ini :
    Public Function TerbilangDesimal(InputCurrency As String, Optional MataUang As String = "rupiah") As String
     Dim strInput As String
     Dim strBilangan As String
     Dim strPecahan As String
       On Error GoTo Pesan
       Dim strValid As String, huruf As String * 1
       Dim i As Integer
       'Periksa setiap karakter yg diketikkan ke kotak
       'UserID
       strValid = "1234567890,"
       For i% = 1 To Len(InputCurrency)
         huruf = Chr(Asc(Mid(InputCurrency, i%, 1)))
         If InStr(strValid, huruf) = 0 Then
           Set AngkaTerbilang = Nothing
           MsgBox "Harus karakter angka!", _
                  vbCritical, "Karakter Tidak Valid"
           Exit Function
         End If
       Next i%

     If InputCurrency = "" Then Exit Function
     If Len(Trim(InputCurrency)) > 15 Then GoTo Pesan

     strInput = CStr(InputCurrency) 'Konversi ke string
     'Periksa apakah ada tanda "," jika ya berarti pecahan
     If InStr(1, strInput, ",", vbBinaryCompare) Then
         
      strBilangan = Left(strInput, InStr(1, strInput, _
                    ",", vbBinaryCompare) - 1)
      'strBilangan = Right(strInput, InStr(1, strInput, _
      '              ".", vbBinaryCompare) - 2)
      strPecahan = Trim(Right(strInput, Len(strInput) - Len(strBilangan) - 1))
     
      If MataUang <> "" Then
         
      If CLng(Trim(strPecahan)) > 99 Then
         strInput = Format(Round(CDbl(strInput), 2), "#0.00")
         strPecahan = Format((Right(strInput, Len(strInput) - Len(strBilangan) - 1)), "00")
        End If
       
        If Len(Trim(strPecahan)) = 1 Then
           strInput = Format(Round(CDbl(strInput), 2), _
                      "#0.00")
           strPecahan = Format((Right(strInput, _
              Len(strInput) - Len(strBilangan) - 1)), "00")
        End If
       
        If CLng(Trim(strPecahan)) = 0 Then
        TerbilangDesimal = (KonversiBilangan(strBilangan) & MataUang & " " & KonversiBilangan(strPecahan))
     Else
      TerbilangDesimal = (KonversiBilangan(strBilangan) & MataUang & " " & KonversiBilangan(strPecahan) & "sen")
        End If
      Else
        TerbilangDesimal = (KonversiBilangan(strBilangan) & "koma " & KonversiPecahan(strPecahan))
      End If
     
     Else
        TerbilangDesimal = (KonversiBilangan(strInput))
      End If
     Exit Function
    Pesan:
      TerbilangDesimal = "(maksimal 15 digit)"
    End Function
    'Fungsi ini untuk mengkonversi nilai pecahan (setelah 'angka 0)
    Private Function KonversiPecahan(strAngka As String) As String
    Dim i%, strJmlHuruf$, Urai$, Kar$
     If strAngka = "" Then Exit Function
        strJmlHuruf = Trim(strAngka)
        Urai = ""
        Kar = ""
        For i = 1 To Len(strJmlHuruf)
          'Tampung setiap satu karakter ke Kar
          Kar = Mid(strAngka, i, 1)
          Urai = Urai & Kata(CInt(Kar))
        Next i
        KonversiPecahan = Urai
    End Function
    'Fungsi ini untuk menterjemahkan setiap satu angka ke 'kata
    Private Function Kata(angka As Byte) As String
       Select Case angka
              Case 1: Kata = "satu "
              Case 2: Kata = "dua "
              Case 3: Kata = "tiga "
              Case 4: Kata = "empat "
              Case 5: Kata = "lima "
              Case 6: Kata = "enam "
              Case 7: Kata = "tujuh "
              Case 8: Kata = "delapan "
              Case 9: Kata = "sembilan "
              Case 0: Kata = "nol "
       End Select
    End Function
    'Ini untuk mengkonversi nilai bilangan sebelum pecahan
    Private Function KonversiBilangan(strAngka As String) As String
    Dim strJmlHuruf$, intPecahan As Integer, strPecahan$, Urai$, Bil1$, strTot$, Bil2$
     Dim X, Y, z As Integer

     If strAngka = "" Then Exit Function
        strJmlHuruf = Trim(strAngka)
        X = 0
        Y = 0
        Urai = ""
        While (X < Len(strJmlHuruf))
          X = X + 1
          strTot = Mid(strJmlHuruf, X, 1)
          Y = Y + Val(strTot)
          z = Len(strJmlHuruf) - X + 1
          Select Case Val(strTot)
          'Case 0
           '   Bil1 = "NOL "
          Case 1
              If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then
                  Bil1 = "satu "
              ElseIf (z = 4) Then
                  If (X = 1) Then
                      Bil1 = "se"
                  Else
                      Bil1 = "satu "
                  End If
              ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
                  X = X + 1
                  strTot = Mid(strJmlHuruf, X, 1)
                  z = Len(strJmlHuruf) - X + 1
                  Bil2 = ""
                  Select Case Val(strTot)
                  Case 0
                      Bil1 = "sepuluh "
                  Case 1
                      Bil1 = "sebelas "
                  Case 2
                      Bil1 = "dua belas "
                  Case 3
                      Bil1 = "tiga belas "
                  Case 4
                      Bil1 = "empat belas "
                  Case 5
                      Bil1 = "lima belas "
                  Case 6
                      Bil1 = "enam belas "
                  Case 7
                      Bil1 = "tujuh belas "
                  Case 8
                      Bil1 = "delapan belas "
                  Case 9
                      Bil1 = "sembilan belas "
                  End Select
              Else
                  Bil1 = "se"
              End If
         
          Case 2
              Bil1 = "dua "
          Case 3
              Bil1 = "tiga "
          Case 4
              Bil1 = "empat "
          Case 5
              Bil1 = "lima "
          Case 6
              Bil1 = "enam "
          Case 7
              Bil1 = "tujuh "
          Case 8
              Bil1 = "delapan "
          Case 9
              Bil1 = "sembilan "
          Case Else
              Bil1 = ""
          End Select
          
          If (Val(strTot) > 0) Then
             If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
                Bil2 = "puluh "
             ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then
                Bil2 = "ratus "
             Else
                Bil2 = ""
             End If
          Else
             Bil2 = ""
          End If
          If (Y > 0) Then
              Select Case z
              Case 4
                  Bil2 = Bil2 + "ribu "
                  Y = 0
              Case 7
                  Bil2 = Bil2 + "juta "
                  Y = 0
              Case 10
                  Bil2 = Bil2 + "milyar "
                  Y = 0
              Case 13
                  Bil2 = Bil2 + "trilyun "
                  Y = 0
              End Select
          End If
          Urai = Urai + Bil1 + Bil2
      Wend
      KonversiBilangan = Urai
    End Function
    Private Sub Text1_Change()  'Isi besar nilai angka diulangi 'dengan terbilang huruf...
    Text2.Text = TerbilangDesimal(Text1.Text)
    End Sub

    Jalankan project (tekan F5) dan coba anda masukkan beberapa nilai angka kedalam textbox yang pertama, maka pada textbox yang kedua akan menghasilkan kalimat terbilang dari jumlah nilai angka yang anda masukkan.

    Selamat mencoba.

    Be My Friend On Facebook

    Related Posts:

      Membuat Fungsi Awal Kata Menjadi Huruf Besar Pada Visual Basic 6.0

      Custom Search
      Postingan pertama pada bulan ini, apa kabar semuanya, sedikit basa-basi pastilah tidak akan merugikan anda, hehe..., untuk postingan kali ini kita akan bahas sebuah fungsi yang dapat merubah setiap huruf awal pada sebuah kata menjadi huruf besar atau capslock.

      Buka sebuah project baru (Standard.Exe), pada Form1 tambahkan sebuah textbox lalu set properti Height dan Width dengan ukuran yang agak besar pastikan properti Multiline anda set menjadi True, agar textbox nya bisa diperlebar sampai kebawah, dan biarkan properti Name sesuai dengan nama standarnya.

      Sekarang mari kita berpindah ke mode editor, klik View -> Code, dan masukkan code berikut ini :
      Public Function AwalKataKapital(strKalimat As String)
      Dim i As Integer
      Dim Temp As String
      Dim Lokasi As Integer
      Dim huruf As String * 1
        Temp$ = ""
        For i% = 1 To Len(strKalimat)
          huruf = Chr(Asc(Mid(strKalimat, i%, 1)))
          If Len(Trim(huruf)) < 1 Then
            Lokasi% = i% + 1
          End If
          If i% = Lokasi% Or i% = 1 Then
             Temp$ = Temp$ + UCase(Chr(Asc(Mid(strKalimat, _
                     i%, 1))))
          Else
             Temp$ = Temp$ + LCase(Chr(Asc(Mid(strKalimat, _
                      i%, 1))))
          End If
        Next i
        AwalKataKapital = Temp$
      End Function
      Private Sub Text1_Change()
        Dim posisi As Integer
        posisi = Text1.SelStart
        Text1.Text = AwalKataKapital(Text1.Text)
        Text1.SelStart = posisi
      End Sub
      Tekan F5 untuk menjalankan project, coba anda ketikkan beberapa kata pada textbox yang telah kita sediakan, maka setiap huruf awal pada kata tersebut otomatis akan berubah menjadi huruf besar.

      Selamat mencoba.

      Related Posts:

        Mengenal Dan Memahami SQL Statement

        Custom Search
        Penguasaan SQL Statement merupakan syarat mutlak bagi seorang programmer, dengan memanfaatkan bahasa ini kita dapat mengolah database dari yang berukuran sangat besar sampai kecil dengan efektif dan efisien tergantung dari kemampuan kita untuk memanfaatkan perintah-perintah SQL tersebut.

        Structured Query Language (SQL) adalah bahasa database standar industri, DBMS seperti MySQL, Oracle, dan lain-lain juga merupakan Structured Query Language, didalam bahasa SQL kita akan menjumpai istilah DDL dan DML.
         
        DDL ( Data Defenition Language ), yang termasuk kedalam perintah ini adalah CREATE TABLE, CREATE INDEX, ALTER TABLE 
         
        DML ( Data Manipulation Language ), yang termasuk didalamnya adalah SELECT, INSERT, UPDATE, DELETE
         
        Oke, tanpa berpanjang lebar lagi, silahkan anda baca sendiri ebook yang saya sertakan disini, silahkan download ebook Mengenal Dan Memahami SQL Statement, dengan meng-klik disini

        Selamat Membaca.

        Related Posts:

          Belajar Dasar Pemrograman Visual Basic

          Custom Search
          Tidak sah juga jika blog ini terus membahas Pemrograman Visual Basic tanpa ada satu pun postingan nya yang mambahas dasar-dasar dari bahasa pemrograman tersebut.

          Untuk menjawab masalah tersebut disini saya memberikan salah satu ebook yang sangat menarik untuk dibaca, jumlah halaman nya juga cukup banyak, sehingga sangat membantu sekali bagi kita yang ingin benar-benar mempelajari pemrograman.

          Silahkan klik disini untuk mendownload ebook  "Belajar Dasar Pemrograman Visual Basic"

          Semoga bermanfaat untuk anda.

          Be My Friend On Facebook

          Related Posts:

            Belajar Dasar Pemrograman

            Custom Search
            Lagi bongkar-bongkar file, eh ketemu dengan artikel ini ni, yah sesuai dengan judul postingan ini "Belajar Dasar Pemrograman", apa yang disajikan disini adalah langkah-langkah dasar untuk memasuki dunia pemrograman.

            Mungkin ada dari anda yang sedang mencari referensi untuk tugas akhir kuliah, atau memang anda hobinya membaca, tidak seperti saya yang malas membaca :), atau memang anda benar-benar serius untuk belajar pemrograman, mungkin ebook ini dapat membantu anda untuk memahami dasar-dasar pemrograman.

            Langsung aja download ebook nya, klik disini untuk mendownloadnya
            Download juga ebook-ebook yang lainnya Kumpulan Ebook Gratis

            Selamat membaca.

            Related Posts:

              Membuat Multiline Tooltip Gaya Balon Pada Visual Basic 6.0

              Custom Search
              Tooltip merupakan salah satu elemen interface yang cukup penting, properti ini biasa kita gunakan untuk memberikan keterangan singkat mengenai suatu proses atau yang lainnya.

              Salah satu kelemahan yang ada pada tooltip standar pada visual basic adalah kita tidak dapat menampilkan text tooltip lebih dari satu baris, perhatikan ilustrasi berikut

              Tooltip standar pada visual basic 6.0

              Multiline Tooltip

              Untuk membuat multiline tooltip kita perlu mengakses beberapa pustaka API, tapi anda tidak perlu khawatir karena pada source code yang saya lampirkan terdapat penjelasan yang mendetail dari setiap perintah yang ada pada source code tersebut, langsung saja klik disini untuk mendownload project nya.

              Semoga bermanfaat.

              Be My Friend On Facebook

              Related Posts:

                Cara Menghilangkan Title Bar atau None BorderStyle Pada MDI Form

                Custom Search
                Ada kalanya kita menginginkan seluruh layar dapat kita modifikasi tampilannya, tanpa harus terbatasi oleh title bar atau pun status bar, jika itu yang anda ingin kan silahkan simak ulasannya berikut ini

                Pada form yang biasa hal ini tentulah sangat mudah untuk dilakukan, karena kita tinggal set didalam Properti nya BorderStyle =  0 - None, tapi lain hal nya dengan MDI Form, untuk menghilangkan Title Bar pada MDI Form kita perlu memanggil beberap fungsi API.

                Tambahlah sebuah MDI Form kedalam project melalui Project -> Add MDI Form, dan sebuah Module melalui menu Project -> Add Module

                Double klik Module1, dan ketikkan kode berikut :

                Private Declare Function GetWindowLong Lib "USER32" Alias _
                "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
                Private Declare Function SetWindowLong Lib "USER32" Alias _
                "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
                ByVal dwNewLong As Long) As Long

                Private Const GWL_STYLE = (-16)
                Private Const WS_BORDER = &H800000
                Private Const WS_CAPTION = &HC00000

                Public Sub MDINoBorder(ByRef nFormHWND As Long)
                Dim sHandle As Long
                On Error GoTo errMDINoBorder

                sHandle = GetWindowLong(nFormHWND, GWL_STYLE)
                sHandle = sHandle And Not WS_CAPTION
                SetWindowLong nFormHWND, GWL_STYLE, sHandle

                Exit Sub

                errMDINoBorder:
                MsgBox "[" & Err.Number & "] - " & Err.Description, _
                vbExclamation, "MDI No Border Error"
                End Sub

                Lalu double klik MDIForm1, dan ketikkan kode berikut :
                Private Sub MDIForm_Activate()
                MDINoBorder Me.hwnd
                End Sub

                Sebelum project kita jalan kan anda tentukan dulu StartUp Object nya berada pada MDIForm1, cara nya dari menu Project -> Project1 Properties..., dan pastikan pada opsi StartUp Object anda pilih MDIForm1

                Jalankan project dengan menekan tombol F5, dan lihat hasilnya nah sekarang MDIForm pada project anda tidak memiliki Title Bar, seluruh form milik anda, terserah mau di isi dengan apa


                Jika anda suka dengan tutorial ini jangan lupa untuk mengisikan komentar.

                Selamat mencoba.

                Be My Friend On Facebook

                Related Posts: