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
}
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009