lunes, 25 de febrero de 2013

TRATAMIENTO DE IMAGENES EN WIN ISIS

Por Luis M. Peña F.
23-02-2013
                                     


Las imágenes en WinIsis no son tan manipulables como lo son en los lenguajes visuales al estilo Delphi, Visual Basic, C++ y etc. En HTML, las imágenes son fáciles de subir y manipular su ubicación en la pantalla. Cuando trabajamos con lenguajes de estas categorías, el tratamiento de las imágenes es sencillo y podemos hacer de ellas lo que queramos, como por ejemplo, agrandarlas de tamaño, meterlas en tablas (como en HTLM) y ubicarlas en cualquier lugar de la pantalla.

En el manual de Win Isis encontramos varios comandos para insertar una imagen: CHPICT, ISISBGBMP, ISISPATT y PICT. Con estas funciones podemos:
·         Colocar una imagen de fondo.
·         Colocar un pequeño ícono de imprimir (en mi caso), con la sentencia de imprimir el registro.
·         Colocar una imagen asociada a un campo (pict).

En el primer caso utilizamos el comando “Isispatt” más el nombre de la imagen, para el fondo de nuestra aplicación. Ejemplo:

'{\isispatt fonLIB'}. Aquí la imagen se llama “fonLIB”. El comando debe ir entre llaves. Isis acepta imágenes .BMP y .JPG. En este caso no tiene que ser una imagen grande, sino pequeña y el programa la multiplica y se convierte en fondo. Ver imagen siguiente:


En la ilustración de arriba vemos cuatro imágenes, a saber: Una de fondo, las dos pequeñas para indicar “imprimir” y “volver al menú” y la de arriba conteniendo el banner de la biblioteca.

En esta base he utilizado tres comandos para insertar imágenes en mi base de datos. El formato usado es este:

fonts((modern,Courier New),(roman,Times New Roman),(swiss,Arial)),
cols((0,0,0)),
'{\isispatt fonLIB'}
tab(3810),'{\isisbgbmp baez.jpg'}/,########,
tab(3810),{c11,qr,fs20,b,LINK(('\chpict impre.jpg ',' Imprimir'),'PRINTSEARCH')/}
'{\title Base de datos: BAEZ}',/f2,cl4,m(3937,-3937),cl4,fs30,
cl2,f1,'MFN: 'mfn(6),tab(3302)/f2,cl4,m(3302,-3302),cl4,fs30,
if p(v3) then {cl1,fs24,i,'UBICACIÓN:'},tab(3937),v3/fi/
(if p(v16) then if occ=1 then {cl1,fs24,i,'AUTOR PERSONAL:'} fi,tab(3937),v16/fi/),
(if p(v17) then if occ=1 then {cl1,fs24,i,'AUTOR INSTITUCIONAL:'} fi,tab(3937),v17/fi/),
if p(v18) then {cl1,fs24,i,'TITULO:'},tab(3937),v18/fi/
if p(v94) then {cl1,fs24,i,'MENSIÓN DE AUTOR:'},tab(3937),v94/fi/,
if p(v20) then {cl1,fs24,i,'PÁGINAS:'},tab(3937),v20/fi/
if p(v21) then {cl1,fs24,i,'VOLUMEN:'},tab(3937),v21/fi/
if p(v30) then {cl1,fs24,i,'COLECCIÓN O SERIE:'},tab(3937),v30/fi/
if p(v32) then {cl1,fs24,i,'NÚMERO:'},tab(3937),v32/fi/
if p(v38) then {cl1,fs24,i,'EDITORIAL:'},tab(3937),v38/fi/
if p(v39) then {cl1,fs24,i,'CIUDAD:'},tab(3937),v39/fi/
if p(v41) then {cl1,fs24,i,'EDICIÓN:'},tab(3937),v41/fi/
if p(v42) then {cl1,fs24,i,'NOTAS:'},tab(3937),v42/fi/
if p(v43) then {cl1,fs24,i,'FECHA DE PUBLICACIÓN:'},tab(3937),v43/fi/
if p(v63) then {cl1,fs24,i,'IDIOMA DEL TEXTO:'},tab(3937),v63/fi/
if p(v76) then {cl1,fs24,i,'MATERIAS O DESCRIPTORES:'},tab(3937),v76/fi/#,
tab(5000),{'\chpict inicio'},tab(6000),LINK(('VOLVER AL MENU'),'FORMAT MAIN')/
          _______________________________________________

He pintado de rojo los comandos en donde he utilizado las imágenes y en azul el nombre de las imágenes. Las que se encuentran en formato .BMP no requiere que le especifiquemos la extensión.

