Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2012
PauloMeno PauloMeno is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
PauloMeno Va por buen camino
Cargar muchas imagenes en un Form!

Buenaaas! Tengo una duda importante..
Quiero colocar en un form una imagen dependiendo del valor de una variable.. Puede ser con un Case..
El tema es que esta variable puede tomar al rededor de 400 valores y no voy a hacer un Case de ese tamaño!!
Mi pregunta es si hay otra manera de hacer esto??
MUCHAS GRACIASSS!
Responder Con Cita
  #2  
Antiguo 02-11-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Sería necesario conocer si el valor de esa variable lo produce el programa como resultado de una operación o la eligirá el usuario.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 02-11-2012
PauloMeno PauloMeno is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
PauloMeno Va por buen camino
El tema es asi.. Tengo una base de datos y para cada persona que esta cargada en la base necesito asignarle una imagen diferente.. Seria una foto de cada persona..
La variable seria el Id..
Responder Con Cita
  #4  
Antiguo 02-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entonces en form sólo vas a presentar una imagen.

Por cierto, bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Responder Con Cita
  #5  
Antiguo 02-11-2012
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Asocia el "ID" de la imagen con la imagen misma. Por ejemplo, la imagen puede tener como nombre dicho "ID". De esta manera, bastará conque busques en el directorio apropiado la imagen correspondiente al "ID". Supón que guardas tus imágenes en "C:\Imgs". Supón que tienes que mostrar la imagen con "ID" "1234". Entonces, tú cargarías en un "TImage" la imagen cuya ruta sería: "C:\Imgs\1234.jpg", por ejemplo. Esto en el supuesto caso de que las imágenes estuvieran en un directorio. Si están en una base de datos, deberás, en todo caso, buscar la imagen adecuada ahí mediante el "ID" correspondiente.
Responder Con Cita
  #6  
Antiguo 02-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Cita:
Empezado por PauloMeno Ver Mensaje
El tema es asi.. Tengo una base de datos y para cada persona que esta cargada en la base necesito asignarle una imagen diferente.. Seria una foto de cada persona..
La variable seria el Id..
Hola.

Supongo entonces que el valor de la variable sería de tipo entero, ahora me surgen estas dudas:
  • ¿ Donde se encuentran las imágenes ?
  • Si se encuentran como archivos en el disco rígido, ¿ Sus nombres tienen una secuencia lógica ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 02-11-2012
PauloMeno PauloMeno is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
PauloMeno Va por buen camino
Muchas gracias!..
Claro la idea es esa y ademas otros datos de cada persona..
Responder Con Cita
  #8  
Antiguo 02-11-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo concretamente, hago lo siguiente, almaceno las fotos en la BD y entonces solamente tengo que mostrarla en un control de base de datos para imágenes, pongamos un DbImage, no hay que hacer nada especial pues por cada persona existe una foto en el mismo registro.

almaceno las fotos en una carpeta, mas propio para productos que para personas, en el registro tengo un campo que indica el nombre de la foto en el disco y la ubicación, simplemente la cargo:

