home *** CD-ROM | disk | FTP | other *** search
- VERSION 5.00
- Begin VB.Form ReadNum
- Caption = "Read Numbers"
- ClientHeight = 1350
- ClientLeft = 1140
- ClientTop = 1470
- ClientWidth = 3135
- LinkTopic = "PlayWave"
- PaletteMode = 1 'UseZOrder
- ScaleHeight = 1350
- ScaleWidth = 3135
- Begin VB.CommandButton Play
- Caption = "Read Numbers"
- Height = 615
- Left = 480
- TabIndex = 0
- Top = 360
- Width = 2175
- End
- Attribute VB_Name = "ReadNum"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Option Explicit
- Private Declare Function mciSendStringA Lib "WinMM" _
- (ByVal mciCommand As String, ByVal returnStr As String, _
- ByVal returnLength As Integer, ByVal callBack As Integer) As Long
- Private Declare Function mciGetErrorStringA Lib "WinMM" _
- (ByVal error As Long, ByVal buffer As String, _
- ByVal length As Integer) As Integer
-
- Private Sub ReadSingle(number)
- Dim errorCode As Integer
- Dim returnStr As Integer
- Dim returnCode As Integer
- Dim errorStr As String * 256
- If number = 1 Then
- errorCode = mciSendStringA("play numbers from 500 to 1500 wait", returnStr, 255, 0)
- ElseIf number = 2 Then
- errorCode = mciSendStringA("play numbers from 1500 to 2500 wait", returnStr, 255, 0)
- ElseIf number = 3 Then
- errorCode = mciSendStringA("play numbers from 2500 to 3500 wait", returnStr, 255, 0)
- ElseIf number = 4 Then
- errorCode = mciSendStringA("play numbers from 3500 to 4500 wait", returnStr, 255, 0)
- ElseIf number = 5 Then
- errorCode = mciSendStringA("play numbers from 4500 to 5500 wait", returnStr, 255, 0)
- ElseIf number = 6 Then
- errorCode = mciSendStringA("play numbers from 5500 to 6500 wait", returnStr, 255, 0)
- ElseIf number = 7 Then
- errorCode = mciSendStringA("play numbers from 6500 to 7500 wait", returnStr, 255, 0)
- ElseIf number = 8 Then
- errorCode = mciSendStringA("play numbers from 7500 to 8500 wait", returnStr, 255, 0)
- ElseIf number = 9 Then
- errorCode = mciSendStringA("play numbers from 8500 to 9500 wait", returnStr, 255, 0)
- ElseIf number = 10 Then
- errorCode = mciSendStringA("play numbers from 9500 to 10500 wait", returnStr, 255, 0)
- ElseIf number = 11 Then
- errorCode = mciSendStringA("play numbers from 10500 to 11500 wait", returnStr, 255, 0)
- ElseIf number = 12 Then
- errorCode = mciSendStringA("play numbers from 11500 to 12500 wait", returnStr, 255, 0)
- ElseIf number = 13 Then
- errorCode = mciSendStringA("play numbers from 12500 to 13500 wait", returnStr, 255, 0)
- ElseIf number = 14 Then
- errorCode = mciSendStringA("play numbers from 13500 to 14500 wait", returnStr, 255, 0)
- ElseIf number = 15 Then
- errorCode = mciSendStringA("play numbers from 14500 to 15500 wait", returnStr, 255, 0)
- ElseIf number = 16 Then
- errorCode = mciSendStringA("play numbers from 15500 to 16500 wait", returnStr, 255, 0)
- ElseIf number = 17 Then
- errorCode = mciSendStringA("play numbers from 16500 to 17500 wait", returnStr, 255, 0)
- ElseIf number = 18 Then
- errorCode = mciSendStringA("play numbers from 17500 to 18500 wait", returnStr, 255, 0)
- ElseIf number = 19 Then
- errorCode = mciSendStringA("play numbers from 18500 to 19500 wait", returnStr, 255, 0)
- End If
- End Sub
- Private Sub ReadTenths(number)
- Dim errorCode As Integer
- Dim returnStr As Integer
- Dim returnCode As Integer
- Dim errorStr As String * 256
- If number = 20 Then
- errorCode = mciSendStringA("play numbers from 20000 to 20500 wait", returnStr, 255, 0)
- ElseIf number = 30 Then
- errorCode = mciSendStringA("play numbers from 21000 to 21500 wait", returnStr, 255, 0)
- ElseIf number = 40 Then
- errorCode = mciSendStringA("play numbers from 22000 to 22500 wait", returnStr, 255, 0)
- ElseIf number = 50 Then
- errorCode = mciSendStringA("play numbers from 23000 to 23500 wait", returnStr, 255, 0)
- ElseIf number = 60 Then
- errorCode = mciSendStringA("play numbers from 24000 to 24700 wait", returnStr, 255, 0)
- ElseIf number = 70 Then
- errorCode = mciSendStringA("play numbers from 25000 to 25700 wait", returnStr, 255, 0)
- ElseIf number = 80 Then
- errorCode = mciSendStringA("play numbers from 26100 to 26700 wait", returnStr, 255, 0)
- ElseIf number = 90 Then
- errorCode = mciSendStringA("play numbers from 27400 to 27900 wait", returnStr, 255, 0)
- End If
- End Sub
- 'This is the routine to read numbers
- Private Sub ReadNum(number)
- Dim errorCode As Integer
- Dim returnStr As Integer
- Dim returnCode As Integer
- Dim errorStr As String * 256
- Dim tenth As Integer
- Dim leftover As Integer
- Dim hundred As Integer
- Dim thousand As Integer
-
- If number < 20 Then 'Reads unique numbers
- ReadSingle (number)
- ElseIf number < 100 Then 'Reads numbers less than 100
- tenth = Fix(number / 10)
- ReadTenths (tenth * 10)
- leftover = number - (tenth * 10)
- If leftover > 0 Then
- ReadSingle (leftover)
- End If
- ElseIf number < 1000 Then 'Reads numbers between 100 and 999
-
- hundred = Fix(number / 100)
- ReadSingle (hundred)
- errorCode = mciSendStringA("play numbers from 28500 to 28900 wait", returnStr, 255, 0)
- leftover = number - (hundred * 100)
- If leftover > 0 Then
- tenth = Fix(leftover / 10)
- If tenth > 0 Then ReadTenths (tenth * 10)
- leftover = number - (hundred * 100) - (tenth * 10)
- If leftover > 0 Then
- ReadSingle (leftover)
- End If
- End If
- Else 'Reads number between 1000 and 9999
- thousand = Fix(number / 1000)
- ReadSingle (thousand)
- errorCode = mciSendStringA("play numbers from 29500 to 30100 wait", returnStr, 255, 0)
- leftover = number - (thousand * 1000)
- If leftover > 0 Then
- hundred = Fix(leftover / 100)
- If hundred > 0 Then
- ReadSingle (hundred)
- errorCode = mciSendStringA("play numbers from 28500 to 28900 wait", returnStr, 255, 0)
- End If
- leftover = number - (thousand * 1000) - (hundred * 100)
- If leftover > 0 Then
- tenth = Fix(leftover / 10)
- If tenth > 0 Then ReadTenths (tenth * 10)
- leftover = number - (thousand * 1000) - (hundred * 100) - (tenth * 10)
- If leftover > 0 Then
- ReadSingle (leftover)
- End If
- End If
- End If
- End If
- End Sub
- Private Sub Play_Click()
- Dim errorCode As Integer
- Dim returnStr As Integer
- Dim returnCode As Integer
- Dim errorStr As String * 256
- Dim number As Long
- 'Open file numbers.txt
-
- errorCode = mciSendStringA("open numbers.wav type waveaudio alias numbers", _
- returnStr, 255, 0)
- returnCode = mciGetErrorStringA(errorCode, errorStr, 255)
-
- 'Read numbers
- Do
- number = Val(InputBox("Enter another number, 0 to end"))
- If number < 0 Or number > 9999 Then GoTo NextNumber
- ReadNum (number)
- NextNumber:
- Loop While number <> 0
- 'Close audio
- errorCode = mciSendStringA("close waveaudio", _
- returnStr, 255, 0)
- 'Close file
- Close #1
- End Sub
-