| Exemplos »»
|
|
O exemplo abaixo
demonstra como imprimir etiquetas adesivas utilizando a sintaxe do Cobol Micro
Focus 4.5: |
|
 |
|
|
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;
|
|
 |
|
|
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 (reduzido de 3,9MB para 1,7MB)
VisRel.exe.manifest
VisRelPDF.dll
MSMAPI32.ocx
MSWINSCK.ocx
RICHTX32.ocx
vbPDF417.dll
vbZip232.dll
Msvbvm60.dll
Basta copiar esses arquivos para a sua pasta de programas.
Obs.: Se você não tem clientes com Windows 95 ou 98 não precisa enviar junto o arquivo
Msvbvm60.dll acima, pois já existe nas novas versões do Windows. A versão com 3,9MB e o
RuntimeVisrel.exe continuam funcionando como antes. Nunca copie o arquivo Msvbvm60.dll
da pasta system de um computador para outro, ou para a sua pasta de programas, pois cada
versão ou service pack do Windows tem sua própria DLL (exceto o Windows 9x).
|
|
|
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.
|
|