PDA

Ver la Versión Completa : Ayuda con imagenes


Jraul_Montu
24-06-2007, 01:19:45
hola, espero k me puedan ayudar soy un pincipiante con delphi aunque hago lo que puedo, tengo un problema con imagenes, lo que quiero hacer es:
creo imagenes en tiempo de ejecucion pero con otro boton quiero destruir una por una, pero si destruyo la primera imagen la segunda tiene k estar donde estaba la primera y la tercera donde estaba la segunda y asi sucesivamente hasta donde haya creado las imagenes. Esto es lo que llevo


cont:=0;
cont2:=0;

procedure TForm1.Button1Click(Sender: TObject);
begin
cont:=cont+1;
AShape:= Timage.create(image1);
Cuadro1[cont]:=AShape;
x:=x+25;
with Ashape do
begin
picture := Image1.picture;
Stretch := True;
Parent:= Self;
Left:=x;
Top:=y;
Width:= 33;
height:=65;
transparent:=true;
end;
end;


aqui es donde trato de borrar las imagenes y correrlas pero no se que es lo que hago mal.


procedure TForm1.Button2Click(Sender: TObject);
begin
cont2:=cont2+1;
Cuadro1[cont2].Destroy;
x:=x-25;
cont:=cont-1;
cuadro1[cont].left:=x;
end;


espero que me hayan podido entender y gracias por la ayuda.

ArdiIIa
24-06-2007, 02:17:59
Hola raul_Montu, bienvenido al ClubDelphi.
Primero que nada te recomendaría que eches un vistazo a la Guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php).
Igualmente y para que tu mensajes sean mas legibles, es mejor que utilices las etiquetas existentes, que hacen resaltar tu texto.



cont:=0;
cont2:=0;

procedure TForm1.Button1Click(Sender: TObject);
begin
cont:=cont+1;
AShape:= Timage.create(image1);
Cuadro1[cont]:=AShape;
x:=x+25;
with Ashape do
begin
picture := Image1.picture;
Stretch := True;
Parent:= Self;
Left:=x;
Top:=y;
Width:= 33;
height:=65;
transparent:=true;
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
cont2:=cont2+1;
Cuadro1[cont2].Destroy;
x:=x-25;
cont:=cont-1;
cuadro1[cont].left:=x;
end;


Y finalmente, creo que el subforo de Internet, no es el adecuado para este tipo de pregunta.


Con referencia a tu mensaje, doy por sentado que Cuadro1 es un Array de TImages el cual no se puede ver definido en tu código, por lo que tampoco sabemos su longitud o capacidad.

En todo caso y tal como planteas tu código, mi recomendación es que utilizaras un TList y vayas introduciendo o borrando las imágenes (los punteros de los objetos creados AShape) en él. y luego en un bucle, repintar las imágenes existentes en el Tlist.

Espero haberte ayudado.

Saludos.