Código Delphi [-]
procedure TfrPVP.pg1Change(Sender: TObject);
begin
 if (pg1.ActivePage = TbFoto) and (DmPrix.IBDtsPVPFOTOPRODUCTO.AsString <>'' )then
 begin
  try
  fotoproducto.Picture.LoadFromFile('\\servidor\xx\datosfb\fotos\'+DmPrix.IBDtsPVPFOTOPRODUCTO.AsStrin  g+'.jpg');
  except
  ShowMessage('Atención:La imagen no existe o no pudo cargarse.');
  end;
 end
 else
 fotoproducto.Picture.LoadFromFile('\\servidor\xx\datosfb\fotos\Nohay.jpg');
end;

Nohay, es una imagen que yo mismo he construido con una x en tamaño grande y color rojo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 02-11-2012
PauloMeno PauloMeno is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
PauloMeno Va por buen camino
Si si de tipo entero..
Las imagenes se encuentran en el disco..
La idea que tengo es asignarle a cada imagen el numero de Id de la persona correspondiente
Ej: Juan tiene Id = 1 entonces la imagen de Juan va a tener como nombre 1
Responder Con Cita
  #10  
Antiguo 02-11-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Por si te sirve la idea para el futuro, yo he añadido un botón que me permite pasar la foto al portapapeles, para luego pegarla en Word por ejemplo:

Código Delphi [-]
procedure TfrPVP.spClipboardClick(Sender: TObject);
begin
Clipboard.Assign(FotoProducto.Picture.Graphic) ;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 02-11-2012
PauloMeno PauloMeno is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
PauloMeno Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Yo concretamente, hago lo siguiente, almaceno las fotos en la BD y entonces solamente tengo que mostrarla en un control de base de datos para imágenes, pongamos un DbImage, no hay que hacer nada especial pues por cada persona existe una foto en el mismo registro.

almaceno las fotos en una carpeta, mas propio para productos que para personas, en el registro tengo un campo que indica el nombre de la foto en el disco y la ubicación, simplemente la cargo:

Código Delphi [-]
procedure TfrPVP.pg1Change(Sender: TObject);
begin
 if (pg1.ActivePage = TbFoto) and (DmPrix.IBDtsPVPFOTOPRODUCTO.AsString <>'' )then
 begin
  try
  fotoproducto.Picture.LoadFromFile('\\servidor\xx\datosfb\fotos\'+DmPrix.IBDtsPVPFOTOPRODUCTO.AsStrin  g+'.jpg');
  except
  ShowMessage('Atención:La imagen no existe o no pudo cargarse.');
  end;
 end
 else
 fotoproducto.Picture.LoadFromFile('\\servidor\xx\datosfb\fotos\Nohay.jpg');
end;

Nohay, es una imagen que yo mismo he construido con una x en tamaño grande y color rojo.

Un Saludo.


Muchas gracias por tu aporte.. Lo voy a analizar bien ya que mucho no entendi.. Soy muy nuevo en el uso y manejo de Base de Datos.. Muchas gracias!
Responder Con Cita
  #12  
Antiguo 02-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 PauloMeno.

Otra forma, es guardar la imágen directamente en cada registro en lugar de tener las imágenes en archivos aparte.

Te pongo un enlace que recuerdo trata sobre este otro modo de hacerlo, que no es ni mejor ni peor que el anterior. [guardar imagen en campo blob]

Con seguridad el tema ha sido tratado en más ocasiones, usa la busqueda de los foros por: blob, campo blob, imagen blob, ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 28-11-2012
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Guardar imágenes en TImageList

Cita:
Empezado por ecfisa Ver Mensaje
Hola PauloMeno.

Otra forma, es guardar la imágen directamente en cada registro en lugar de tener las imágenes en archivos aparte.

Te pongo un enlace que recuerdo trata sobre este otro modo de hacerlo, que no es ni mejor ni peor que el anterior. [guardar imagen en campo blob]

Con seguridad el tema ha sido tratado en más ocasiones, usa la busqueda de los foros por: blob, campo blob, imagen blob, ...

Saludos.
Puedes guardar las imágenes en un TImageList. Las puedes cargar fácilmente. Pero en este caso lo mejor es una base de datos como dicen los compañeros. Bulc.
Responder Con Cita
  #14  
Antiguo 11-02-2013
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Por si te sirve la idea para el futuro, yo he añadido un botón que me permite pasar la foto al portapapeles, para luego pegarla en Word por ejemplo:

Código Delphi [-]procedure TfrPVP.spClipboardClick(Sender: TObject); begin Clipboard.Assign(FotoProducto.Picture.Graphic) ; end;


Un Saludo.
buenas tardes marcoszorrilla, podrias mostrar el codigo que utilizaspara pasar la imagen a word, tengo una imagen cargada en clipboard que viene de un tdbchart que necesito mandarla a excel, creo que tu codigo podria serme de mucha ayuda

mil gracias de antemano
Responder Con Cita
  #15  
Antiguo 11-02-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
¿También tienes 400 imágenes?

Cita:
Empezado por PauloMeno Ver Mensaje
Buenaaas! Tengo una duda importante..
Quiero colocar en un form una imagen dependiendo del valor de una variable.. Puede ser con un Case..
El tema es que esta variable puede tomar al rededor de 400 valores y no voy a hacer un Case de ese tamaño!!
Mi pregunta es si hay otra manera de hacer esto??
MUCHAS GRACIASSS!
¿Puedes escalonar o agrupar las variables en varios grupos? Serían más manejables.
La otra opción que se me ocurre es usar una base de datos a posta para las imágenes y elegir un registro de forma aleatoria.
Luego muestras el gráfico de ese registro.
Responder Con Cita
  #16  
Antiguo 12-02-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Delphi estilo pascal...Es una tarea de instituto donde piden "leer un id, buscar dicho id en una tabla, si s eencuentra el id mostrar la foto y datos del usuario"

O lo que es lo mismo
Cita:
leer login y password
abrir tabla de usuarios y buscar login y password
si se encuentra mostrarlos,
si no, mostrar mensaje de error.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #17  
Antiguo 20-03-2013
jhlsoft jhlsoft is offline
Registrado
 
Registrado: nov 2004
Ubicación: Tumbes - Peru
Posts: 5
Poder: 0
jhlsoft Va por buen camino
Smile jpej error #53

Intento cargar una imagen jpg con 1mb de tamaño, y otra de 7mb...me sale el mensaje de jpeg error 53......como puedo silucionar este problema y poder apreciar imagenes de gran tamaño...gracias de antemano
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
cargar imagenes de bdd dimitri PHP 1 20-03-2007 10:23:36
Cargar imágenes david.rguez Gráficos 0 21-11-2006 13:34:51
Cargar 10 imagenes y utilizarlas Alexander Gráficos 1 05-09-2006 22:06:17
cargar imagenes con FastReports Josemarg Impresión 0 21-07-2006 13:31:17
Cargar imagenes ramonibk Gráficos 7 26-07-2004 16:12:35


La franja horaria es GMT +2. Ahora son las 19:32:04.


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