Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
76
Task/Morse-code/FreeBASIC/morse-code.freebasic
Normal file
76
Task/Morse-code/FreeBASIC/morse-code.freebasic
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
' FB 1.05.0 Win64
|
||||
|
||||
' Using Beep function in Win32 API
|
||||
Dim As Any Ptr library = DyLibLoad("kernel32")
|
||||
Dim Shared beep_ As Function (ByVal As ULong, ByVal As ULong) As Long
|
||||
beep_ = DyLibSymbol(library, "Beep")
|
||||
|
||||
Sub playMorse(m As String)
|
||||
For i As Integer = 0 To Len(m) - 1
|
||||
If m[i] = 46 Then '' ascii code for dot
|
||||
beep_(1000, 250)
|
||||
Else '' must be ascii code for dash (45)
|
||||
beep_(1000, 750)
|
||||
End If
|
||||
Sleep 50
|
||||
Next
|
||||
Sleep 150
|
||||
End Sub
|
||||
|
||||
Dim morse(0 To 35) As String => _
|
||||
{ _
|
||||
".-", _ '' a
|
||||
"-...", _ '' b
|
||||
"-.-.", _ '' c
|
||||
"-..", _ '' d
|
||||
".", _ '' e
|
||||
"..-.", _ '' f
|
||||
"--.", _ '' g
|
||||
"....", _ '' h
|
||||
"..", _ '' i
|
||||
".---", _ '' j
|
||||
"-.-", _ '' k
|
||||
".-..", _ '' l
|
||||
"--", _ '' m
|
||||
"-.", _ '' n
|
||||
"---", _ '' o
|
||||
".--.", _ '' p
|
||||
"--.-", _ '' q
|
||||
".-.", _ '' r
|
||||
"...", _ '' s
|
||||
"-", _ '' t
|
||||
"..-", _ '' u
|
||||
"...-", _ '' v
|
||||
".--", _ '' w
|
||||
"-..-", _ '' x
|
||||
"-.--", _ '' y
|
||||
"--..", _ '' z
|
||||
"-----", _ '' 0
|
||||
".----", _ '' 1
|
||||
"..---", _ '' 2
|
||||
"...--", _ '' 3
|
||||
"....-", _ '' 4
|
||||
".....", _ '' 5
|
||||
"-....", _ '' 6
|
||||
"--...", _ '' 7
|
||||
"---..", _ '' 8
|
||||
"----." _ '' 9
|
||||
}
|
||||
|
||||
Dim s As String = "The quick brown fox"
|
||||
For i As Integer = 0 To Len(s) -1
|
||||
Select Case As Const s[i]
|
||||
Case 65 To 90 '' A - Z
|
||||
playMorse(morse(s[i] - 65))
|
||||
Case 97 To 122 '' a - z
|
||||
playMorse(morse(s[i] - 97))
|
||||
Case 48 To 57 '' 0 - 9
|
||||
playMorse(morse(s[i] - 22))
|
||||
Case Else
|
||||
'' ignore any other character
|
||||
Sleep 250
|
||||
End Select
|
||||
Next
|
||||
|
||||
DyLibFree(library)
|
||||
End
|
||||
Loading…
Add table
Add a link
Reference in a new issue