Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Imagenes en msflexgrid

Estas en el tema de Imagenes en msflexgrid en el foro de Visual Basic clásico en Foros del Web. Si alguien me puede ayudar le agradeceria... tengo una tabla en access en la cual los campos son: Nombre, foto en foto guardo por ejemplo ...
  #1 (permalink)  
Antiguo 23/08/2008, 09:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Imagenes en msflexgrid

Si alguien me puede ayudar le agradeceria...

tengo una tabla en access en la cual los campos son: Nombre, foto
en foto guardo por ejemplo "imagen1.jpg"...en una carpeta tengo las fotos con los
nombres correspondientes que estan en la base de datos

los registros se como extraerlos pero lo que necesito es cargar la imagen correspondiente al registro que tengo en la base de datos en un msflexgrid con su registro correspondiente...
  #2 (permalink)  
Antiguo 25/08/2008, 10:18
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Imagenes en msflexgrid

Hola!

En el evento Reposition del Data Control, o en la función que utilices para obtener los datos, haz una llamada a LoadPicture:

Código:
   Set <control>.Picture = LoadPicture(<ruta completa de la fotografía>)
Si existe la posibilidad de que la imagen no se pueda encontrar, debes comprobar primero si es accesible. Hay varios métodos, pero el más directo es utilizar Dir:

Código:
    If LenB(Dir(<ruta completa de la fotografía>)) > 0 Then
        Set <control>.Picture = LoadPicture(<ruta de la foto>)
    Else
        Set <control>.Picture = LoadPicture
    End If
LoadPicture sin argumentos carga una especie de objeto vacío, que lo que haría sería dejar el control indicado en blanco, útil para que se borre si no se encuentra la imagen, pero si el fichero indicado en el argumento no se encuentra, te dará un error interceptable.

La forma de comparar la cadena utilizando LenB es una optimización que aprendí no hace tanto, y te la he puesto aquí porque este punto de tu programa es conveniente que sea lo más rápido posible, ya que la carga de imágenes es un proceso bastante pesado. Para que te hagas una idea, If LenB(cadena)>0 es lo mismo que If cadena <> "" o If cadena <> vbNullString... pero bastante más rápido.
__________________
wile sona li mute e sona
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:36.