'********************************************************************************* '* Decode a text in morse * '* ----------------------------------------------------------------------------- * '* SAMPLE RUN: * '* File morse.dat contains: * '*.--- . ...-.- ... ..- .. ... ...-.- -.-. --- -. - . -. - ...-.- -.. . ...-.- * '*...- --- ..- ... ...-.- ...- --- .. .-. -.-.- ...-.- * '*.--- . .- -. -....- .--. .. . .-. .-. . ...-.- -- --- .-. . .- ..- ...-.- * '*...--- * '* * '* Screen output: * '* * '*- .--- . ...-.- ... ..- .. ... ...-.- -.-. --- -. - . -. - ...-.- -.. . ...-.- * '* je suis content de * '*- ...- --- ..- ... ...-.- ...- --- .. .-. -.-.- ...-.- * '* vous voir. * '*- .--- . .- -. -....- .--. .. . .-. .-. . ...-.- -- --- .-. . .- ..- ...-.- * '* jean-pierre moreau * '*...--- * '* * '* * '* Program terminated. * '* * '* Basic Release By Jean-Pierre Moreau, Paris. * '* (www.jpmoreau.fr) * '********************************************************************************* 'Program Decode_Morse DEFINT I-N OPTION BASE 0 DIM morse$(46) DIM alpha$(46) 'ligne$ one input morse line 'decodee$ one output translated line 'mot$ one morse letter 'integer icount ' initialize table of morse signs morse$(0) = "." morse$(1) = "-" morse$(2) = ".." morse$(3) = ".-" morse$(4) = "-." morse$(5) = "--" morse$(6) = "..." morse$(7) = "..-" morse$(8) = ".-." morse$(9) = ".--" morse$(10) = "-.." morse$(11) = "--." morse$(12) = "-.-" morse$(13) = "---" morse$(14) = "...." morse$(15) = "...-" morse$(16) = "..-." morse$(17) = ".-.." morse$(18) = ".-.-" morse$(19) = ".--." morse$(20) = "..--" morse$(21) = ".---" morse$(22) = "-..." morse$(23) = "-.-." morse$(24) = "-..-" morse$(25) = "--.." morse$(26) = "---." morse$(27) = "--.-" morse$(28) = "-.--" morse$(29) = ".----" morse$(30) = "..---" morse$(31) = "...--" morse$(32) = "....-" morse$(33) = "....." morse$(34) = "-...." morse$(35) = "--..." morse$(36) = "---.." morse$(37) = "----." morse$(38) = "-----" morse$(39) = "-.-.-" morse$(40) = "--..--" morse$(41) = "---..." morse$(42) = "-....-" morse$(43) = "--..--" morse$(44) = "...-.-" morse$(45) = CHR$(13) ' initialize table of alphanumeric characters alpha$(0) = "e" alpha$(1) = "t" alpha$(2) = "i" alpha$(3) = "a" alpha$(4) = "n" alpha$(5) = "m" alpha$(6) = "s" alpha$(7) = "u" alpha$(8) = "r" alpha$(9) = "w" alpha$(10) = "d" alpha$(11) = "g" alpha$(12) = "k" alpha$(13) = "o" alpha$(14) = "h" alpha$(15) = "v" alpha$(16) = "f" alpha$(17) = "l" alpha$(18) = "*" alpha$(19) = "p" alpha$(20) = "*" alpha$(21) = "j" alpha$(22) = "b" alpha$(23) = "c" alpha$(24) = "x" alpha$(25) = "z" alpha$(26) = "*" alpha$(27) = "q" alpha$(28) = "y" alpha$(29) = "1" alpha$(30) = "2" alpha$(31) = "3" alpha$(32) = "4" alpha$(33) = "5" alpha$(34) = "6" alpha$(35) = "7" alpha$(36) = "8" alpha$(37) = "9" alpha$(38) = "0" alpha$(39) = "." alpha$(40) = "," alpha$(41) = ":" alpha$(42) = "-" alpha$(43) = "?" alpha$(44) = " " alpha$(45) = CHR$(13) OPEN "morse.dat" FOR INPUT AS #1 CLS 'Clear screen PRINT 10 decodee$ = "" LINE INPUT #1, ligne$ PRINT ligne$ jj = 1: icount = 0: mot$ = "" FOR i = 1 TO LEN(ligne$) IF MID$(ligne$, i, 1) = "." OR MID$(ligne$, i, 1) = "-" THEN 'mot(i-count:i-count)=ligne(i:i) mot$ = LEFT$(mot$, i - icount - 1) + MID$(ligne$, i, 1) ELSE icount = i IF mot$ = "...---" THEN GOTO 20 FOR j = 0 TO 45 IF mot$ = morse$(j) THEN 'decodee(jj:jj)=alpha(j) decodee$ = LEFT$(decodee$, jj - 1) + alpha$(j) jj = jj + 1 END IF NEXT j mot$ = "" END IF NEXT i PRINT decodee$ IF EOF(1) <> -1 THEN GOTO 10 20 CLOSE #1 PRINT "Program terminated." PRINT END 'end of file morse.bas ' ' j e s u i s c o n t e n t d e '.--- . ...-.- ... ..- .. ... ...-.- -.-. --- -. - . -. - ...-.- -.. . ...-.- ' v o u s v o i r . '...- --- ..- ... ...-.- ...- --- .. .-. -.-.- ...-.- ' j e a n - p i e r r e m o r e a u '.--- . .- -. -....- .--. .. . .-. .-. . ...-.- -- --- .-. . .- ..- ...-.- '...---