BOLETO BANCARIO

DIONISIO 06/06/2017 15:21:20
#474343
BOA TARDE A TODOS, ESTOU COM PROBLEMA ALGUEM PODE ME AJUDAR, COM ESTE CODIGO ABAIXO E GERO CODIGO DE BARRAS DE BOLETO BANCARIO EM UM RELATORIO DO ACCESS, MAS ESTOU QUERENDO MUDAR PARA UM DATAREPORT DO VB6.0 DE QUE FORMA EU POSSO USAR ESTE CODIGO ABAIXO DENTRO DO CODIGO DO DATAREPORT? ALGUEM PODE ME AJUDAR?



Function barcode(anycode)
Dim db As Database, tbllookup As Recordset

Dim nbar, wbar, ibar, startx, starty, depth, newposn As Single
Dim numero As Integer
Dim countx, countz, countr As Single
Dim getstr, exstr As String
Dim scanstr, onechr, num_scanstr As String
Dim colour As Long
Dim rpt As Report

Set db = CurrentDb()
Set rpt = Reports![boleto_Itau_C71]
[ô][ô]Stop
DoCmd.Maximize

startx = 270 [ô][ô] Coordena o Codigo na HORIZONTAL(deitado)
starty = 15180 [ô][ô] Coordena o Codigo na VERTICAL(em pe) ate 15000(para A4)
nbar = 17 [ô][ô] 14 [ô][ô] Dimensao das Barras
wbar = 41 [ô][ô] 30 [ô][ô] Largura da Barra Grossa
ibar = 35 [ô][ô] 20 [ô][ô] Largura da Barra Fina
depth = 700 [ô][ô] 450 [ô][ô] Altura da Barra
newposn = startx [ô][ô] Posiciona as Barras
colour = 16777215 [ô][ô] Define a Cor para Iniciar(esta e Branca)

Set tbllookup = db.OpenRecordset([Ô]tab_risco[Ô])
getstr = anycode
extstr = getstr

tbllookup.index = [Ô]character[Ô]
numero = 1

[ô][ô]------Aqui e Delimitador do Inicio do Codigo de Barras--------------------------
colour = 0
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

colour = 16777215
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

colour = 0
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

colour = 16777215
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar
[ô][ô]------Aqui e o Final do Delimitador do Inicio do Codigo de Barras---------------


[ô][ô]------Aqui Inicia o Loop para divisao dos 44 caracteres em sequencia de 2 de 5 Intercalado
[ô][ô]------e busca a representação grafica na tabela (tab_risco)
For countx = 1 To (Len(extstr) / 2)
tbllookup.Seek [Ô]=[Ô], Mid$(extstr, numero, 2)

numero = numero + 2
If tbllookup.nomatch Then
[ô][ô] --Se a (tab_risco) estiver vazia, sa esta mensagem, mas mesmo assim continua

MsgBox ([Ô]Campo contem caracter não suportado por 2 de 5[Ô])
rpt.Line (startx, starty)-Step(depth, depth), 155, BF

Else
num_scanstr = tbllookup![character]
scanstr = tbllookup![pattern]
For countz = 1 To 10
onechr = Mid$(scanstr, countz, 1)
If colour = 16777215 Then [ô][ô]-- Esta cor e Branca
colour = 0 [ô][ô]-- Esta cor e Preta
Else
colour = 16777215
End If

Select Case onechr [ô][ô]-- Aqui Monta os Riscos
Case [Ô]L[Ô] [ô][ô]-- Este e o Risco Grosso

rpt.Line (newposn, starty)-Step(wbar, depth), colour, BF
newposn = newposn + wbar

Case [Ô]S[Ô] [ô][ô]-- Este e o Risco Fino

rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

Case Else [ô][ô]-- Aqui sai se a Tabela que representa os riscos fino/grosso
[ô][ô]-- estiver errado -- L/S

MsgBox [Ô]Erro@[Ô] & [Ô]@- Um código incorreto foi digitado na Tabela 'Barra'[Ô] & Chr(13) & Chr(13) _
& [Ô]- Verifique se o campo Pattern nao foi alterado[Ô], vbCritical
rpt.Line (startx, starty)-Step(depth, depth), 8388608, BF
End Select
Next countz
End If
Next countx

[ô][ô]------Aqui e Delimitador do Final do Codigo de Barras--------------------------
colour = 16777215
newposn = newposn - nbar
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

colour = 0
rpt.Line (newposn, starty)-Step(wbar, depth), colour, BF
newposn = newposn + wbar

colour = 16777215
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

colour = 0
rpt.Line (newposn, starty)-Step(nbar, depth), colour, BF
newposn = newposn + nbar

tbllookup.Close

End Function
Faça seu login para responder