{--------------------------------------------------------}
{                     tratamento de mensagens
{--------------------------------------------------------}

unit agmensag;
interface
uses dvcrt, dvWin, agDados;

procedure mensagem (s: string);
Procedure limpatela;
Procedure limpabaixo;
procedure ajuda;

implementation

{--------------------------------------------------------}
{                      da mensagem falada
{--------------------------------------------------------}

procedure mensagem (s: string);
begin
    if s = 'AGINIC' then writeln ('AGENDA ELETRONICA - VOX - v.1.1')
    else
    if s = 'AGERRO' then writeln ('Erro no diretorio do tradutor')
    else
    if s = 'AGOPCAO' then write ('Tecle a inicial de sua opcao: ')
    else
    if s = 'AGTCHAU' then writeln ('Agenda fechada - ate'' logo.')
    else
    if s = 'AGINFDIA' then write ('Informe o dia/mes/ano: ')
    else
    if s = 'AGERRDIA' then writeln ('Dia incorreto')
    else
    if s = 'AGINFHOR' then write ('Informe a hora desejada: ')
    else
    if s = 'AGDIGITE' then writeln ('Digite o compromisso a registrar: ')
    else
    if s = 'AGLIVRE' then writeln ('Agenda livre')
    else
    if s = 'AGDUPLI' then
                  write ('Nao posso registrar dois compromissos na mesma hora')
    else
    if s = 'AGIGNORA' then writeln ('Registro foi ignorado')
    else
    if s = 'AGERRHOR' then writeln ('Hora incorreta')
    else
    if s = 'AGERRINC' then writeln ('Erro ao incluir, nao coube na memoria.')
    else
    if s = 'AGNOMARQ' then write ('Digite o nome da agenda: ')
    else
    if s = 'AGCARGA' then writeln ('Carregando a agenda na memoria')
    else
    if s = 'AGERRLEI' then writeln ('A agenda foi lida com erro do disco !')
    else
    if s = 'AGARQNOV' then writeln ('Foi criada uma agenda nova.')
    else
    if s = 'AGNOMINV' then writeln ('Este nome de agenda nao foi aceito')
    else
    if s = 'AGOK' then writeln ('OK !')
    else
    if s = 'AGERRGRV' then writeln ('Erro na gravacao do arquivo! ')
    else
    if s = 'AGARQGRV' then writeln ('Arquivo gravado')
    else
    if s = 'AGINSER' then writeln ('Registro foi inserido')
    else
    if s = 'AGCONFRM' then writeln ('Tecle ''S'' para confirmar remocao de')
    else
    if s = 'AGSIMNAO' then writeln ('(S/N) ? ')
    else
    if s = 'AGREMOV' then writeln ('Ok, removido')
    else
    if s = 'AGREGMAR' then writeln ('Registro foi marcado como especial')
    else
    if s = 'AGREGDSM' then writeln ('Registro foi desmarcado como especial')
    else
    if s = 'AGINFPRO' then writeln ('Informe o texto a procurar:')
    else
    if s = 'AGPROCAN' then writeln ('Procura cancelada')
    else
    if s = 'AGACHEI'  then writeln ('Achei.')
    else
    if s = 'AGPODEDI' then {writeln ('Pode editar')}
    else
    if s = 'AGQUERAL' then write ('Confirme a alteracao no compromisso (s/n): ')
    else
    if s = 'AGNAOALT' then writeln ('O registro nao foi alterado')
    else
    if s = 'AGALT'    then writeln ('O registro foi alterado')
    else
    if s = 'AGNAOACH' then writeln ('Nao encontrei mais ninguem.')
    else
    if s = 'AGPODEDI' then writeln ('Pode editar:')
    else
    if s = 'AGVAZIA'  then writeln ('Agenda vazia')
    else
    if s = 'AGSETAS'  then writeln ('Use as setas para ler os compromissos. ',
                                    'ESC termina.')
    else
    if s = 'AGAJUDA' then
       begin
           writeln ('Os controles da agenda sao: ');
           writeln;
           writeln ('D - selecionar dia');
           writeln ('H - selecionar hora');
           writeln ('I - incluir um compromisso');
           writeln ('E - editar compromissos existentes');
           writeln ('P - procurar um compromisso');
           writeln ('R - remover um compromisso');
           writeln ('* - por uma marca especial num compromisso');
           writeln ('F - terminar a agenda');
       end

    else
    if s = 'AGPLIM' then
        begin
            delay (500);
            sintSom ('AGPLIM');
            delay (500);
        end;

    sintSom (s);
end;

{--------------------------------------------------------}
{                    limpa a tela
{--------------------------------------------------------}

Procedure limpatela;
var i: integer;
begin
    gotoxy (1, 1);
    textBackground (BLUE);
    writeln ('  **     *****   ******   *    **   **   **   *****   **   **');
    writeln ('**  **  **    *  **       **   **   **   **  **   **   ** ** ');
    writeln ('**  **  **       **       ***  **   **   **  **   **    ***  ');
    writeln ('******  **  ***  *****    **** **   **   **  **   **     *   ');
    writeln ('**  **  **   **  **       ** ****    ** **   **   **    ***  ');
    writeln ('**  **  **   **  **       **  ***     ***    **   **   ** ** ');
    writeln ('**  **   *****   *******  **   **      *      *****   **   **');
    textBackground (BLACK);
    writeln;
    writeln ( 'AGENDA ELETRONICA - VOX' );

    for i := 11 to 25 do
       begin
           gotoxy (1, i);
           clreol;
       end;
end;

{--------------------------------------------------------}
{                 limpa a tela em baixo
{--------------------------------------------------------}

Procedure limpabaixo;
var i: integer;
begin
    for i := 12 to 25 do
       begin
           gotoxy (1, i);
           clreol;
       end;
    gotoxy (1, 12);
end;

{--------------------------------------------------------}
{                        ajuda
{--------------------------------------------------------}

procedure ajuda;
begin
    limpaBaixo;
    gotoxy (1, 13);
    mensagem ('AGAJUDA');
end;

end.
