Buscar

Gerador de codigos de confirmação (muito legal - dietrich)

Código

{
Pessoal,

Segue uma dica muito legal de um gerador de codigos de confirmação que eu fiz! Igual aos que aparecem nas paginas de Internet.

A procedure está prontinha. É só passar como parametro o componente TImage que vc deseja que seja exibido os caracteres de confirmação e alterar à vontade o valor das variáveis da procedure.

Espero que gostem da dica!!!
}


procedure TfrmPrinc.codigos(Imagem: TImage);
var Chars,codigo:string;
    i,X,Y,n,tamanho,espaco,cor:integer;
    Bitmap: TBitmap;
begin
//rdietrich 27/02/2007  

//possíveis caracteres que serão exibidos na Imgem.
chars:='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234
567890'
;
  y:=6;        //altura em que vai variar o print dos chars
  x:=10;        //ponto que vai ser printado o primeiro char
  tamanho:=20;  //tamanho da fonte utilizada
  espaco:=40;   //espassamento entre os caracteres
  n:=4;         //numero de chars que vai existir no codigo
  cor:=5999857; //numero da cor que será randomizado

  Imagem.Refresh;
  Imagem.Canvas.LineTo(10,20);
  codigo:='';
  Imagem.Picture.Bitmap:=nil;
  //gera o codigo;
  Imagem.Canvas.Brush.Color:=$00F7F8F9;
  Imagem.Canvas.Pen.Color:=$00F7F8F9;
  Imagem.Canvas.Rectangle(0,0,Imagem.Width,Imagem.Height);
  for i:=0 to n do
  begin
    codigo:=Codigo+Copy(chars,Random(Length(chars)),1);
  end;
  //printa o codigo na tela
  for i:=1 to Length(codigo)-1 do
  begin
    Imagem.Canvas.Font.Size:=random(tamanho)+15;
    Imagem.Canvas.Font.Color:=random(cor);
    Imagem.Canvas.Font.Name:='Times New Roman';
    Imagem.Canvas.Font.Style:= Imagem.Canvas.Font.Style+[fsBold];
    Imagem.Canvas.TextOut(x,random(y),Copy(codigo,i,1));
    inc(x,espaco);

    //COLOCA 2 TRAÇO NA TELA PARA CADA CARACTER
    Imagem.Canvas.Pen.Width:=3;
    Imagem.Canvas.Pen.Color:=random(cor);
    Imagem.Canvas.LineTo(random(250),random(200));
    Imagem.Canvas.LineTo(random(250),random(200));
  end;
end;

{
Abraço à todos!

att,
Rafael Dietrich
}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Imagens
Adicionada dia: 27/02/07
Por: Rafael Dietrich
Visualizada: 10688 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009