프로그래밍언어/VB.NET

간단한 계이름재생(Beep음)

부산딸랑이 2013. 2. 27. 07:07
계이름( syllable names ) 재생앱입니다.
앞서 찾아본 자료들로 재미삼아 만들어봤습니다 ^^;

간단히 설명을 드리자면.. Textbox1에 16진수를 입력하시고 재생하시면 됩니다~
코드보시면 아시겠지만 공백으로 인해 오류가 나게되면 0.2초 딜레이됩니다~











 Console.Beep(음높이,크기?)를 보구서

전에 하던 게임중에 연주하는 기능이 생각나 한번 만들어봣습니다.



간단히 설명드리면 textbox1의 내용만큼 for문을 돌려서 한자리 한자리 숫자를 읽고
그 숫자를 console.beep(음높이)에 대입해서 재생하는 방식입니다 
감사합니다.





 

Public Class Form1

    Public int1(20) As Long

    Private Declare Function GetTickCount Lib "kernel32" () As Long

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim text As Integer

        For i = 0 To TextBox1.Text.Length - 1

            text = dec(TextBox1.Text.Substring(i, 1))

            Try

                beep(int1(text))

            Catch ex As ArgumentException

                Wait(200)

            End Try

        Next

    End Sub

    Private Sub beep(ByVal v1 As Integer)

        Console.Beep(v1, 400)

    End Sub

    Sub Wait(ByVal cTime As Long)

        Dim sTime As Long

        sTime = GetTickCount + cTime

        Do While sTime >= GetTickCount

            Application.DoEvents()

        Loop

    End Sub

    Private Function dec(hexa As String) As Long

        dec = Val("&H" & hexa)

    End Function

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        int1(1) = (262)

        int1(2) = (294)

        int1(3) = (330)

        int1(4) = (349)

        int1(5) = (392)

        int1(6) = (440)

        int1(7) = (494)

        int1(8) = (523)

        int1(9) = (555)

        int1(10) = (591)

        int1(11) = (610)

        int1(12) = (653)

        int1(13) = (701)

        int1(14) = (755)

        int1(15) = (784)



    End Sub

End Class