Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ayuda con imagenes (https://www.clubdelphi.com/foros/showthread.php?t=45144)

Jraul_Montu 24-06-2007 01:19:45

Ayuda con imagenes
 
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

Código Delphi [-]
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.

Código Delphi [-]
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.
Igualmente y para que tu mensajes sean mas legibles, es mejor que utilices las etiquetas existentes, que hacen resaltar tu texto.


Código Delphi [-]
 
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.


La franja horaria es GMT +2. Ahora son las 21:12:42.

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