Ir para conteúdo
Fórum Script Brasil
  • 0

Geração de Código de barras - FPDF


Antonio Luiz

Pergunta

Boas Pessoa Estou com uma dificuldade.

Encontrei probleminha, na  função abaixo calcula o codigo de barras com um digito a mais,

Se alguém puder ajudar encontrar o erro agradeço.

 

Fiz diversas alterações porém não consegui chegar no resultado..

 

    O valor que deveria  ser apresentado é :  481115243200001  porém,

    apresenta :  4811152432000001  um zero a mais. 

 

   estou usando esta rotina para o padrão  2 of 5

 

  Sub fbarcode(Valor)
               Dim f, f1, f2, i
            Dim texto
            Dim p11
            p11=11
            Const fino = 0.4
            Const largo = 0.7
            Dim BarCodes(99)
    if isempty(BarCodes(0)) then
        BarCodes(0) = "00110"
        BarCodes(1) = "10001"
        BarCodes(2) = "01001"
        BarCodes(3) = "11000"
        BarCodes(4) = "00101"
        BarCodes(5) = "10100"
        BarCodes(6) = "01100"
        BarCodes(7) = "00011"
        BarCodes(8) = "10010"
        BarCodes(9) = "01010"
        
        for f1 = 9 to 0 step -1
            for f2 = 9 to 0 Step -1
                f = f1 * 10 + f2
                texto = ""
                for i = 1 To 5
                    texto = texto & mid(BarCodes(f1), i, 1) + mid(BarCodes(f2), i, 1)
                next
                BarCodes(f) = texto
                
            next
        next
        pdf.Text "30","225",texto
    end if

    xPos=55
    p201=230
    pdf.rect xPos, p201, fino, p11, "F"
    xPos = xPos + fino + fino
    pdf.rect xPos, p201, fino, p11, "F"
    xpos = xpos + fino + fino
    
    
    For n = 1 To Len(valor_barras) Step 2
        cASC = cint(Mid(valor_barras, n, 2))
        For i = 1 To 10 Step 2
            If Mid(BarCodes(cASC), i, 1) = "0" Then
                F = fino
            Else
                F = largo
            End If
            
            
            pdf.rect xpos, p201, F, p11, "F"
            xpos = xpos + F
            If Mid(BarCodes(cASC), i + 1, 1) = "0" Then
                xpos = xpos + fino
            Else
                xpos = xpos + largo
            End If
            
        Next
    Next
    pdf.Text "30","235",xpos
    
    pdf.rect xpos, p201, largo, p11, "F"
    xpos = xpos + fino + largo
    pdf.rect xpos, p201, fino, p11, "F"
    
    
end Sub

 

 

Valeu  Obrigado...

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...