Morse
Publicado por Daniel 30/09/2005
[ Hits: 5.846 ]
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.
Criptografador feito no Lazarus (Delphi 7 para Linux)
Gerador de Senha feito no Lazarus (Delphi 7 para Linux)
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









