Morse
Publicado por Daniel 30/09/2005
[ Hits: 5.829 ]
Aprenda e escrever em morse com este pequeno programa...
(*
Conversor morse.
Por Daniel Breda.
daniel.breda@gmail.com
Para a comunidade Open Source.
(C) 2005 - Linhares - ES.
*)
program morse;
uses CRT;
var
Tecla: char;
Coluna, Linha1, Linha2: integer;
label
Inicio;
begin
Inicio:
Coluna := 11;
Linha1 := 6;
Linha2 := 8;
TextColor(White);
Writeln('Codigo morse em Pascal.');
Writeln('> [ESC] - Limpar tela.');
Writeln('> [$] - Sair.');
Writeln('Precione as teclas para escrever em morse:');
GotoXY(1, 6);
Writeln('Morse...: ');
GotoXY(1, 8);
Writeln('Normal..: ');
TextColor(Green);
repeat
Tecla := ReadKey;
case Tecla of
'a': begin
GotoXY(Coluna, Linha1);
Write('.-');
GotoXY(Coluna, Linha2);
Write('a');
end;
'b': begin
GotoXY(Coluna, Linha1);
Write('-...');
GotoXY(Coluna, Linha2);
Write('b');
end;
'c': begin
GotoXY(Coluna, Linha1);
Write('-.-.');
GotoXY(Coluna, Linha2);
Write('c');
end;
'd': begin
GotoXY(Coluna, Linha1);
Write('-..');
GotoXY(Coluna, Linha2);
Write('d');
end;
'e': begin
GotoXY(Coluna, Linha1);
Write('.');
GotoXY(Coluna, Linha2);
Write('e');
end;
'f': begin
GotoXY(Coluna, Linha1);
Write('..-.');
GotoXY(Coluna, Linha2);
Write('f');
end;
'g': begin
GotoXY(Coluna, Linha1);
Write('--.');
GotoXY(Coluna, Linha2);
Write('g');
end;
'h': begin
GotoXY(Coluna, Linha1);
Write('....');
GotoXY(Coluna, Linha2);
Write('h');
end;
'i': begin
GotoXY(Coluna, Linha1);
Write('..');
GotoXY(Coluna, Linha2);
Write('i');
end;
'j': begin
GotoXY(Coluna, Linha1);
Write('.---');
GotoXY(Coluna, Linha2);
Write('j');
end;
'k': begin
GotoXY(Coluna, Linha1);
Write('-.-');
GotoXY(Coluna, Linha2);
Write('k');
end;
'l': begin
GotoXY(Coluna, Linha1);
Write('.-..');
GotoXY(Coluna, Linha2);
Write('l');
end;
'm': begin
GotoXY(Coluna, Linha1);
Write('--');
GotoXY(Coluna, Linha2);
Write('m');
end;
'n': begin
GotoXY(Coluna, Linha1);
Write('-.');
GotoXY(Coluna, Linha2);
Write('n');
end;
'o': begin
GotoXY(Coluna, Linha1);
Write('---');
GotoXY(Coluna, Linha2);
Write('o');
end;
'p': begin
GotoXY(Coluna, Linha1);
Write('.--.');
GotoXY(Coluna, Linha2);
Write('p');
end;
'q': begin
GotoXY(Coluna, Linha1);
Write('--.-');
GotoXY(Coluna, Linha2);
Write('q');
end;
'r': begin
GotoXY(Coluna, Linha1);
Write('.-.');
GotoXY(Coluna, Linha2);
Write('r');
end;
's': begin
GotoXY(Coluna, Linha1);
Write('...');
GotoXY(Coluna, Linha2);
Write('s');
end;
't': begin
GotoXY(Coluna, Linha1);
Write('-');
GotoXY(Coluna, Linha2);
Write('t');
end;
'u': begin
GotoXY(Coluna, Linha1);
Write('..-');
GotoXY(Coluna, Linha2);
Write('u');
end;
'v': begin
GotoXY(Coluna, Linha1);
Write('...-');
GotoXY(Coluna, Linha2);
Write('v');
end;
'w': begin
GotoXY(Coluna, Linha1);
Write('.--');
GotoXY(Coluna, Linha2);
Write('x');
end;
'x': begin
GotoXY(Coluna, Linha1);
Write('-..-');
GotoXY(Coluna, Linha2);
Write('x');
end;
'y': begin
GotoXY(Coluna, Linha1);
Write('-.--');
GotoXY(Coluna, Linha2);
Write('y');
end;
'z': begin
GotoXY(Coluna, Linha1);
Write('--..');
GotoXY(Coluna, Linha2);
Write('z');
end;
'0': begin
GotoXY(Coluna, Linha1);
Write('-----');
GotoXY(Coluna, Linha2);
Write('0');
end;
'1': begin
GotoXY(Coluna, Linha1);
Write('.---');
GotoXY(Coluna, Linha2);
Write('1');
end;
'2': begin
GotoXY(Coluna, Linha1);
Write('..---');
GotoXY(Coluna, Linha2);
Write('2');
end;
'3': begin
GotoXY(Coluna, Linha1);
Write('...--');
GotoXY(Coluna, Linha2);
Write('3');
end;
'4': begin
GotoXY(Coluna, Linha1);
Write('....-');
GotoXY(Coluna, Linha2);
Write('4');
end;
'5': begin
GotoXY(Coluna, Linha1);
Write('.....');
GotoXY(Coluna, Linha2);
Write('5');
end;
'6': begin
GotoXY(Coluna, Linha1);
Write('-....');
GotoXY(Coluna, Linha2);
Write('Linha1');
end;
'7': begin
GotoXY(Coluna, Linha1);
Write('--...');
GotoXY(Coluna, Linha2);
Write('7');
end;
'8': begin
GotoXY(Coluna, Linha1);
Write('---..');
GotoXY(Coluna, Linha2);
Write('Linha2');
end;
'9': begin
GotoXY(Coluna, Linha1);
Write('----.');
GotoXY(Coluna, Linha2);
Write('9');
end;
#27: begin
ClrScr;
Goto Inicio;
end;
end;
Coluna := Coluna + 6;
if (Coluna >= 80) then
begin
Coluna := 11;
Linha1 := Linha1 + 4;
Linha2 := Linha2 + 4;
end;
until
Tecla = '$';
end.
Gerador de Senha feito no Lazarus (Delphi 7 para Linux)
Criptografador feito no Lazarus (Delphi 7 para Linux)
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









