jueves, 17 de febrero de 2011

Colorear fuentes en SEU

Muchas veces me han preguntado como se colorea los comentarios e inclusive el código de los fuentes en el editor SEU.
Asi que aquí les dejo este post para quienes aun no lo han descubierto puedan hacerlo y aplicarlo a sus programas y darles ciertos toques artísticos.
A manera de anécdota...
Trabajé de practicante en una empresa donde los programas eran implementados en el extranjero y la gran mayoría de los programas tenían los comentarios resaltados, subrayados, etc.  Me llamo la atención y por mas que preguntaba y fastidiaba a mis compañeros de trabajo, nadie me daba la solución. Hasta que un buen compañero, uno de aquellos de los que no tenía miedo enseñar, me dijo que le hiciera un DSPPFM al archivo fuente (indicando el miembro) y que luego pulse las teclas de función  F10 + F11 (Para visualizar el valor hexadecimal de la información). Fue ahí donde pude percibir el valor hexadecimal del carácter que permite darle atributos  a los textos.
A veces necesitamos un empujoncito luego el resto depende de nosotros.

==>DSPPFM  FILE(MILIBRERIA/QRPGLESRC) MBR(EXTNAME) 


En la figura del fuente del programa EXTNAME el carácter de valor hexadecimal X’3A’ muestra el texto de color azul.
La explicación es sencilla, existen caracteres que no son visualizables en la pantalla verde del as400 pero que hacen que los textos tengan ciertos atributos como, colores, subrayado, alta intensidad, etc.  Este carácter se antepone al texto de la siguiente manera:
En el ejemplo, para lograr el color azul sería  X'3A'  + Texto 
Pero, ¿y cómo colocamos ese carácter dentro de nuestros fuentes sino son visualizables? y por ende no podemos copiar ni pegar en el editor SEU. Fácil, por medio del valor hexadecimal.
Puedes hacerlo de muchas maneras posible, haciendo un programa, como lo hice al principio, pero una manera rápida de hacerlo es usando SQL.

Como sabemos, los fuentes de los programas también pertenecen a un archivo, en este caso archivo fuente y por tal también puede ser procesado por el gestor de base de datos.
Para trabajar directamente con el programa denominado EXTNAME bastará hacer un OVRDBF.
==>OVRDBF FILE(QRPGLESRC) TOFILE(MILIBRERIA/QRPGLESRC) MBR(EXTNAME) 
Seguidamente ingresamos al SQL y hacemos lo siguiente:

Listo! Hemos agregado el atributo “alta intensidad “ a la línea 4 del fuente


==> SELECT * FROM MILIBRERIA/QRPGLESRC 
Esto lo aplicas tambien en información de archivos de BD.













O inclusive para ayudarte a recordar la ultima versión de tus fuentes.















En internet podemos encontrar todos los valores de cada atributo de pantalla. Te adjunto unas páginas referente a ello.

http://www.mcpressonline.com/tips-techniques/networking/techtip-display-colors-in-a-5250-session.html
http://www.code400.com/colorsource.php

2 comentarios:

  1. Excelete post, llevo buenos años trabajando con RPGLE y encontrando fuentes coloreados. Investigue un poco pero no tuve exito encontrando como lograrlo. Gracias en serio.

    ResponderEliminar
  2. Muy buenos días, gracias por la infom algo complicado y trabajoso este método. Les recomiendo este link. Que solo asigna los valores hexadecimales a las teclas del emulador 5250: https://www.lawebdelprogramador.com/foros/AS-400/1149988-colores.html

    ResponderEliminar