Exemplos »»

  O exemplo abaixo demonstra como imprimir etiquetas adesivas utilizando a sintaxe do Cobol Micro Focus 4.5:

VisRel

1º Faça o download dos arquivos deste exemplo clicando aqui;

2º Abra o layout do relatório chamado "Etiqueta.vrl";

3º Veja que foram inseridas apenas algumas linhas de programação na primeira e última banda para transforma-las em uma section. Assim é possível replica-la facilmente no seu programa a partir dos registros do cadastro;

VisRelEdit

4º Para integrar o layout acima com o programa Cobol abaixo, clique no menu "Editar - Copiar como - Cobol 4.5", e em seguida substitua todo o conteúdo do arquivo "Etiqueta.CPY" com o que estiver na área de tranferência (colar). O VisRelEdit pode fazer isso automaticamente ao selecionar o menu "Configurar - Gerar CPY ao Salvar";

5º Em seguida basta compilar o programa e executá-lo. Veja que a rotina "imp-etiquetas" foi chamada diversas vezes gerando as etiquetas (duas de cada vez), e o VisRel encarrega-se de fazer a quebra de página conforme o tamanho do papel selecionado pelo usuário.

      $set ans85 noosvs mf
        environment division.
        configuration section.
        special-Names.
             decimal-point is comma.
        input-output section.
             select ARQ1
                    assign to disk
                    file status is w-seq-st.

             select seq-arq
                    assign to        disk
                    organization     line sequential
                    lock mode is     manual
                    status           w-seq-st.

        data division.
        file section.
        fd      ARQ1
                label record is standard
                value of file-id is w-nome-arq.
        01      REG1.
                03 fd-produto        pic x(30).
                03 fd-valunit        pic 9(6)v99.
                03 fd-codigo         pic 9(12).

        fd      seq-arq
                value of file-id w-seq-id
                record is varying in size depending on w-seq-size.
        01      seq-reg.
                02 w-linha           pic x(1200).

        working-storage section.

        01      w-nome-arq           pic x(20)     value spaces.

        01      VisRel.
                03 w-numrel          pic x(10)     value "Rel0001".
                03 w-descr-1         pic x(30)     value spaces.
                03 w-valor-1         pic zz.zz9,99.
                03 w-codigo-1        pic x(12)     value spaces.
                03 w-descr-2         pic x(30)     value spaces.
                03 w-valor-2         pic zz.zz9,99.
                03 w-codigo-2        pic x(12)     value spaces.

                03 w-margem-e        pic 9(4)      value zeros.
                03 w-margem-s        pic 9(4)      value zeros.
                03 w-conta           pic 9(4)      value zeros.

        01      w-status.
                02 w-seq-id          pic x(20)     value spaces.
                02 w-seq-st          pic xx        value zeros.
                02 w-seq-size        pic 9(06)     value zeros.

        01      w-texto.
                02 w-texto-A         pic x(26)     value spaces.
                02 w-texto-B         pic x(1174)   value spaces.

        01      w-RH.
                02 w-RH-A            pic x(2)      value spaces.
                02 filler            pic x(1)      value spaces.
                02 w-RH-B            pic x(1197)   value spaces.

        77      FUNCAO-35            pic x comp-x  value 35.
        77      CODERRO-2            pic x comp-x  value 0.
        01      COMANDO              pic x(250)    value spaces.
        01      COMMAND-LIN.
                02 COMMAND-LIN-LEN   pic x comp-x  value 0.

        screen section.

        procedure division.

        Inicio. 
******** Inicializar o arquivo com alguns registros ********
           move "Etiquetas.DAT" to w-nome-arq
           open output ARQ1

           perform 33 times
              add 1 to w-conta
              string "Produto ", w-conta
                     delimited by size into fd-produto
              compute fd-valunit = 100 * w-conta
              compute fd-codigo = 789000000000 + (1234567 * w-conta)

              write REG1
           end-perform

           close ARQ1

           move 10 to w-margem-s
           move 10 to
w-margem-e

           perform inicio-visrel

           open input ARQ1.

           move 0 to w-conta.
           go to le-arquivo.
           .

        inicio-visrel.
           move "Etiqueta.Rel" to w-seq-id
           open output seq-arq
           copy "Etiqueta.cpy".

        le-arquivo.
           read arq1 next at end go to fecha-arquivo.

           add 1 to w-conta.

           if w-conta > 2
             perform imp-etiquetas
             move 1 to w-conta
           end-if

           if w-conta = 1
             move fd-produto to w-descr-1
             move fd-valunit to w-valor-1
             move fd-codigo  to w-codigo-1
           end-if

           if w-conta = 2
             move fd-produto to w-descr-2
             move fd-valunit to w-valor-2
             move fd-codigo  to w-codigo-2
           end-if

           go to le-arquivo.

        fecha-arquivo.
           if w-conta = 1
             move spaces to w-descr-2
             move 0 to w-valor-2
             move 0 to w-codigo-2
             perform imp-etiquetas
           end-if

           close ARQ1.

        final-visrel.
            close seq-arq.
         
            STRING "VisRel.exe ",
                   "/g ",
                   w-seq-id,
                   " /t Etiquetas adesivas"
                   DELIMITED BY SIZE INTO COMANDO
.

            DISPLAY COMANDO UPON COMMAND-LINE.
            CALL X"91" USING CODERRO-2, FUNCAO-35, COMMAND-LIN.
            exit program.
            goback.

No computador de seus clientes instale apenas a Run-Time do VisRel (RunTimeVisRel.exe).

Para evitar alguns dos problemas com permissão de acesso ao registro ou instalação de arquivos no Windows XP SP3 e mais recentes como Vista e Win7, foi criada uma nova opção de instalação na pasta "Instalar no cliente" do VisRelEdit com o nome de "Versão Compacta.zip", com os arquivos abaixo:

VisRel.exe
VisRel.exe.manifest
VisRelPDF.dll
MSMAPI32.ocx
MSWINSCK.ocx
RICHTX32.ocx
vbPDF417.dll
vbZip232.dll

Obs.: Basta copiar esses arquivos para a sua pasta de programas, ou para a pasta C:\Windows do usuário.

IMPORTANTE: Ao utilizar o DialogSystem do NetExpress é necessário adicionar na linha de comando o parâmetro /SV, caso contrário a tela do VisRel pode ficar oculta pelo seu programa. E no caso de relatórios no modo gráfico (VisRelEdit), selecione o menu Configurar - Manter o relatório visível. Isso ocorre devido ao comando "REFRESH-OBJECT" que é disparado depois do comando "RETC".

Veja mais detalhes das linhas de comando do VisRel clicando aqui.


Página Principal Página Principal Página Principal Página Principal Página Principal Comprar Comprar Comprar Comprar Comprar Comprar Contato Contato Contato Contato Contato Contato + Produtos + Produtos + Produtos + Produtos + Produtos + Produtos Download Download Download Download Download Download Sobre Sobre Sobre Sobre Sobre Sobre