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

Código De Barras


Tbaiano

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Olá Baiano.

Adicione 1 Timage, 1 TEdit e 1 TButton no form, e use o código abaixo.

var
 Form1: TForm1;

implementation

{$R *.DFM}

Procedure TForm1.CriaCodigo(Cod : String; Imagem : TCanvas);
Const
digitos : array['0'..'9'] of string[5]= ('00110','10001','01001','11000','00101',
                                        '10100','01100','00011','10010','01010');
Var
 Numero : String;
 Cod1 : Array[1..1000] Of Char;
 Cod2 : Array[1..1000] Of Char;
 Codigo : Array[1..1000] Of Char;
 Digito : String;
 c1,c2 : Integer;
 x,y,z,h : LongInt;
 a,b,c,d : TPoint;
 I : Boolean;
Begin
 Numero := Cod;
 For x := 1 to 1000 Do Begin
    Cod1 [x] := #0;
    Cod2 [x] := #0;
    Codigo[x] := #0;
 End;
 c1 := 1;
 c2 := 1;
 x := 1;
 For y := 1 to Length(Numero) div 2 do Begin
    Digito := Digitos[Numero[x ]];
    For z := 1 to 5 do Begin
       Cod1[c1] := Digito[z];
       Inc(c1);
    End;
    Digito := Digitos[Numero[x+1]];
    For z := 1 to 5 do Begin
       Cod2[c2] := Digito[z];
       Inc(c2);
    End;
    Inc(x,2);
 End;
 y := 5;
 Codigo[1] := '0';
 Codigo[2] := '0';
 Codigo[3] := '0';
 Codigo[4] := '0'; { Inicio do Codigo }
 For x := 1 to c1-1 do begin
    Codigo[y] := Cod1[x]; Inc(y);
    Codigo[y] := Cod2[x]; Inc(y);
 end;
 Codigo[y] := '1'; Inc(y); { Final do Codigo }
 Codigo[y] := '0'; Inc(y);
 Codigo[y] := '0';
 Imagem.Pen .Width := 1;
 Imagem.Brush.Color := clBtnFace; //<<-- aqui altera a cor do fundo.;
 Imagem.Pen .Color := clBtnFace;
 a.x := 1; a.y := 0;
 b.x := 1; b.y := 79;
 c.x := 2000; c.y := 79;
 d.x := 2000; d.y := 0;
 Imagem.Polygon([a,b,c,d]);
 Imagem.Brush.Color := ClBlack;
 Imagem.Pen .Color := ClBlack;
 x := 0;
 i := True;
 for y:=1 to 1000 do begin
    If Codigo[y] <> #0 Then Begin
       If Codigo[y] = '0' then
          h := 1
       Else h := 3;
       a.x := x; a.y := 0;
       b.x := x; b.y := 79;
       c.x := x+h-1; c.y := 79;
       d.x := x+h-1; d.y := 0;
       If i Then
          Imagem.Polygon([a,b,c,d]);
       i := Not(i);
       x := x + h;
    End;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CriaCodigo(Edit1.text,Image1.Canvas);
end;

Qualquer dúvida, posta ae!!! wink.gif

Abs. Progr'amador

Link para o comentário
Compartilhar em outros sites

  • 0

Caramba, que maneiro!!

Mas, pergunta idiota dessa sexta-feira: se eu imprimir isso e passar num leitor de código de barras ele lê isso e o resultado é a mesma coisa que eu digitei no Edit?

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...