Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Dim Lni As Integer
Dim lsLetra As String
Dim lsFrase As String
Text1.SetFocus
Screen.MousePointer = vbHourglass
lsFrase = Text1.Text
For Lni = 1 To Len(lsFrase) Step 1
lsLetra = Mid(lsFrase, Lni, 1)
'Un pequeño lujillo, pa que vaya marcando la letra que está leyendo.
'También la podrías mostrar en una etiqueta... Pero nada de esto es necesario.
Text1.SelStart = Lni - 1
Text1.SelLength = 1
If lsLetra = " " Then
Sleep 500 ' Para separar palabras
Else
msTratarLetra lsLetra
Sleep 300 'Para separar códigos entre letras
End If
Next Lni
Screen.MousePointer = vbDefault
End Sub
Private Sub Destellar(CodDestello As String)
Dim i As Integer, MlEsperar As Integer
For i = 1 To Len(CodDestello)
If Mid(CodDestello, i, 1) = "0" Then
MlEsperar = 150 'Espera 150 milisegundos manteniendo el Shape blanco
Else
MlEsperar = 300 'Espera el Doble (Raya. El anterior era Punto)
End If
'Hago Destellar por el tiempo que corresponda
Sleep MlEsperar 'Para que se mantenga el negro el tiempo suficiente
Shape1.BackColor = vbWhite 'Blanco
Beep
DoEvents 'Necesario para que se muestre en el formulario
Sleep MlEsperar
Shape1.BackColor = vbBlack 'Negro (vuelve al color original)
DoEvents
Next i
End Sub
Private Sub msTratarLetra(lsLetra As String)
'Primero pongo la letra en mayúscula para una fácil comparación
lsLetra = UCase(lsLetra)
Select Case lsLetra
Case "A"
Destellar "01"
Case "B"
Destellar "1000"
Case "C"
Destellar "1010"
Case "D"
Destellar "100"
Case "E"
Destellar "0"
Case "F"
Destellar "0010"
Case "G"
Destellar "110"
Case "H"
Destellar "0000"
Case "I"
Destellar "00"
Case "J"
Destellar "0111"
Case "K"
Destellar "101"
Case "L"
Destellar "0100"
Case "M"
Destellar "11"
Case "N"
Destellar "10"
Case "O"
Destellar "111"
Case "P"
Destellar "0110"
Case "Q"
Destellar "1101"
Case "R"
Destellar "010"
Case "S"
Destellar "000"
Case "T"
Destellar "1"
Case "U"
Destellar "001"
Case "V"
Destellar "0001"
Case "W"
Destellar "011"
Case "X"
Destellar "1001"
Case "Y"
Destellar "1011"
Case "Z"
Destellar "1100"
End Select
End