Ver Mensaje Individual
  #2  
Antiguo 25-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola bulc.

A ver si lo que buscas es algo como este ejemplo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FImgArray: array of TImage;
    procedure MergeImages();
  public
  end;
var
  Form1: TForm1;

implementation 

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  Randomize;
  for i:= 0 to ComponentCount-1 do
    if Components[i].ClassType = TImage then
    begin
      SetLength(FImgArray, Length(FImgArray)+1);
      FImgArray[i] := TImage(Components[i]);
    end;
end;

procedure TForm1.MergeImages();
var
  i, a, b: Integer;
  aux: TPoint;
begin
  for i:= Low(FImgArray) to High(FImgArray) shr 1 do
  begin
    a:= Random(High(FImgArray)+1);
    b:= Random(High(FImgArray)+1);
    aux:= Point(FImgArray[a].Left, FImgArray[a].Top);
    FImgArray[a].Left:= FImgArray[b].Left;
    FImgArray[a].Top := FImgArray[b].Top;
    FImgArray[b].Left:= aux.X;
    FImgArray[b].Top := aux.Y;
  end;
end;

procedure TForm1.btnMergeClick(Sender: TObject);
begin
  MergeImages()
end;
...

Muestra:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-04-2015 a las 20:20:11.
Responder Con Cita