Morse

Publicado por Daniel 30/09/2005

[ Hits: 5.505 ]

Download morse.pas




Aprenda e escrever em morse com este pequeno programa...

  



Esconder código-fonte

(*
  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.

Scripts recomendados

Gerador de senha (Lazarus)

Gerador de Senha feito no Lazarus (Delphi 7 para Linux)

Criptografador feito no Lazarus (Delphi 7 para Linux)

Security Pwd

Cauculadora em Pascal


  

Comentários
[1] Comentário enviado por removido em 15/07/2009 - 11:16h

Muito criativo, parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts