Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-03-2009
Avatar de Mindfield
Mindfield Mindfield is offline
Miembro
 
Registrado: mar 2009
Posts: 26
Poder: 0
Mindfield Va por buen camino
perdon este es el codigo
Código Delphi [-]
begin
  contador := contador + 1;
  t:= 0;
  l:= 0;
  if contador < 15 then
    begin
      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image2.Top := t;
        Image2.Left:= l;
      end;

      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image3.Top := t;
        Image3.Left:= l;
      end;

      begin
        Image4.Top := t;
        Image4.Left:= l;
      end;

      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image5.Top := t;
        Image5.Left:= l;
      end;

      begin
        Image6.Top := t;
        Image6.Left:= l;
      end;

      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image7.Top := t;
        Image7.Left:= l;
      end;

      begin
        Image8.Top := t;
        Image8.Left:= l;
      end;

      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image9.Top := t;
        Image9.Left:= l;
      end;

      begin
        Image10.Top := t;
        Image10.Left:= l;
      end;

      For t:= 0 to Random(372) do;     //top 0 a 372
      For l:= 0 to Random(575) do;    //left 0 a 575
      begin
        Image11.Top := t;
        Image11.Left:= l;
      end;
    end;

pero yo no quiero que una imagen este en la misma posicion que otra y si lo verifico las posiciones con un if es correcto ? , y tambien pedir perdón porque no estoy creando imagenes , las imagenes ya estan en el image ! , no se si sirve de algo lo que estoy diciendo ?
Responder Con Cita
  #2  
Antiguo 27-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, como te ha indicado Neftali debes guardar los datos que obteniendo con el random, paar ello podrías crearte tu estructura y almacenarlo en un TObjectList, así cada ves que quieras ver si alguno de tus valores ya estuvieran recorres tu lista y verificas. Otra cosita nose porque estas utilizando dos for si al final le asignas a Top y Left el valor del Random, si objetivo es buscar un random en un rango entonces puedes utilizar RandomRange, mas o menos así quedaría tu codigo.

Código Delphi [-]
  TCoordenadas = class
  private
   Imagen  : String;
   X,
   Y,
   aWith,
   aHeigth : Integer;
  public
  end;

 ...................
 uses Contnrs;
 ...................................
    Coordenadas  : TCoordenadas;
    Lista        : TObjectList;
 ....................................
 
procedure Guardar(aImagen : TImage);
begin
 With Coordenadas Do
  begin
   Imagen := aImagen.Name;
   X := aImagen.Left;
   Y := aImagen.Top;
   aWith := aImagen.Width;
   aHeigth := aImagen.Height;
  end;
 Lista.Add(Coordenadas);
end;

procedure PosicionarImagen(aImagen : TImage);
var
 aTop, aLeft : Integer;
begin
 //esto reemplazaría a tus for
 aTop := RandomRange(0, 372);
 aLeft := RandomRange(0, 575);
 
 aImagen.Top := aTop;
 aImagen.Left:= aLeft;
end;

//teniendo el procedimiento de arriba solo llamas con los Image que tienes
procedure TForm1.Button1Click(Sender: TObject);
begin
 Lista.Clear; //Paar limpiar nuestra lista
 PosicionarImagen(Image1);
 PosicionarImagen(Image2);
 PosicionarImagen(Image3);
 PosicionarImagen(Image4);
end;

lo que faltaría es recorrer la lista cada ves que encuentre un random y verificar si hay colisiones, si lo hay calcular otro random.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 27-03-2009
Avatar de Mindfield
Mindfield Mindfield is offline
Miembro
 
Registrado: mar 2009
Posts: 26
Poder: 0
Mindfield Va por buen camino
Hola caro ! dos cosas la primera Muchas gracias ! y la segunda que te acompaño en el sentimiento ! , cuando leo estas cosas me hace acordar a un ser muy querido que no tengo hace 22 años y que sufri mucho su perdida
Responder Con Cita
  #4  
Antiguo 27-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Mindfield Ver Mensaje
.... la segunda que te acompaño en el sentimiento ! , cuando leo estas cosas me hace acordar a un ser muy querido que no tengo hace 22 años y que sufri mucho su perdida
Muchas gracias Mindfield, cuando sientes mucho por uno de tus seres queridos y se te va, es muy dificil creer que lo has perdido, los recuerdos pasan muy seguido y la tristeza nuevamente, talvez porque solo han pasado 2 semanas. Pero debemos seguir adelante porque todavía nos quedan muchos otros seres queridos con los que debemos aprovechar cada minuto que estemos junto a ellos.

Saluditos y gracias de nuevo.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con insercion de imágenes en campo blob aojeda Gráficos 0 29-01-2009 18:23:46
Ayuda para manejar imagenes en Delphi Forest Varios 1 28-08-2008 23:47:12
Ayuda con imagenes Jraul_Montu Internet 1 24-06-2007 02:17:59
Ayuda en php con imagenes. gatsu PHP 5 28-01-2004 09:54:42


La franja horaria es GMT +2. Ahora son las 18:12:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi