Página 1 de 2
Boleto na jato/Lazer?
Enviado: 08 Set 2006 11:08
por Maurício Elias
Bom dia pessoal.
Como faço para imprimir boleto da Nossa Caixa na jato ou Lazer ?
Preciso de uma solução e não consigo.
Sei q tem o PrWin, mas ñ dou conta de fazer funcionar.
Obrigado.
_______
Maurício
alcatec@stetnet.com.br
Enviado: 10 Set 2006 13:57
por rrfsistemas
Olá !
A dica que posso te dar é : use o Visual Fox Pro 7, ...
Ele tem a sintaxe do clipper e não tem problemas com porta USB.
Sem contar com o visual.
Tente, vai ver que é muito bom, fácil e rápido. :)Pos
Enviado: 11 Set 2006 20:27
por vagucs
se nao quiser usar o Fox o que vai te dar bastante dor de cabeça visto que é uma outra ferramenta xBase completamente diferente do clipper, pode usar o xHarbour tambem que tem completo suporte a USB, porem nao te garanto que seja facil fazer um boleto bancario no mesmo, então sugiro que dê uma olhada no PRWIN que faz impressão de boleto bancário, não sei se o boleto para seu banco está ok, mas não custa tentar, download disponivel no meu site.
Sem mais
Wagner Nunes
www.vagucs.com.br
Enviado: 12 Set 2006 00:47
por vagucs
O PRWIN demo tem um pequeno programa chamado BLT que é um otimo exemplos de como usar este recurso.
Enviado: 12 Set 2006 01:19
por rrfsistemas
Caro Maurício, este é parte do exemplo de como imprimir boletos com cod bar em qqer impressora.
Como disse o Vagner "é completamente diferente do clipper".
Código: Selecionar todos
****************
Procedure barcod
****************
PARAMETER wnmarq , wnumero
** no vfp o campo tem de ter 448 * 40 pxls
PRIVATE winicio , warq , xfor , pos , wstring
winicio = chr(66) + chr(77) + chr(254) + chr(8) + chr(0) + chr(0) + chr(0) + chr(0) + ;
chr(0) + chr(0) + chr(62) + chr(0) + chr(0) + chr(0) + chr(40) + chr(0) + ;
chr(0) + chr(0) + chr(192) + chr(1) + chr(0) + chr(0) + chr(40) + chr(0) + ;
chr(0) + chr(0) + chr(1) + chr(0) + chr(1) + chr(0) + chr(0) + chr(0) + ;
chr(0) + chr(0) + chr(192) + chr(8) + chr(0) + chr(0) + chr(206) + chr(14) + ;
chr(0) + chr(0) + chr(216) + chr(14) + chr(0) + chr(0) + chr(0) + chr(0) + ;
chr(0) + chr(0) + chr(0) + chr(0) + chr(0) + chr(0) + chr(0) + chr(0) + ;
chr(0) + chr(0) + chr(255) + chr(255) + chr(255) + chr(0)
*? winicio
warq=FCREATE(wnmarq)
a=FWRITE(warq,winicio)
FOR xfor = 1 to 2240
a=FWRITE(warq,CHR(255))
NEXT
a=FCLOSE(warq)
warq=FOPEN(wnmarq,2)
wstring = monta25(wnumero)
FOR xfor = 0 to 39
pos = 62 + (56*xfor)
a=FSEEK(warq,pos,0)
a=FWRITE(warq,wstring)
NEXT
a=FCLOSE(warq)
return "KO"
************************************************************************
*Funçao que devolve string a ser impressa no padrao 2 de 5
Function monta25
************************************************************************
PARAMETER wnumero
PRIVATE twcodigo,wsaida,tw1,twk,twj,saida2,wresto
DECLARE twcodigo[10]
twcodigo [1] = '00110'
twcodigo [2] = '10001'
twcodigo [3] = '01001'
twcodigo [4] = '11000'
twcodigo [5] = '00101'
twcodigo [6] = '10100'
twcodigo [7] = '01100'
twcodigo [8] = '00011'
twcodigo [9] = '10010'
twcodigo [10] = '01010'
wsaida = ""
FOR twi = 1 TO LEN(wnumero) / 2
twk = VAL(SUBSTR(wnumero,twi*2-1,1)) + 1
twl = VAL(SUBSTR(wnumero,twi*2 ,1)) + 1
FOR twj = 1 TO 5
IF SUBSTR(twcodigo[twk],twj,1) = "1"
wsaida = wsaida + '000'
ELSE
wsaida = wsaida + '0'
ENDIF
IF SUBSTR(twcodigo[twl],twj,1) = "1"
wsaida = wsaida + '111'
ELSE
wsaida = wsaida + '1'
ENDIF
NEXT
NEXT
wsaida = '0101'+ wsaida + '00010'
wresto = mod(len(wsaida),8)
IF wresto != 0
wsaida = wsaida + REPLICATE("1",8-wresto)
ENDIF
wsaida2 = ""
FOR wfor = 1 TO LEN(wsaida)/8
wsaida2 = wsaida2 + bintoasc(SUBSTR(wsaida,((wfor-1)*8+1),8))
NEXT
RETURN wsaida2
*============================================================================
*****************************************************************************
function bintoasc
param bin_str
private a,temp
temp=0
for a=7 to 0 step -1
temp=temp+2^a*(asc(substr(bin_str,8-a,1))-48)
endfor
return chr(temp)
******************************************************************************
Enviado: 12 Set 2006 09:44
por vagucs
No que eu disse em "Ser completamente diferente" é porque ele não iria compilar o sistema em FOX para apenas imprimir boleto bancário, já usei o fox e sei que estas funcionalidades são parecidas, mas vale que a rotina não é tão abrangente pois vc ainda fica preso a poucos modelos de impressora.
Enviado: 13 Set 2006 15:19
por rrfsistemas
Caro Vagner:
Não querendo ser agressivo, mas vc deve tomar cuidado com o que diz:
mas vale que a rotina não é tão abrangente pois vc ainda fica preso a poucos modelos de impressora.
:?
Como ficar preso a poucos modelos de impressoras sendo que os comandos são enviados ao driver da impressora e este se encarrega de fazer o resto...
Este código do VISUAL FOX PRO 9 imprime em qualquer impressora instalada no Windows via porta USB ou paralela. :?
Enviado: 13 Set 2006 15:30
por vagucs
bom, pelo menos pelo meu desprivilegiado conhecimento de impressoras, vejo que a rotina envia comandos de controle que nem sempre são iguais para todas as impressoras, a não ser que você tenha um programa que convertar os comandos de controle, como o caso do PRWIN que montei ou dos DOSPRINTER.
Logo amigo, não fui equivocado e tenho certeza que não errei o termo, por mais que imprimir em maior numero de impressoras, ainda não existe uma padronização de codigos de controle, alias, por esta falta de padrão, hoje o clipper não imprime em USB, questões de modernização que temos sempre que passar por ela.
Copiei sua rotina para testar aqui, se este comandos são padrões mesmo para todas as impressoras isso é bom, mas pelo tipo de rotina, nada disto é processado pelo drivers, alias, vc não precisa dele, tendo os caracteres de controle, é só abrir o canal de comunicação com a impressora e imprimir direto para ela, alias parece que foi o proposto na sua rotina.
Enviado: 13 Set 2006 15:50
por vagucs
De antemão, reproduzi o arquivo citado que realmente é um arquivo de controle e encaminhei para uma EPSON STYLUS C63 USB e não saiu nada, não reconheceu os comandos de controle.
Enviado: 13 Set 2006 15:52
por vagucs
encaminhei direto para a porta USB, pois se usar o PRWIN ou qualquer outro programa, ele gerenciaria o relatorio e sairia o arquivo em SI sem interpretação da impressora.
Enviado: 14 Set 2006 02:38
por rrfsistemas
Oh ! Vagner !!
Sem o resto do sistema vc nunca vai conseguir enviar para impressora...
Este prg faz parte de um conjunto de rotinas que imprime em laser e outras cositas mas...
A proposito ! vc compilou a rotina com que ?? :xau
Enviado: 14 Set 2006 08:58
por vagucs
eu compilei com o clipper para gerar o arquivo citado, que é um arquivo de controle, envia a rotina inteira entao uai
Enviado: 14 Set 2006 14:06
por rrfsistemas
ôh Vagner !
Esta rotina faz parte de um sistema em Visual Fox Pro 9 e tem partes gráficas, e outras rotinas que o Clipper não reconhece (apresentação em tela, imagem).
Depois de montado o lay out do boleto e ARMAZENADO em uma tabela com tipagem General eu o envio para a impressora graficamente... :)Pos
sem a necessidade de enviar qqer código para a impressora, envio somente a imagem gerada.
:xau
Enviado: 14 Set 2006 14:29
por vagucs
Ai você explicou tudo... ai são outros quinhentos, então acho que esta rotina ainda ajuda pouco o amigo, acho interessante até usar o PRWIN pois ele facilmente faz a impressão do modelo de codigo de barras 2to5.
Enviado: 15 Set 2006 08:31
por Maurício Elias
Meus amigos.
Simpático o debate de vcs, mas Wagner, como vou conseguir imprimir com o seu PrWin, se já estou careca de tanto de pedir para me auxiliar na impressão para a Caixa Estadual, e vc ñ me ajuda.
Já te enviei arquivo .PRN , já pedí um exemplo para a Cx.Est, já fiz um monte de contato com vc... Mas ñ dá tempo por causa dos seus 2 projetos para o Governo, né...
Mas tempo para testar a rotina do colega acima dá

!!! Uai !!!
Véio, eu quero comprar seu programa, mas me dê o suporte necessário para funcionar da forma q eu preciso...
Abraços aos 2 colegar.
_______
Maurício