{--------------------------------------------------------}
{
{    Programa de impressao comum
{
{    Autor: Jose' Antonio Borges e Geraldo Junior
{
{    Em 26/06/2000
{
{--------------------------------------------------------}

program listavox;
uses dvCrt, dvWin, winProcs, winTypes,
     lisVars, lisMsg, lisConf, lisIniPr, lisImpr;

{--------------------------------------------------------}
{                  termina programa
{--------------------------------------------------------}

procedure terminaProg;
begin
    sintFim;
    delay (2000);
    doneWinCrt;
end;

{--------------------------------------------------------}
{                 abre os arquivos
{--------------------------------------------------------}

procedure abreArquivos;
label fim;
begin
    if paramcount = 1 then
        nomeEntra := paramstr(1)
    else
        begin
            mensagem ('LINOMARQ', 1);    {'Qual o nome do arquivo a imprimir ? '}
            sintReadln (nomeEntra);
            if nomeEntra = '' then
                goto fim;
        end;

    assign (arqentra, nomeentra);
    {$i-}  reset (arqentra, 1);  {$i+}
    if ioresult <> 0 then
        begin
            mensagem ('LIARQNAO', 1);     {'Este arquivo não existe'}
            goto fim;
        end;

    exit;

fim:
    mensagem ('LIIMPCAN', 1);                {'Impressão cancelada'}
    terminaProg;
end;

{--------------------------------------------------------}
{                    inicializacao
{--------------------------------------------------------}

procedure inicializa;
var
    i, erro, result: integer;
    s: string;
    arq: text;
    c: char;

begin
    sintInic (0, sintAmbiente ('LISTAVOX', 'DIRLISTAVOX'));

    clrscr;
    setWindowText (crtWindow, 'LISTAVOX');
    delay (200);

    textBackground (BLUE);
    mensagem ('LIINIC', 0);     {'Impressor - NCE/UFRJ - v.'}
    sintWriteln (versao);
    textBackground (BLACK);
    writeln;
end;

{--------------------------------------------------------}
{                   programa principal
{--------------------------------------------------------}

label fim;

begin
    inicializa;
    abreArquivos;

    if pegaParametros then
        if abreImpressora (nomeEntra) then
            imprime
        else
            mensagem ('LIERRPRN', 1);    {'Não consegui alocar a impressora'}

    terminaProg;
end.
