Postada em 16/03/2006 09:41 hs
Caro amigo Daniel, qual o e-mail q posso te passar o layout do bradesco.. Assim vc tera todas as informações para criar as rotinas do boleto.. Abaixo estarei lhe adiantando alguns procedimentos.. Vc tera q criar rotinas como. *Fator Vencimento *Calculo de Modulo 11 *NossoNumero *Linha Digitavel *Codigo de barra.
Abaixo esta a rotina do banco da CAIXA ECONOMICA, os procedimentos não são tão diferentes de banco pra banco, é por isso q tem de ter o layout do Bradesco.
=======>ROTINA DO FATOR VENCIMENTO Function iFatorVencimento(dDataVencimento As String) As String Dim dDataBase As String dDataBase = "7/10/1997" iFatorVencimento = DateDiff("d", dDataBase, dDataVencimento) iFatorVencimento = Right(iFatorVencimento, 4) iFatorVencimento = Format(iFatorVencimento, "0000") End Function
=========>CALCULO DO MODULO 11 Function iDigitoM11(nCode As String) As Integer Dim iSoma As Integer Dim I As Integer Dim iAux As Double Dim iMultiplicador As Integer iSoma = 0 iAux = 0 iMultiplicador = 2 For I = Len(nCode) To 1 Step -1 iAux = Val(Trim(Mid(nCode, I, 1))) iAux = iAux * iMultiplicador iMultiplicador = iMultiplicador + 1 If iMultiplicador = 10 Then iMultiplicador = 2 End If iSoma = iSoma + iAux Next iAux = Int(iSoma / 11) iDigitoM11 = iSoma - (iAux * 11) iDigitoM11 = 11 - iDigitoM11 If Len(nCode) <> 43 Then If iDigitoM11 > 9 Then iDigitoM11 = 0 End If Else If iDigitoM11 = 0 Or iDigitoM11 = 1 Or iDigitoM11 > 9 Then iDigitoM11 = 1 End If End If End Function
=====> ROTINA DO NOSSO NUMERO Function sNossoNumSICOB(sNossoNumero As String, pModo As Integer) As String
' Modo 1 - Cobrança sem Registro ' Modo 2 - Cobrança Rápida
sNossoNumSICOB = "" Select Case pModo Case 1 sNossoNumSICOB = Format(sNossoNumero, "00000000") sNossoNumSICOB = "82" & sNossoNumSICOB sNossoNumSICOB = sNossoNumSICOB & "-" & iDigitoM11(sNossoNumSICOB) Case 2 sNossoNumSICOB = Format(sNossoNumero, "000000000") sNossoNumSICOB = "9" & sNossoNumSICOB sNossoNumSICOB = sNossoNumSICOB & "-" & iDigitoM11(sNossoNumSICOB) End Select End Function
========> ROTINA DO CODIGO DE BARRAS Function sCodigoBarra(nCode As String) As String
Dim cBarra As String Dim cSoma1 As Integer Dim cSoma2 As Integer Dim nNumero(10) As String Dim aux As String Dim aux1 As String Dim aux2 As String Dim par As Integer Dim I As Integer Dim J As Integer nNumero(0) = "00110" nNumero(1) = "10001" nNumero(2) = "01001" nNumero(3) = "11000" nNumero(4) = "00101" nNumero(5) = "10100" nNumero(6) = "01100" nNumero(7) = "00011" nNumero(8) = "10010" nNumero(9) = "01010" If Not bPar(Len(nCode)) Then nCode = "0" & nCode End If For I = 2 To Len(nCode) Step 2 cSoma1 = Val(Mid(nCode, I - 1, 1)) cSoma2 = Val(Mid(nCode, I, 1)) aux1 = nNumero(cSoma1) aux2 = nNumero(cSoma2) aux = "" For J = 1 To 5 aux = aux & Mid(aux1, J, 1) & Mid(aux2, J, 1) Next For J = 1 To 10 Step 2 If Mid(aux, J, 2) = "00" Then cBarra = cBarra & "A" ElseIf Mid(aux, J, 2) = "01" Then cBarra = cBarra & "B" ElseIf Mid(aux, J, 2) = "10" Then cBarra = cBarra & "C" ElseIf Mid(aux, J, 2) = "11" Then cBarra = cBarra & "D" End If Next Next cBarra = "<" & cBarra & ">" sCodigoBarra = cBarra End Function
=======>ROTINA DA LINHA DIGITAVEL Function sLinhaDigitavel(nCode As String) As String
Dim sCampo1 As String Dim sCampo2 As String Dim sCampo3 As String Dim sCampo4 As String Dim sCampo5 As String sCampo1 = Mid(nCode, 1, 4) & Mid(nCode, 20, 5) sCampo1 = sCampo1 & iDigitoM10(sCampo1) sCampo2 = Mid(nCode, 25, 10) sCampo2 = sCampo2 & iDigitoM10(sCampo2) sCampo3 = Mid(nCode, 35, 10) sCampo3 = sCampo3 & iDigitoM10(sCampo3) sCampo4 = Mid(nCode, 5, 1) sCampo5 = Mid(nCode, 6, 4) & Mid(nCode, 10, 10) sLinhaDigitavel = Left(sCampo1, 5) & "." & Right(sCampo1, 5) sLinhaDigitavel = sLinhaDigitavel & " " & Left(sCampo2, 5) & "." & Right(sCampo2, 6) sLinhaDigitavel = sLinhaDigitavel & " " & Left(sCampo3, 5) & "." & Right(sCampo3, 6) sLinhaDigitavel = sLinhaDigitavel & " " & sCampo4 & " " & sCampo5 End Function
Talvez seja meio complicado vc entender dessa forma, mas se vc olhar no layout vai começar a entender as rotinas..
--------------------------------- Valmir Ferreira Rocha Sistemas de Informação ---------------------------------
|