ERRO NA GERACAO DE CODIGO DE BARRAS
Está dando o seguinte erro: Parâmetro inválido! Uso o código abaixo para gerar o código de barras a medida que se digita. Eu digito e ele vai gerando o código, mas dá erro se eu apagar alguns números com o Backspace do teclado. Ainda não consegui descobrir o erro.
Private Function formataCodigoBarras(ByVal codigo As String) As String
Dim codigoBarras As String
codigoBarras = String.Format([Ô]*{0}*[Ô], codigo)
Return codigoBarras
End Function
Private Sub txtCodBarras_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodBarras.TextChanged
Try
Dim fonte As Font
Dim pfc As PrivateFontCollection = New PrivateFontCollection
pfc.AddFontFile(Application.StartupPath & [Ô]\[Ô] & [Ô]EAN-13.TTF[Ô])
Dim fontFamily As FontFamily = pfc.Families(0)
fonte = New Font(fontFamily, 30)
[ô]Try
[ô]If txtCodBarras.Text = String.Empty And fonte Is Nothing Then
[ô] MsgBox([Ô]Entre com o código de barras[Ô], MsgBoxStyle.Exclamation, [Ô]Aviso[Ô])
[ô] [ô]lblCodBarras.Text = [Ô]Informe o número para gerar o código de barras.[Ô]
[ô] [ô]lblCodBarras.Text = [Ô][Ô]
[ô]Else
If txtCodBarras.Text <> [Ô][Ô] Then
lblCodBarras.Font = fonte
lblCodBarras.Text = formataCodigoBarras(txtCodBarras.Text)
End If
[ô]If Not (fonte Is Nothing) Then
[ô]lblCodBarra.Text = formataCodigoBarras(txtNumero.Text)
[ô]End If
[ô]End If
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Function formataCodigoBarras(ByVal codigo As String) As String
Dim codigoBarras As String
codigoBarras = String.Format([Ô]*{0}*[Ô], codigo)
Return codigoBarras
End Function
Private Sub txtCodBarras_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodBarras.TextChanged
Try
Dim fonte As Font
Dim pfc As PrivateFontCollection = New PrivateFontCollection
pfc.AddFontFile(Application.StartupPath & [Ô]\[Ô] & [Ô]EAN-13.TTF[Ô])
Dim fontFamily As FontFamily = pfc.Families(0)
fonte = New Font(fontFamily, 30)
[ô]Try
[ô]If txtCodBarras.Text = String.Empty And fonte Is Nothing Then
[ô] MsgBox([Ô]Entre com o código de barras[Ô], MsgBoxStyle.Exclamation, [Ô]Aviso[Ô])
[ô] [ô]lblCodBarras.Text = [Ô]Informe o número para gerar o código de barras.[Ô]
[ô] [ô]lblCodBarras.Text = [Ô][Ô]
[ô]Else
If txtCodBarras.Text <> [Ô][Ô] Then
lblCodBarras.Font = fonte
lblCodBarras.Text = formataCodigoBarras(txtCodBarras.Text)
End If
[ô]If Not (fonte Is Nothing) Then
[ô]lblCodBarra.Text = formataCodigoBarras(txtNumero.Text)
[ô]End If
[ô]End If
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Se possÃvel, poste a fonte EAN-13.TTF no tópico para download (no formato ZIP), pra gente fazer um teste aqui.
Eu testei em um form em branco e percebi que o erro não está no código de barras, está funcionando normalmente. Esse código peguei do site do Macoratti e é só colocar a fonte que quiser. Outra coisa, alterei o código e segue abaixo o código alterado. Tirar a formatação. Está funcionando 100%. Ainda posto abaixo um pacote de fontes e tem a fonte EAN13.ttf. Quero saber se essa fonte está certa também. Testem aÃ. Testa o EAN13 e vê se está certo e se não tiver, altere aà e poste novamente.
http://www.4shared.com/account/dir/G8AjYTwC/sharing.html?sId=bY7DmXhoAVnMm4kw#
Imports System.Drawing.Text
Public Class Form2
Private Sub txtCodBarras_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodBarras.TextChanged
Try
Dim fonte As Font
Dim pfc As PrivateFontCollection = New PrivateFontCollection
pfc.AddFontFile(Application.StartupPath & [Ô]\[Ô] & [Ô]EAN-13.TTF[Ô])
Dim fontFamily As FontFamily = pfc.Families(0)
fonte = New Font(fontFamily, 30)
lblCodBarras.Font = fonte
If txtCodBarras.TextLength > 0 Then
lblCodBarras.Text = txtCodBarras.Text
Else
lblCodBarras.Text = [Ô][Ô]
End If
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
http://www.4shared.com/account/dir/G8AjYTwC/sharing.html?sId=bY7DmXhoAVnMm4kw#
Imports System.Drawing.Text
Public Class Form2
Private Sub txtCodBarras_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCodBarras.TextChanged
Try
Dim fonte As Font
Dim pfc As PrivateFontCollection = New PrivateFontCollection
pfc.AddFontFile(Application.StartupPath & [Ô]\[Ô] & [Ô]EAN-13.TTF[Ô])
Dim fontFamily As FontFamily = pfc.Families(0)
fonte = New Font(fontFamily, 30)
lblCodBarras.Font = fonte
If txtCodBarras.TextLength > 0 Then
lblCodBarras.Text = txtCodBarras.Text
Else
lblCodBarras.Text = [Ô][Ô]
End If
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Tópico encerrado , respostas não são mais permitidas