nil
Membros-
Posts
35 -
Joined
-
Last visited
nil's Achievements
Newbie (1/14)
0
Reputation
-
Alguem sabe como configurar windows 7 e windows vista para programas em clipper (DOS), para funcionar bem e em tela cheia.
-
Alguem sabe como configurar windows 7 e windows vista para programas em clipper (DOS), para funcionar bem e em tela cheia.
-
existe alguma configuracao especial no vista para rodar programas em clipper
-
existe alguma configuracao especial no vista para rodar programas em clipper
-
VALEU GALERA FICOU 100%, OBRIGADO A TODOS
-
MEU PROGRAMA EM CLIPPER EU ESTOU PASSANDO PARA FIVEWIN E ESTOU QUERENDO USAR XHARBOUR PELO VISUAL MAIS MODERNO, ALGUEM PODE ME ORIENTAR ONDE ENCONTRO EXEMPLO, APOSTILA E VERSAO DEMO PARA APRENDER
-
MEU PROGRAMA EM CLIPPER EU ESTOU PASSANDO PARA FIVEWIN E ESTOU QUERENDO USAR XHARBOUR PELO VISUAL MAIS MODERNO, ALGUEM PODE ME ORIENTAR ONDE ENCONTRO EXEMPLO, APOSTILA E VERSAO DEMO PARA APRENDER
-
consegui atraves do exemplo no dbu da seguinte forma RENAME gercli.dbf TO gercli.old * crio o novo GERCLI.DBF VAZIO USE gercli.old COPY TO ddbbuuuu.txt SDF USE gercli.dbf APPEND FROM ddbbuuuu.txt SDF ERASE ddbbuuuu.txt
-
toda vez que atualizo o programa em um cliente tenho que verificar os dbfs para ter certeza que nao acrescetei novos campos nos dbfs, alguem tem a funcao que atualiza a estrutura. obrigado, Nilson
-
toda vez que atualizo o programa em um cliente tenho que verificar os dbfs para ter certeza que nao acrescetei novos campos nos dbfs, alguem tem a funcao que atualiza a estrutura. obrigado, Nilson
-
*** *** Teste de Montagem de codigo de barra *** #include "Fivewin.ch" #include "barcode.ch" static cod_barra0, cod_barra1, cod_barra2, cod_barra3,cod_barra4,cod_barra5,oprn, X, i *static oWnd, oImage, oImageSm static xa, xb, ofon2, ofont, ofontn, ofont2 static x_1, y_1,y, k, aonde, nosso_n, _mod10, _mod11 *static f_venc, c_livre, v_docum, datavenc, valor, dv_codb static cod_dig, cod_barra, mano, ika, kra,vEmpr, vCNPJ, vMens1 *static vFant, vEnd, vBai, vCid, vUf, vCep, vCeden, vNNum, vCod, JUROS ****************************************************************** function main ****************************************************************** set date british set date format to "dd/mm/yyyy" set epoch TO 1990 cod_barra0:= "0000000031" cod_barra1:= "0000000019" cod_barra2:= "0000000023" cod_barra3:= "0000000018" cod_barra4:= "0000000037" printer oprn DOC "Gerente - [boleto Caixa]" preview oprn:startpage() X:= 90 oprn:say(150, 50, cod_barra0) oprn:say(150, 850, cod_barra1) oprn:say(150,1650, cod_barra2) oprn:say(150,2550, cod_barra3) @ 250, 50 int25 cod_barra0 of oprn width 0.03 size 1.4 @ 250, 850 int25 cod_barra1 of oprn width 0.03 size 1.4 @ 250,1650 int25 cod_barra2 of oprn width 0.03 size 1.4 @ 250,2550 int25 cod_barra3 of oprn width 0.03 size 1.4 oprn:say(650, 50, cod_barra4) @ 750, 50 int25 cod_barra4 of oprn width 0.03 size 1.4 oprn:endpage() endprint return(Nil)
-
*** *** Teste de Montagem de Boleto Bancário *** #include "Fivewin.ch" #include "barcode.ch" static oWnd, oImage, oImageSm static oprn, xa, xb, ofon2, ofont, ofontn, ofont2 static x_1, y_1, x, y, i, k, aonde, nosso_n, _mod10, _mod11 static f_venc, c_livre, v_docum, datavenc, valor, dv_codb static cod_dig, cod_barra, mano, ika, kra,vEmpr, vCNPJ, vMens1 static vFant, vEnd, vBai, vCid, vUf, vCep, vCeden, vNNum, vCod, JUROS ****************************************************************** function main ****************************************************************** set date british set date format to "dd/mm/yyyy" set epoch TO 1990 _mod10 := '12121212121212121212121212121212121212121212121212121212121212121212121212121212' _mod11 := '98765432987654329876543298765432987654329876543298765432987654329876543298765432' USE C:\GERENTE\GERPAR2.DBF ALIAS PAR NEW SELECT PAR vFant :=PAR->FANPAR vEmpr :=PAR->EMPPAR vCNPJ :=PAR->CGCPAR vMens1:=PAR->MENS1PAR vEnd :=PAR->ENDPAR vBai :=PAR->BAIPAR vCid :=PAR->CIDPAR vUF :=PAR->UFPAR vCep :=PAR->CEPPAR vCeden:=PAR->CODCED vNNum :="8700034412" Juros := 0.100 nosso_n :=ALLTRIM(PAR->bolpar) // Titulo, Vencimento, Valor USE C:\GERENTE\DBF\GERCLI.DBF ALIAS CLI NEW SHARED SELECT CLI if (file("GERCLI.NTX")) set index to GERCLI.NTX else index on CLI->CODCLI to GERCLI.NTX endif USE C:\GERENTE\DBF\GERREC.DBF ALIAS REC NEW SHARED SELECT REC if (file("GERRECI.NTX")) set index to GERREC.NTX else index on REC->DTVENC to GERREC.NTX endif SELECT REC set order to 1 *set filter to nnurec = " " .and. tiprec = "B" REC->(DBGOTOP()) printer oprn DOC "Gerente - [boleto Caixa]" preview x_1 := oprn:nhorzres() y_1 := oprn:nvertres() xa := oprn:cmtr2pix(1, 2.5) // Deslocamento xb := oprn:cmtr2pix(2, 3.5) // Deslocamento y := (xb[1] - xa[1]) / 10 x := (xb[2] - xa[2]) / 10 DO WHILE .T. nosso_n := ALLTRIM(PAR->bolpar) datavenc:=REC->dtvenc valor:= REC->valrec vCod := REC->codcli acao() IF REC->(DBSKIP(),EOF())==.T. EXIT ENDIF ENDDO endprint return(Nil) ****************************************************************** static function acao ****************************************************************** nosso_n += '.' + mod11X(nosso_n) prepara() monta_codigo() monta() oprn:startpage() for i := 1 to len(aonde) kra := y_1 - (xa[1] + (y * 105)) oprn:line(kra + (xa[1] + (y * aonde[i, 1])), (x * (aonde[i, 2] - 15)),; kra + (xa[1] + (y * aonde[i, 3])), (x * (aonde[i, 4] - 15))) next *oprn:line(y_1 / 2, 0, y_1 / 2, x_1) // _saytxt(lin, col, frase) virfont2(oprn, "times new roman", @ofont2, 3, 5) *---------------------------------------------------------------------------------------------* _saytxt(-160, 30, ALLTRIM(vFant), 2) virfont2(oprn, "times new roman", @ofont2, 1.5, 5) *---------------------------------------------------------------------------------------------* _saytxt(-155, 30, ALLTRIM(vEnd),2) _saytxt(-155, 100, ALLTRIM(vBai),2) _saytxt(-150, 30, ALLTRIM(vCid),2) _saytxt(-150, 100, ALLTRIM(vUF),2) _saytxt(-150, 110, ALLTRIM(vCep),2) _saytxt(-145, 30, STRZERO(REC->codcli,5)+" - "+ALLTRIM(CliNome(REC->codcli)),2) _saytxt(-140, 30, CliEnd(REC->codcli),2) _saytxt(-140, 100, ALLTRIM(CliBair(REC->codcli)),2) _saytxt(-135, 30, ALLTRIM(CliCidade(REC->codcli)),2) _saytxt(-135, 100, ALLTRIM(vUF),2) _saytxt(-135, 110, TRANSFORM(CliCep(REC->codcli),'@r 99.999-999'),2) virfont2(oprn, "times new roman", @ofont2, 1.5, 5) *---------------------------------------------------------------------------------------------* _saytxt(- 70, 10, "Serviço de Telemonitoramento Patrimonial: R$"+TRANSFORM(valor,'@E 999,999.99'), 2) _saytxt( -65, 50, "Outros valores: R$ 0,00", 2) _saytxt( -60, 48, "Total do Débito: R$"+TRANSFORM(valor,'@E 999,999.99'), 2) virfont2(oprn, "times new roman", @ofont2, 1, 3) *---------------------------------------------------------------------------------------------* _saytxt(-55, 10, "O(s) valor(es) em atrazo consta(m) de correção monetária conforme estatuto") _saytxt(-52, 140, "Esta parte não precisa ser levada ao banco") ******************************************************************* * RECIBO DO SACADO * ******************************************************************* virfont2(oprn, "times new roman", @ofont2, 2, 5) *---------------------------------------------------------------------------------------------* _saytxt(-43, 43, "104-0", 2) _saytxt(-43, 60, transform(cod_dig, '@R 99999.99999 99999.999999 99999.999999 9 99999999999999'), 2) virfont2(oprn, "times new roman", @ofont2, 1.5, 5) *---------------------------------------------------------------------------------------------* _saytxt(-35, 15, ALLTRIM(vEmpr),2) _saytxt(-35, 90, TRANSFORM(vCNPJ,"@R 99.999.999/9999-99"),2) _saytxt(-30, 15, STRZERO(REC->codcli,5)+" - "+ALLTRIM(CliNome(REC->codcli)),2) _saytxt(-26, 15, CliEnd(REC->codcli),2) _saytxt(-26, 80, ALLTRIM(CliBair(REC->codcli)),2) _saytxt(-22, 15, ALLTRIM(CliCidade(REC->codcli)),2) _saytxt(-22, 80, ALLTRIM(vUF),2) _saytxt(-22, 90, TRANSFORM(CliCep(REC->codcli),'@r 99.999-999'),2) _saytxt(-35, 160, dtoc(datavenc),2) _saytxt(-27, 145, TRANSFORM(vCeden,"@R 9999.999.99999999.9"),2) _saytxt(-20, 160, "R$"+TRANSFORM(valor,'@E 999,999.99'), 2) vircfgfont(oprn, "times new roman", @ofont, @ofontn, "N") *---------------------------------------------------------------------------------------------* *_saytxt(-42, 25, "Caixa Econômica") *_saytxt(-40, 25, "Federal") _saytxt(-37, 01, "Cedente") _saytxt(-37,138, "Vencimento") _saytxt(-30,138, "Agência / Código Cedente") _saytxt(-22,138, "(=) Valor do Documento") _saytxt(-30, 01, "Sacado") _saytxt(-18, 01, "Sacador / Avalista ") _saytxt(-15, 01, "Autenticação mecânica / RECIBO DO SACADO ") ******************************************************************* * ficha de compensação * ******************************************************************* vircfgfont(oprn, "times new roman", @ofont, @ofontn, "N") *---------------------------------------------------------------------------------------------* *_saytxt(03, 25, "Caixa Econômica") *_saytxt(05, 25, "Federal") _saytxt(15, 01, "Cedente") _saytxt(08, 01, "Local de pagamento") _saytxt(08, 138, "Vencimento") _saytxt(15, 138, "Agência / Código Cedente") _saytxt(22, 01, "Data do Documento") _saytxt(22, 27, "Número Documento") _saytxt(22, 62, "Espécie Documento") _saytxt(22, 80, "Aceite") _saytxt(22, 93, "Data Procesamento") _saytxt(22, 138, "Nosso Número") _saytxt(28, 01, "Uso do Banco") _saytxt(28, 30, "Carteira") _saytxt(28, 40, "Esp. Moeda") _saytxt(28, 55, "Quantidade") _saytxt(28, 100, "Vr. Moeda") _saytxt(36, 01, "Instruções: (Todas as informações deste bloqueto são de exclusiva responsabilidade do Cedente)") _saytxt(28, 138, "(=) Valor do Documento") _saytxt(35, 138, "(-) Desconto / Abatimento") _saytxt(41, 138, "(-) Outras Deduções") _saytxt(47, 138, "(+) Mora / Multa") _saytxt(53, 138, "(+) Outros Acréscimos") _saytxt(59, 138, "(=) Valor Cobrado") _saytxt(67, 138, "CNPJ / CPF") _saytxt(67, 01, "Sacado") _saytxt(79, 01, "Sacador / Avalista") _saytxt(79, 138, "Código de baixa") virfont2(oprn, "times new roman", @ofont2, 1, 3) *---------------------------------------------------------------------------------------------* _saytxt(82, 130, "Autenticação Mecânica / FICHA DE COMPENSAÇÃO") virfont2(oprn, "times new roman", @ofont2, 2, 5) *---------------------------------------------------------------------------------------------* _saytxt(03, 43, "104-0", 2) _saytxt(03, 60, transform(cod_dig, '@R 99999.99999 99999.999999 99999.999999 9 99999999999999'), 2) virfont2(oprn, "times new roman", @ofont2, 1.5, 5) *---------------------------------------------------------------------------------------------* _saytxt(24, 05, dtoc(date()), 2) // Data Documento _saytxt(24, 97, dtoc(date()), 2) // Data Processamento _saytxt(17, 15, ALLTRIM(vEmpr),2) _saytxt(17, 90, TRANSFORM(vCNPJ,"@R 99.999.999/9999-99"),2) _saytxt(17, 145, TRANSFORM(vCeden,"@R 9999.999.99999999.9"),2) _saytxt(10, 160, dtoc(datavenc), 2) _saytxt(24, 150, nosso_n, 2) _saytxt(30, 160, "R$"+TRANSFORM(valor,'@E 999,999.99'), 2) _saytxt(45, 10, "SR.CAIXA APÓS VENCIMENTO COBRAR MULTA DE 2%",2) _saytxt(50, 10, "E JUROS DE R$"+ TRANSFORM(((REC->valrec*Juros/100)),'@E 999.99')+" AO DIA",2) _saytxt(55, 10, "NÃO RECEBER APÓS 20 DIAS DO VENCIMENTO",2) _saytxt(67, 15, STRZERO(REC->codcli,5)+" - "+ALLTRIM(CliNome(REC->codcli)),2) _saytxt(71, 15, CliEnd(REC->codcli),2) _saytxt(71, 80, ALLTRIM(CliBair(REC->codcli)),2) IF !EMPTY(CliCgc(REC->codcli)) _saytxt(71, 145, TRANSFORM(CliCgc(REC->codcli),'@r 99.999.999/9999-99'),2) ELSE _saytxt(71, 145, TRANSFORM(CliCpf(REC->codcli),'@r 999.999.999-99'),2) ENDIF _saytxt(75, 15, ALLTRIM(CliCidade(REC->codcli)),2) _saytxt(75, 80, ALLTRIM(vUF),2) _saytxt(75, 90, TRANSFORM(CliCep(REC->codcli),'@r 99.999-999'),2) virfont2(oprn, "times new roman", @ofont2, 1, 3) _saytxt(11, 01, "PAGÃVEL EM QUALQUER BANCO OU CASA LOTÉRICA ATÉ O VENCIMENTO", 2) *_saytxt(24, 01, dtoc(date()), 2) // Data Documento *_saytxt(24, 93, dtoc(date()), 2) // Data Processamento _saytxt(31, 30, "SR", 2) _saytxt(31, 42, "R$", 2) ///// // // Segundo Bloco // ///// @ kra + xa[1] + (y * 85), x * 7 int25 cod_barra of oprn oprn:saybitmap(kra + xa[1] + y + 20, x * 6 +25, 'caixa2.bmp', y * 20, x * 5) oprn:saybitmap(kra + xa[1] + y - 520, x * 6+25, 'caixa2.bmp', y * 20, x * 5) // de cima oprn:saybitmap(kra + xa[1] + y - 1917, x * 6, 'logo.bmp', y * 28, x * 16) // de cima *oprn:saybitmap(90, 60, 'logo.bmp', 339, 230) // de cima *oprn:saybitmap(1520, 130, 'caixa2.bmp', 300, 80) // de cima *oprn:saybitmap(2060, 130, 'caixa2.bmp', 300, 70) // de cima oprn:endpage() return(Nil) ****************************************************************************************** static function monta ****************************************************************************************** aonde := {} aadd(aonde, {-145, 25,-145, 200}) // linha cabecalho * QUADRO DO CORPO aadd(aonde, { -75, 25, -75, 200}) // LINHA INFERIOR aadd(aonde, {-125, 25,-125, 200}) // LINHA SUPERIOR aadd(aonde, { -75, 25,-125, 25}) // LINHA VERTICAL ESQ aadd(aonde, { -75,200,-125, 200}) // LINHA VERTICAL DIR ******************************************** aadd(aonde, { -60, 95, -60, 110}) // LINHA TOTAL aadd(aonde, { -48, 20, -48, 210}) // LINHA DE CORTE *********************************************************************** aadd(aonde, { -45, 20, -45, 200}) // LINHA RECIBO superior aadd(aonde, {-45, 20, -5, 20}) // LINHA ESQ aadd(aonde, {-45, 200, -5, 200}) // LINHA DIR aadd(aonde, {-37, 20, -37, 200}) // LINHA 1 *************************************************************** aadd(aonde, {-30, 20, -30, 155}) // linha horiz aadd(aonde, {-15, 20, -15, 200}) // linha horiz aadd(aonde, {-05, 20, -05, 200}) // linha inferior aadd(aonde, {-02, 20, -02, 210}) // LINHA DE CORTE aadd(aonde, {-37, 60, -45, 60}) // linha vert aadd(aonde, {-37, 75, -45, 75}) // linha vert aadd(aonde, {-15, 155, -37, 155}) // linha vertical vencimento aadd(aonde, {-30, 155, -30, 200}) // linha horiz aadd(aonde, {-22, 155, -22, 200}) // linha horiz *********************** FICHA COMPENSACAO ******* aadd(aonde, {1, 20, 1, 200}) // Bloco 1 aadd(aonde, {1, 20, 102, 20}) aadd(aonde, {1, 200, 102, 200}) aadd(aonde, {102, 20, 102, 200}) aadd(aonde, {08, 20, 08, 200}) // 2 LINHA aadd(aonde, {15, 20, 15, 200}) // 3 LINHA aadd(aonde, {22, 20, 22, 200}) // 4 LINHA aadd(aonde, {28, 20, 28, 200}) // 5 LINHA aadd(aonde, {35, 20, 35, 200}) // 6 LINHA aadd(aonde, {67, 20, 67, 200}) // 7 LINHA aadd(aonde, {82, 20, 82, 200}) // 8 LINHA aadd(aonde, {41, 20, 41, 200}) aadd(aonde, {47, 155, 47, 200}) aadd(aonde, {53, 155, 53, 200}) aadd(aonde, {59, 155, 59, 200}) aadd(aonde, {01, 60, 08, 60}) // VERT aadd(aonde, {01, 75, 08, 75}) // VERT aadd(aonde, {08, 155, 82, 155}) // linha vertical vencimento aadd(aonde, {22, 46, 28, 46}) aadd(aonde, {22, 81, 28, 81}) aadd(aonde, {22, 99, 28, 99}) aadd(aonde, {22, 112, 28, 112}) aadd(aonde, {28, 49, 35, 49}) aadd(aonde, {28, 59, 35, 59}) aadd(aonde, {28, 74, 35, 74}) aadd(aonde, {28, 119, 35, 119}) return(nil) ***************************************************************************************** static function _saytxt(lin, col, frase, qual) ***************************************************************************************** default qual := 1 if qual = 1 oprn:say(kra + xa[1] + (y * lin), x * (col + 5), frase, ofont) elseif qual = 2 oprn:say(kra + xa[1] + (y * lin), x * (col + 5), frase, ofont2) else oprn:say(kra + xa[1] + (y * lin), x * (col + 5), frase, ofontn) end return(Nil) ***************************************************************************************** function vircfgfont(oprn, nome, ofont, ofontn, sentido) ***************************************************************************************** default sentido := 'N' oFont:= TFont():New(Nome ,; (x * 1) - 2 ,; // Largura (y * 3) - 3 ,; // Altura .F. ,; .F. ,; // Negrito iif(sentido # 'I', 0, 900),; // Orientação 900 = 90º | 0 = 0º 0 ,; 0 ,; .F. ,; .F. ,; .F. ,; 0 ,; 0 ,; 0 ,; 0) // Criando Fonte Negrito oFontn:= TFont():New(Nome ,; (x * 1) - 2 ,; // Largura (y * 3) - 3 ,; // Altura .F. ,; .T. ,; // Negrito iif(sentido # 'I', 0, 900),; // Orientação 900 = 90º | 0 = 0º 0 ,; 0 ,; .F. ,; .F. ,; .F. ,; 0 ,; 0 ,; 0 ,; 0) oPrn:SetFont(oFont) Return(Nil) ***************************************************************************************** function virfont2(oprn, nome, ofont, larg, altu, sentido) ***************************************************************************************** default sentido := 'N' oFont:= TFont():New(Nome ,; (x * larg) ,; // Largura (y * altu) ,; // Altura .F. ,; .F. ,; // Negrito iif(sentido # 'I', 0, 900),; // Orientação 900 = 90º | 0 = 0º 0 ,; 0 ,; .F. ,; .F. ,; .F. ,; 0 ,; 0 ,; 0 ,; 0) oPrn:SetFont(oFont) Return(Nil) ***************************************************************************************** function virfont3(oprn, nome, ofont, nqual) ***************************************************************************************** oFont:= TFont():New(Nome ,; 50 ,; // Largura // 20 ,; // Largura 70 ,; // Altura // 60 ,; // Altura .F. ,; // Chama Janela de seleção de fonte .F. ,; // Negrito 0 ,; // Escapement 0 ,; // Orientação 0 ,; // Tamanho .F. ,; // Itálico .F. ,; // Sublinhado .F. ,; // Riscado 0 ,; // CharSet 0 ,; // OutPrecision 0 ,; // ClipPrecision nqual) // Quality oPrn:SetFont(oFont) Return(Nil) *** *** Calcula Módulo 10 *** ***************************************************************************************** static function mod10(q_num) ***************************************************************************************** local x1, x2, x3, x4, x5, x6, x7 if empty(q_num) return('X') end x1 := len(q_num) x2 := right(_mod10, x1) x3 := 0 for x4 := 1 to x1 x5 := val(substr(q_num, x4, 1)) * val(substr(x2, x4, 1)) x6 := strzero(x5, 2) x7 := val(left(x6, 1)) + val(right(x6, 1)) x3 += x7 next x5 := int(x3 / 10) x7 := x3 - (x5 * 10) x2 := str(iif(x7 = 0, 0, 10 - x7), 1) return(x2) *** *** Calcula Módulo 11 *** ***************************************************************************************** static function mod11(q_num) ***************************************************************************************** local x1, x2, x3, x4, x5, x6, x7 if empty(q_num) return('X') end x1 := len(q_num) x2 := right(_mod11, x1) x3 := 0 for x4 := 1 to x1 x5 := val(substr(q_num, x4, 1)) * val(substr(x2, x4, 1)) x3 += x5 next x5 := int(x3 / 11) x7 := x3 - (x5 * 11) x2 := str(iif(x7 <= 1 .or. x7 > 9, 1, 11 - x7), 1) return(x2) ***************************************************************************************** static function mod11X(q_num) ***************************************************************************************** local x1, x2, x3, x4, x5, x6, x7 if empty(q_num) return('X') end x1 := len(q_num) x2 := right(_mod11, x1) x3 := 0 for x4 := 1 to x1 x5 := val(substr(q_num, x4, 1)) * val(substr(x2, x4, 1)) x3 += x5 next x5 := int(x3 / 11) x7 := x3 - (x5 * 11) x2 := str(iif(x7 <= 1 .or. x7 > 9, 0, 11 - x7), 1) return(x2) *** *** ***************************************************************************************** static function monta_codigo ***************************************************************************************** local xcod, xbarra xbarra := '1049' // Código do Banco + Moeda (9 - Real) xbarra += f_venc // Fator de Vencimento xbarra += v_docum // Valor do Documento xbarra += c_livre // Campo Livre dv_codb := mod11(xbarra) // xbarra := stuff(xbarra, 5, 0, dv_codb) // Digito Verificador Geral Código de Barras xcod := '1049' + substr(c_livre, 1, 5) xcod += mod10(xcod) // 1o. campo xcod += substr(c_livre, 6, 10) + mod10(substr(c_livre, 6, 10)) // 2o. campo xcod += substr(c_livre, 16, 10) + mod10(substr(c_livre, 16, 10)) // 3o. campo xcod += dv_codb // 4o. campo (digito verificador geral do código de barra) xcod += f_venc // 5o. campo (1/2) xcod += v_docum // 5o. campo (2/2) cod_dig := xcod cod_barra := xbarra return(Nil) *** *** Calcula o fator de vencimento *** Monta Valor Documento *** Monta Campo Livre *** ***************************************************************************************** static function prepara ***************************************************************************************** f_venc := strzero(datavenc - ctod('07/10/1997'), 4) v_docum := strzero(valor * 100, 10) c_livre := left(nosso_n, 10) + ALLTRIM(vCeden) return(Nil)
-
tenho um relatorio em fivewin que contem imagem e em cada impressora a imagem muda de lugar, existe uma forma de padronizar o relatorio independente do modelo de impressora.
-
tenho um relatorio em fivewin que contem imagem e em cada impressora a imagem muda de lugar, existe uma forma de padronizar o relatorio independente do modelo de impressora.
-
utilizei o exemplo de boleto bancario do fivewin com logomarca do banco e da empresa, mas em cada micro que instalo o sistema o relatorio fica mais acima ou mais abaixo, as logomarcas ficam maiores descentralidas, eu configuro no meu micro e quando chego no cliente fica fora. sera que possa ser esse comando: printer oprn DOC "Gerente - [boleto Caixa]" preview x_1 := oprn:nhorzres() y_1 := oprn:nvertres() xa := oprn:cmtr2pix(1, 2.5) // Deslocamento xb := oprn:cmtr2pix(2, 3.5) // Deslocamento y := (xb[1] - xa[1]) / 10 x := (xb[2] - xa[2]) / 10 @ kra + xa[1] + (y * 85), x * 7 int25 cod_barra of oprn oprn:saybitmap(kra + xa[1] + y + 20, x * 6 +25, 'caixa2.bmp', y * 20, x * 5) oprn:saybitmap(kra + xa[1] + y - 520, x * 6+25, 'caixa2.bmp', y * 20, x * 5) oprn:saybitmap(kra + xa[1] + y - 1917, x * 6, 'logo.bmp', y * 28, x * 16)