Todas esas son los tipos de imágenes que he manipulado, estudiando  diversos manuales de Win Isis que he encontrado en internet. Pero fue hasta hace poco que un colega del foro de ISIS, me preguntó respecto a como colocar una imagen asociada a un campo, para que esta pueda verse cuando visualizamos el registro. Como por ejemplo, la portada del libro o el escaneo de un documento digital, etc. Yo le contesté que no sabía, pues no lo había logrado. Luego acudí a un  manual y encontré la sencilla instrucción “PICT”. La cual se coloca delante del campo que ha de contener la imagen. Es muy simple, por ejemplo:

Pict(v100/). En este caso, el campo 100 debe contener el nombre de la imagen con su extensión y esta imagen debe ser colocada en la carpeta BG del directorio WINISIS. Así de sencillo. Ver imagen siguiente:

Si a este campo, le colocamos otro asociado a documentos digitales, tendríamos una base exclusiva para este tipo especial de documentos.

En donde dice “Abrir el documento(Word)”, se refiere a que este registro está asociado a un documento digital, además de su imagen. A continuación coloco el formato perteneciente a la imagen de arriba:


fonts((modern,Courier New),(roman,Times New Roman),(swiss,Arial)),
cols((0,0,0)),##,
cl10,f1,box(1)'MFN: 'mfn(4),tab(4159),{cl8,fs32,b'SISTEMA DE BASE DE DATOS DIGITAL'}/#f2,cl4,m(4159,-4159),cl4,fs30,##,
if p(v1) then {cl1,fs24,i,'AUTOR:'},tab(3159),v1/fi/
if p(v2) then {cl1,fs24,i,'TITULO:'},tab(3159),v2/fi/
if p(v3) then {cl1,fs24,i,'MATERIA:'},tab(3159),v3/fi/
if p(v4) then {cl1,fs24,i,'DOCUMENTO:'},tab(3032),v100/fi/,
  if v4:'.doc' then tab(3032),link(('Abrir el documento [Word]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.xls' then tab(3032),link(('Abrir el documento[Excel]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.pdf' then tab(3032),link(('Abrir el documento [PDF]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.pps' then tab(3032),link(('Abrir la presentación [PPS]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.mp3' then tab(3032),link(('Abrir el MP3'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.avi' then tab(3032),link(('Abrir el video [AVI]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.bmp' then tab(3032),link(('Abrir el la imagen [BMP]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)# fi,
  if v4:'.jpg' then tab(3032),link(('Abrir la imagen [JPG]'),'OPENFILE C:\\WINISIS\\DOC\\TEXTOS\\',v4)fi,##,
if p(v5) then tab(3032),PICT(v5)/fi/,##,
cl10,f1,box(1)tab(5032),{cl8,fs20,b'Copy Right: Luis M. Peña. 2013. Tel. 829-383-1768'}/#,

He colocado en rojo el campo asociado con la imagen. En azul, he colocado los campos asociados a documentos digitales.

Para esta ocasión, he elaborado una base sencilla con campos del 1 al 5, solo para ilustrar el ejemplo. Debemos hacer el ejercicio con una base de datos real y funcional en nuestra biblioteca. No olviden que la imagen debe ser colocada en la carpeta BG del directorio WINISIS.

Fuentes: Manuales de Win Isis varios y aportes de diversos programadores



5 comentarios:

  1. Luis hola saludos desde Chile, te escribo encarecidamente por si me puedes ayudar un poquito con winisis, estoy estudiando bibliotecologia, te dejo mi correo, carladelos@hotmail.com

    ResponderEliminar
  2. ¿Y si quiero imprimir registro por registro, con la imagen en el mismo?

    ResponderEliminar
    Respuestas
    1. Gracias por preguntar. Para serle honesto, yo no he hecho el ejercicio. Pero utilice la opción de imprimir. Como no he tenido la necesidad de hacerlo, no lo he hecho. Busque otro de mis artículos sobre Win isis y busque en donde esté el código de imprimir que he colocado.

      Eliminar
    2. Hola de nuevo:
      Este es el código para imprimir:

      tab(3937),{c11,qr,fs20,b,LINK(('\chpict impre.jpg ',' Imprimir'),'PRINTSEARCH')/}

      Añada este código al formato (.pft). Busque una imagen pequeñita de una impresora y póngale el nombre "impre.jpg" y debe colocarla en la carpeta "BG" del Winisis. La parte que dice "tab(3937)", es el lugar en donde cae la imagen, ajúste este número que caiga donde usted quiera: mas hacia adelante o más hacia atrás.

      Saludos!

      Eliminar
  3. Muchas gracias por su respuesta.

    Tengo los registros con la imagen agregada con el comando pict.
    ¿Podría imprimir datos e imagen tal cual salen en pantalla?

    Un saludo grande desde Argentina

    ResponderEliminar

El WhatsApp : ventajas y desventajas

 Luis M. Peña 25 de octubre, 2017 Sobre el autor. Licenciado en Lenguas Modernas mención Inglés y Licenciado en Educación mención Bi...