Escolar Documentos
Profissional Documentos
Cultura Documentos
Anuncie
Buscar códigos
Fale conosco
Códigos
ASP.NET
ASP
Cold Fusion
CGI
C#
JavaScript
Delphi
PHP
VB.NET
VBScript
XML
Assistentes
Favoritos
Botão Direito
Confirm Box
Datas
Caixa de Alerta
Transições
Cores em Hexa
Links
Outros
Artigos/Dicas
ASP
Banco de Dados
Blogs
CGI/Perl
C# (CSharp)
CSS
Delphi
.NET
Flash
Front-Page
HTML
JavaScript
PHP
Python
Web
Web 2.0
Windows
Gadgets
Mural de Recados
Contadores
Conta Cliques
Serviços
Notícias
Web Objects
GamesDaNet
Chama MSN
Jogos Online
Feed RSS
Expediente
Anuncie
Fórum
Bate-papo
Orkut
Divulgue-nos
Privacidade
Contato
Parceiros
Fontes Gratis
Br-Designer.com
Notebooks
Iscambo.com
Garu Downloads
Oficina da Net
Sonhos
.NET User Group
Piadas online
GMasters
HTML Staff
CriarWeb.com
Conteúdo
Delphi
Adicionar a Meu favorito
Domingo, 23 de Julho de 2006
Código de Barras EAN 13 e EAN 8
Nesse artigo mostrarei como desenhar dois tipos de código de barras EAN 13 e EAN 8, em um
PictureBox, não enfocarei nesse artigo a explicação de como construir o algaritimo de desenho do
Código de Barra, é necessário um estudo especifico no Padrão EAN para entender como é construído
um Código de Barra, estaria disponibilizando as funções necessárias e explicando o processo para a
confecção de um aplicativo simples.
Em outro artigo estarei demonstrando como imprimir esse Código de barra usando o componente
PrintDocument.
Vamos iniciar uma novo Projeto Windows Forms, coloque um Label altere o Text para Código de
Barra, um TextBox, um PictureBox altere a BackColor para Window, um Button altere o Text para
Desenhar, seu formulário deve ficar parecido com a Figura 1.
Declare a Função EANCodeBin, ela transforma o Código EAN em Binário essa função é usada pela
função PrintEanBarcode, acompanhe a Listagem 1.
for I := 0 to strEANCode.Length - 1 do
if (strAux.Chars[I].ToString < '0') or (strAux.Chars[I].ToString > '9') then
Exception.Create('Caracter Inválidos no EAN');
StrBinCode := '000101';
For I := 1 To (Length(strAux) div 2) do
Case Convert.ToInt32(Copy(strAux, I, 1)) of
0:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0001101'
else
StrBinCode := StrBinCode + '0100111';
end;
1:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0011001'
else
StrBinCode := StrBinCode + '0110011';
end;
2:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0010011'
else
StrBinCode := StrBinCode + '0011011';
end;
3:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0111101'
else
StrBinCode := StrBinCode + '0100001';
end;
4:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0100011'
else
StrBinCode := StrBinCode + '0011101';
end;
5:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0110001'
else
StrBinCode := StrBinCode + '0111001';
end;
6:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0101111'
else
StrBinCode := StrBinCode + '0000101';
end;
7:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0111011'
else
StrBinCode := StrBinCode + '0010001';
end;
8:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0110111'
else
StrBinCode := StrBinCode + '0001001';
end;
9:
begin
if Copy(StrCodigo, I, 1) = '0' then
StrBinCode := StrBinCode + '0001011'
else
StrBinCode := StrBinCode + '0010111';
end;
end;
StrBinCode := StrBinCode + '01010';
sngPosX := sngXX1;
sngPosY := sngYY2 - (1.5 * FontText.Height);
BrushX := SolidBrush.Create(objPicBox.BackColor);
objPicBox.CreateGraphics.FillRectangle(BrushX, sngXX1, sngYY1, sngXX2 - sngXX1, sngYY2
for I := 1 To Length(strEANBin) do
begin
If Copy(strEANBin, I, 1) = '1' Then
begin
BrushX := SolidBrush.Create(objPicBox.ForeColor);
objPicBox.CreateGraphics.FillRectangle(BrushX, sngPosX, sngYY1, sngScaleX, sngPosY);
end;
sngPosX := sngXX1 + (I * sngScaleX);
end;
strFormat.Alignment := StringAlignment.Center;
strFormat.FormatFlags := StringFormatFlags.NoWrap;
BrushX := SolidBrush.Create(objPicBox.ForeColor);
objPicBox.CreateGraphics.DrawString(strEANCode, FontText, BrushX, Convert.ToSingle((sngXX2
end;
No evento Click do Button1 coloque o seguinte código para executar a Função de desenhar as barras
do código de barra, Listagem 3.
Listagem 3. Executando a Função para Desenhar Barra
Não esqueça de colocar no uses SysUtils, agora basta você digitar um Código de Barra e clicar em
desenhar que ele desenhará as barras no PictureBox veja a Figura 2 e Figura 3.
Abraços a Todos.
Outros artigos
Assine o Feed desta categoria
Procurando Letras, Palavras em um TMemo. - 26/04/2006
Programação Orientada a Objetos - 19/03/2005
Classe Helpers - 13/07/2006
Lendo e gravando arquivos de texto - 10/03/2005
Ver mais...
» Busca avançada
Login:
Senha:
» Esqueci Senha
» Cadastre-se
Buscas:
- Mp4
- Celular
- Notebook
- Camera Digital
- Iphone
- Ipod
- Pen Drive
Categorias:
- Eletrônicos, Áudio e
Vídeo
- Informática
- Câmeras e Foto
- Celulares e Telefonia
- Acessórios para
Veículos
- Móveis e Decoração
» Procurando iPhones?
... e que tal iPods?
! "
CompreDeTudo.com
Ingresso no Celular
Utilize o celular para
entrar em e- ventos,
cinemas, etc. Fácil !
www.e-deploy.com.br
Plaquetas de
Patrimônio
Etiquetas adesivas,
plaquetas de identificação
com código de barras.
www.csp-conpat.com.br
Leitores Código de
Barras
Leitores industriais
leves/robustos com
tecnologia Bluetooth e RF
www.gengscann.com.br
Argox OS214 -
Libermac
Impressora de Código de
Barras Promoção por
tempo limitado
www.libermac.com
Automasite -
0800.7733880
Argox OS214TT R$
609,00 nota fiscal 3x sem
juros, frete grátis
www.automasite.com.br