{--------------------------------------------------------}
{                  Telemark - mensagens
{--------------------------------------------------------}

unit tmMsg;
interface
uses dvcrt, dvwin, tmVars;

procedure mensagem (nomeArq: string; nlf: integer);
procedure msgBaixo (nomeArq: string);
procedure telaInicial;
procedure limpatela;
procedure tentaFalar (s: string);

const
    MSG_PROG = 'Sistema de Telemarketing - Projeto DOSVOX - Versão 1.2';
    TITULO_FOLHEIA =
       '----------------  NOME ----------------- ------- TELEFONE ----- ---- STATUS ----';

implementation

{--------------------------------------------------------}
{                  cadeias de mensagens
{--------------------------------------------------------}

function cadeiaMsg (nomeArq: string): string;
var s: string;
begin
    if nomeArq = 'TMAJU1' then
        s := 'As opções são'
    else
    if nomeArq = 'TMAJU2' then
        s := 'N - Novo registro'
    else
    if nomeArq = 'TMAJU3' then
        s := 'F - Folhear'
    else
    if nomeArq = 'TMAJU4' then
        s := 'P - Procurar'
    else
    if nomeArq = 'TMAJU5' then
        s := 'S - Selecionar'
    else
    if nomeArq = 'TMAJU6' then
        s := 'I - Imprimir'
    else
    if nomeArq = 'TMAJU7' then
        s := 'T - Transferir dados'
    else
    if nomeArq = 'TMAJU8' then
        s := 'C - Contadores'
    else
    if nomeArq = 'TMAJU9' then
        s := 'E - exporta'
    else
    if nomeArq = 'TMAJU10' then
        s := 'R - recupera arquivo exportado'
    else
    if nomeArq = 'TMAJU11' then
        s := 'ESC - termina'
    else
    if nomeArq = 'TVERROP' then
        s := 'Opcao errada: aperte F1 para ajuda'
    else
    if nomeArq = 'TMCNFFIM' then
        s := 'Confirma fim ? '
    else
    if nomeArq = 'TMQUALOP' then
        s := 'Qual opção ? '
    else
    if nomeArq = 'TMFIM' then
        s := 'É bom trabalhar com você'
    else
    if nomeArq = 'TMNAOCRI' then
        s := 'Não consegui criar o diretório'
    else
    if nomeArq = 'TMQUEDIR' then
        s := 'Informe o diretório de telemarketing'
    else
    if nomeArq = 'TMCNFCRI' then
        s := 'Confirma criação do diretório ? '
    else
    if nomeArq = 'TMARQMAL' then
        s := 'Arquivo mal gravado: '
    else
    if nomeArq = 'TMASSUME' then
        s := 'Assumido '
    else
    if nomeArq = 'TMFOLHE' then
        s := 'Folheando'
    else
    if nomeArq = 'TMCADVAZ' then
        s := 'Cadastro vazio'
    else
    if nomeArq = 'TMULTIMO' then
        s := 'Último nome'
    else
    if nomeArq = 'TMNOMPRC' then
        s := 'Nome a procurar'
    else
    if nomeArq = 'TMACHEI' then
        s := 'Achei'
    else
    if nomeArq = 'TMNACHEI' then
        s := 'Não achei'
    else
    if nomeArq = 'TMDESIST' then
        s := 'Desistiu'
    else
    if nomeArq = 'TMPORTA' then
        s := 'Qual a porta do faxmodem (de 1 a 4) ? '
    else
    if nomeArq = 'TMERRFAX' then
        s := 'Erro ao acionar o faxmodem'
    else
    if nomeArq = 'TMATEND' then
        s := 'Atenda e aperte uma tecla'
    else
    if nomeArq = 'TMERRCMB' then
        s := 'Erro no arquivo de opções'
    else
    if nomeArq = 'TMMAXCMB' then
        s := 'Excedido numero de opções'
    else
    if nomeArq = 'TMMODNAO' then
        s := 'Arquivo de modelo não está presente'
    else
    if nomeArq = 'TMERRMOD' then
        s := 'Erro no arquivo de modelo'
    else
    if nomeArq = 'TMMAXMOD' then
        s := 'Excedido numero de sub modelos'
    else
    if nomeArq = 'TMREFINV' then
        s := 'Referência inválida a opção'
    else
    if nomeArq = 'TMERRTAM' then
        s := 'Tamanho do campo errado'
    else
    if nomeArq = 'TMFICSUM' then
        s := 'Arquivo de ficha sumiu !'
    else
    if nomeArq = 'TMERRFIC' then
        s := 'Erro no arquivo de ficha'
    else
    if nomeArq = 'TMPARINV' then
        s := 'Especificação de parte de ficha inválida'
    else
    if nomeArq = 'TMINFERR' then
        s := 'Informações errada na ficha'
    else
    if nomeArq = 'TMNOVO' then
        s := 'Novo registro'
    else
    if nomeArq = 'TMNUMSEC' then
        s := 'Qual seção ? '
    else
    if nomeArq = 'TMNUMERR' then
        s := 'Digite um número correto ! '
    else
    if nomeArq = 'TMFICSUM' then
        s := 'Ficha sumiu'
    else
    if nomeArq = 'TMERRGRV' then
        s := 'Erro ao gravar a ficha, tecle Enter'
    else
    if nomeArq = 'TMCNFREM' then
        s := 'Confirma remoção ? '
    else
    if nomeArq = 'TMNAOREM' then
        s := 'Não removido'
    else
    if nomeArq = 'TMREMOVI' then
        s := 'Removido'
    else
    if nomeArq = 'TMAJUFOL' then
        s := 'As opções de folheamento são'
    else
    if nomeArq = 'TMAJUF1' then
        s := 'N T S R     fala nome, telefone, status e registro'
    else
    if nomeArq = 'TMAJUF2' then
        s := 'Q           informa quantos cadastrados'
    else
    if nomeArq = 'TMAJUF3' then
        s := 'D           discagem automática'
    else
    if nomeArq = 'TMAJUF4' then
        s := 'ENTER       editar esta pessoa'
    else
    if nomeArq = 'TMAJUF5' then
        s := 'F5          procura um nome'
    else
    if nomeArq = 'TMAJUF6' then
        s := 'control F5  proximo nome'
    else
    if nomeArq = 'TMAJUF7' then
        s := 'F7          remove pessoa'
    else
    if nomeArq = 'TMAJUF8' then
        s := '+ e -       seleção ou não desta pessoa'
    else
    if nomeArq = 'TMAJUF9' then
        s := 'ESC         termina'
    else
    if nomeArq = 'TMSEMPAG' then
        s := 'Não há mais páginas nesta seção'
    else
    if nomeArq = 'TMSELEC' then
        s := 'Selecionado'
    else
    if nomeArq = 'TMNSELEC' then
        s := 'Não selecionado'
    else
    if nomeArq = 'TMQUAIS' then
        s := 'Todos, selecionados ou último editado ? '
    else
    if nomeArq = 'TMDESIST' then
        s := 'Desistiu'
    else
    if nomeArq = 'TMOPERAD' then
        s := 'Informe o nome do responsável'
    else
    if nomeArq = 'TMEMPRES' then
        s := 'Informe o nome da empresa'
    else
    if nomeArq = 'TMNOMLST' then
        s := 'Informe o arquivo de listagem, tecle ENTER se impressão direta'
    else
    if nomeArq = 'TMERRLST' then
        s := 'Erro ao criar a listagem'
    else
    if nomeArq = 'TMENTCNF' then
        s := 'Aperte Enter para confirmar, ESC para cancelar'
    else
    if nomeArq = 'TMINFSER' then
        s := 'Informe o número de série, sugiro '
    else
    if nomeArq = 'TMDIRDST' then
        s := 'Informe o nome do diretório externo'
    else
    if nomeArq = 'TMDIRINV' then
        s := 'Diretório inválido'
    else
    if nomeArq = 'TMTRAZGD' then
        s := 'Qual opção: trazer ou guardar dados ? '
    else
    if nomeArq = 'TMREMOVE' then
        s := 'Remove arquivos depois de copiar ? '
    else
    if nomeArq = 'TMERRAPA' then
        s := 'Erro ao apagar o arquivo '
    else
    if nomeArq = 'TMSELDES' then
        s := 'Seleciona ou desseleciona ? '
    else
    if nomeArq = 'TMTODULT' then
        s := 'Todos ou último lido ? '
    else
    if nomeArq = 'TMNDISPO' then
        s := 'Opção não disponível'
    else
    if nomeArq = 'TMTODSEL' then
        s := 'Todos ou selecionados ? '
    else
    if nomeArq = 'TMFICNAO' then
        s := 'Ficha sem nome, não foi gravada'
    else
    if nomeArq = 'TMLETRA' then
        s := 'Qual a letra do contador ? '
    else
    if nomeArq = 'TMADILER' then
        s := 'Adicionar ou Ler ? '
    else
    if nomeArq = 'TMNOMDST' then
        s := 'Informe o arquivo destino'
    else
    if nomeArq = 'TMNOMORG' then
        s := 'Informe o arquivo txt original'
    else
    if nomeArq = 'TMNAOEXS' then
        s := 'Arquivo não existe'
    else
    if nomeArq = 'TMARQEXI' then
        s := 'Arquivo ja existe, adiciona, remove ou desiste ? '
    else
    if nomeArq = 'TMVEIOTM' then
        s := 'Este arquivo foi gerado pelo programa Telemark ? '
    else
        s := '--> Mensagem inválida: ' + nomeArq;

    cadeiaMsg := s;
end;

{--------------------------------------------------------}
{                       mensagens
{--------------------------------------------------------}

procedure mensagem (nomeArq: string; nlf: integer);
var i: integer;
    s: string;
begin
    s := cadeiaMsg (nomeArq);

    if nlf < 0 then     {texto centrado}
        gotoxy ((81-length (s)) div 2, wherey);

    nlf := abs (nlf);
    write (s);
    for i := 1 to nlf do
         writeln;

    if existeArqSom (nomearq) then
        sintSom (nomearq)
    else
        sintetiza (s);
end;

{--------------------------------------------------------}
{                    tela inicial
{--------------------------------------------------------}

Procedure telaInicial;
var i: integer;
    arq: text;
    s: string;
begin
    clrscr;

    textColor (YELLOW);
    assign (arq, dirProg + 'logo.mdl');
    {$I-} reset (arq);  {$I+}
    if ioresult = 0 then
        begin
            while not eof (arq) do
                begin
                    readln (arq, s);
                    writeln (s);
                end;
            close (arq);

            writeln;
        end;

    textColor (LIGHTGRAY);
    for i := 1 to (81-length (MSG_PROG)) div 2 do
        write (' ');
    writeln (MSG_PROG);
    writeln;
    sintSom ('TMINIC');     {Sistema de Telemarketing}
end;

{--------------------------------------------------------}
{              da mensagem na ultima linha
{--------------------------------------------------------}

procedure msgBaixo (nomeArq: string);
var x, y: integer;
    s: string;
begin
    textBackGround (BLACK);
    x := wherex;
    y := wherey;
    gotoxy (1, 25);
    clreol;

    if nomeArq <> '' then
        begin
            textBackground (RED);
            gotoxy (80-length(cadeiaMsg (nomeArq)), 25);
            mensagem (nomeArq, 0);
            textBackground (BLACK);
        end;

    gotoxy (wherex, wherey);
end;

{--------------------------------------------------------}
{          verifica se tem cadeia registrada
{--------------------------------------------------------}

procedure tentaFalar (s: string);
begin
    {provisorio}
    sintetiza (s);
end;

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

Procedure limpatela;
var i: integer;
begin
    textBackground (BLACK);
    clrscr;
    gotoxy (1, 1);
    textBackground (BLUE);
    writeln (MSG_PROG);
    textBackground (BLACK);
    writeln;
end;

end.
