Introducción
Muchas veces necesitamos realizar un informe que contengan imágenes variables cuya ruta y nombre están contenidas en un campo de una tabla. En este breve ejemplo demostraremos lo fácil que es hacerlo con Visual FoxPro.
Manos a la obra
Lo primero que vamos a realizar es creación de una tabla llamada "Alumnos" con los campos necesarios para guardar la ruta y el nombre completo del archivo de la imagen (Figura 1).
Figura 1: Tabla de Alumnos
Las imágenes las tomaremos de la carpeta Samples\Data\Graphics ubicada en el directorio raíz de la instalación de Visual FoxPro en las versiones 7, 8 y 9 (Figura 2).
Figura 2: Imagenes de la carpeta "Samples\Data\Graphics\"
Para la crear la tabla y completar los campos utilizamos el siguiente código. Los nombres de cada alumno será el mismo nombre de la imagen sin la extensión.
LOCAL lcRuta, lcFoto, ln *-- Creo una tabla de Alumnos CREATE TABLE Alumnos (Numero i, Nombre c(10), Foto c(128)) *-- Recorro las imágenes de SAMPLES\DATA\GRAPHICS lcRuta = HOME(2)+"DATA\GRAPHICS\" lcFoto = SYS(2000,lcRuta + "*.GIF") ln = 1 DO WHILE NOT EMPTY(lcFoto) INSERT INTO Alumnos (Numero, Nombre, Foto) ; VALUES (ln, JUSTSTEM(lcFoto), lcRuta + lcFoto) lcFoto = SYS(2000, lcRuta + "*.GIF", 1) ln = ln + 1 ENDDO
Diseñando el informe
El ejemplo de informe que vamos a elaborar es de un carnet (credencial, tarjeta de identificación) con el nombre y la imagen de cada alumno. Incluimos en el informe un control Imagen que escogemos del Menú -> Informe -> Insertar control -> Imagen/ActiveX dependiente (Figura 3).
Figura 3: Control Imagen
En las propiedades del control Imagen seleccionamos el origen de la imagen como "Archivo" y escribimos el nombre de la tabla y campo que contiene la ruta y nombre de la imagen (Figura 4).
Figura 4: Propiedades del control Imagen
Una vez completados todos los campos que deseamos mostrar en el carnet, la vista previa del informe nos mostrará la imagen correspondiente de cada alumno (Figura 5).
REPORT FORM Carnet.frx NOCONSOLE PREVIEW
Figura 5: Vista previa del informe
El código de este pequeño ejemplo lo pueden descargar desde el siguiente enlace: Carnet.zip (3,41 KB)
Con esta simple técnica podemos insertar en nuestros informes logotipos de distintas empresas, firmas digitalizadas, fotografías, catálogos de productos, etc., cuyas rutas y nombres de archivo se encuentran almacenados en un campo de una tabla.
Hasta la próxima.
Luis María Guayán
si este codigo es muy bien pero si quiero solo poner una foto y no todas
ResponderBorrarUna pregunta... se puede girar 90 grados el Nombre?
ResponderBorrarExcelente. Sencillo y efectivo. Gracias.
ResponderBorrar