Ver Mensaje Individual
  #12  
Antiguo 01-04-2009
Davidcfres Davidcfres is offline
Miembro
 
Registrado: ago 2007
Ubicación: Francia
Posts: 10
Reputación: 0
Davidcfres Va por buen camino
:)

Vale, lo siento por mi ultima repuesta...

eso es una solucion



Código Delphi [-]
uses types;
procedure TForm4.Button1Click(Sender: TObject);
  function PositionValide(ImageRect:TRect; Liste:TObjectList):boolean;
  var
    i : integer;
    tmpRect : TRect;
    Unused : TRect;
  begin
    result := true;
    i := 0 ;
    while ( i < Liste.count ) and result do
    begin
      tmpRect := TImage(Liste[i]).BoundsRect;
      result := not(IntersectRect(Unused, tmpRect, ImageRect));
      inc(i);
    end
  end;
var
  nbImage : integer;
  tmpImage : TImage;
  ImageListe : TObjectList;
  i : integer;
begin
  nbImage := 20;
  ImageListe := TObjectList.Create(false);
  For i := 0 to nbImage-1 do
  begin
    tmpImage := TImage.Create(self);
    tmpImage.Picture.LoadFromFile('C:\Documents and Settings\David\Mes documents\Mes images\erreur.bmp');
    repeat
      tmpImage.Left := random(self.ClientWidth - tmpImage.Width);
      tmpImage.Top := random(self.ClientHeight - tmpImage.Height);
    until PositionValide(tmpImage.BoundsRect , ImageListe);
    tmpImage.Parent := self;
    ImageListe.Add(tmpImage);
    application.ProcessMessages;
  end;
 
  freeAndNil(ImageListe);
end;
Responder Con Cita