Código
procedure TFrmPrincipal.Criar(Arquivo : string; tx, ty : integer);
var p : array[1..800,1..600] of boolean;
x,y,td : integer;
begin
FrmPrincipal.memoDescanso.Clear; // criar objeto memoDescando -> TMemo no FrmPrincipal
for x:=1 to tx do
for y:=1 to ty do
p[x,y]:= false;
td:=1;
while td <= tx*ty do
begin
x:=random(tx);
y:=random(ty);
if not p[x,y] then
begin
p[x,y]:=true;
FrmPrincipal.memoDescanso.Lines.Add(inttostr(x));
FrmPrincipal.memoDescanso.Lines.Add(inttostr(y));
td:=td+1;
end;
end;
FrmPrincipal.memoDescanso.Lines.SaveToFile(Arquivo);
end;
procedure TFrmPrincipal.PegarPosicao(Arquivo : string; memo : TMemo);
begin
memo.Clear;
memo.Lines.LoadFromFile(Arquivo);
end;
procedure TFrmPrincipal.RandomFigura(Frm : TForm; IM : TImage; memo : TMemo; Mostrar : boolean; Cor : TColor);
var td, x, y : integer;
begin
td:=1;
while td<= 2* (IM.width*IM.height) do //dobro de X x Y
begin
x:= strtoint(memo.Lines.Strings[td-1]);
y:= strtoint(memo.Lines.Strings[td]);
if Mostrar then
Frm.canvas.Pixels[x+ IM.Left ,y+ IM.Top]:= IM.Picture.Bitmap.Canvas.Pixels[x,y]
else
Frm.canvas.Pixels[x+ IM.Left ,y+ IM.Top]:= Cor;
td:=td+2;
end;
end;
///////////////////////////////////////////////////////////////////
{
Como utilizar:
inserir componente MemoDescnado - TMemo
inserir componente Image1 - TImage (coloca uma figura dentro dele) e visible FALSE nao esquece cara
sugestao comece com uma imagem pequena tipo 200x90
1 passo:
criar os pontos de aparição (basta fz 1 vez em todo o sistema)
FrmPrincipal.Criar('pontos.adr', Image1.Width, Image1.Height);
2 passo:
Uma vez gravado o arquivo, ler os pontos de aparição para dentro de um memo que deve ser criado no formulário qq
FrmPrincipal.PegarPosicao('pontos.Adr', FrmPrincipal.memoDescanso);
3 passo
FrmPrincipal.RandomFigura( FrmPrincipal, Image1, FrmPrincipal.memoDescanso, false, clBtnFace);
end;
FrmPrincipal.RandomFigura(FrmPrincipal, Image1, FrmPrincipal.memoDescanso,true, clBlack);
Vc pode plotar a figura em qq formulário, mudando o nome do formulário do RandomFigura(nome_form, nome_image, frmPrincipal.memoDescanso, False, clBtnFace)
qq coisa manda e-mail pra mim adrianosistemas@yahoo.com.br
adrianosistemas@hotmail.com (msn) falou
}
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009