Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-12-2017
Aszael Aszael is offline
Registrado
 
Registrado: nov 2017
Posts: 7
Poder: 0
Aszael Va por buen camino
Unhappy ¿Cómo eliminar varias imágenes cargadas en un solo TImage?

Hola, he leído sobre cómo liberar imágenes de un TImage, pero al intentar hacer lo mismo con muchas imágenes, solo consigo eliminar la última imagen cargada. Entonces, ¿Cómo libero/quito/elimino varias imágenes cargadas en un solo TImage?

Tengo un código que genera una cadena de imágenes, una detrás de otra: en el array bloque[f,c] tengo un orden establecido de 0s y 1s...
Código Delphi [-]
procedure dibujar();
var f,c:integer;
begin
  for f:=1 to fils do
    for c:=1 to cols do begin
      imagen:=TImage.Create(Form);
      with imagen do begin
        if(bloque[f,c]=1)then begin
          picture.LoadFromFile('images/bloque.jpg');
          parent:=Form;
        end;
      end;
    end;
end;

Bueno, y el problema es que cuando hago algo como esto, no me libera todos los bloques (imagen .jpeg) cargados; llamo a este procedimiento con un botón:
Código Delphi [-]
procedure liberar();
var f,c:integer;
begin
  if assigned (imagen) then begin
   for f:=1 to fils do
    for c:=1 to cols do begin
      if(bloque[f,c]=1)then begin
        imagen.picture:=nil;
      end;
    end;
  end;
end;

Intente de varias formas, pero solo me elimina la última imagen cargada, agradezco enormemente su tiempo, gracias.
Responder Con Cita
  #2  
Antiguo 09-12-2017
Aszael Aszael is offline
Registrado
 
Registrado: nov 2017
Posts: 7
Poder: 0
Aszael Va por buen camino
Bueno, gracias, ya lo conseguí con esto:
Código Delphi [-]
procedure liberar;
var i:integer;
begin
  for i:=Form1.ComponentCount-1 downto 0 do
    begin
      if (Form1.Components[i] is TImage)then
        Form1.Components[i].free;
    end;
end;

Y bueno, solo para seguir aprendiendo, tengo esto:
Código Delphi [-]
procedure dibujar;
begin
  imagen:=TImage.Create(Form1);  
  fondo:=TImage.Create(Form1);  
end;

Creo dos imágenes con distinto nombre, luego ejecuto el procedimiento liberar(); y me elimina las dos imágenes. ¿Qué parámetros debo usar para solo quitar todo lo relacionado a "imagen" y no tocar "fondo"?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿Cómo poner varias imágenes en un TImage (En Delphi)? Ines Rodriguez Varios 6 09-06-2015 05:20:30
Como eliminar una o varias filas de un TAdvStringGrid p1p3 Varios 7 02-04-2015 02:24:20
Como cargar imagenes PNG desde los recursos de mi App hacia un TImage? yn4v4s Gráficos 1 28-10-2013 15:51:45
Cargar Varias Imágenes En Matriz Como Catálogo Beaker_ OOP 4 17-05-2012 14:16:24
como cargar varias imagenes en varios image1.picture kurono Varios 2 15-01-2008 02:08:26


La franja horaria es GMT +2. Ahora son las 23:48:19.


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