Jump to content
Fivewin Brasil

nil

Membros
  • Posts

    35
  • Joined

  • Last visited

nil's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Alguem sabe como configurar windows 7 e windows vista para programas em clipper (DOS), para funcionar bem e em tela cheia.
  2. Alguem sabe como configurar windows 7 e windows vista para programas em clipper (DOS), para funcionar bem e em tela cheia.
  3. nil

    windows vista

    existe alguma configuracao especial no vista para rodar programas em clipper
  4. existe alguma configuracao especial no vista para rodar programas em clipper
  5. VALEU GALERA FICOU 100%, OBRIGADO A TODOS
  6. nil

    XHARBOUR

    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
  7. nil

    XHARBOUR

    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
  8. 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
  9. 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
  10. 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
  11. *** *** 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)
  12. *** *** 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)
  13. 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.
  14. 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.
  15. 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)
×
×
  • Create New...