Regresar un paso atrás Sisinf 7.3
Actualización 7301

Notas de la versión 7.2
Notas de la versión 7.1
Notas de la versión 7.0
Notas de la versión 5.1



  1. Valores máximos
  2. Opción /RECORRER
  3. Opcion /RCM
  4. Colores
  5. Capacidad de archivos permanentes en Sisinf
  6. Nuevas revisiones en CLS
  7. Nombre del archivo de espera
  8. ELSI en DS



1) Valores máximos:

Descripción

Valor máximo

Archivos por DBD

400

Tablas por DBD

200

Número de archivos permanentes por programa

40

Número de tablas por programa

40

Número de variables por programa

600

Número de temporales por programa

40

Número de etiquetas en un programa o rutina

2000




2) Opción /RECORRER:

Esta opción permite definir para el área de lectura o escritura de un campo un número de caracteres menor a lo que se tiene definido en el banco de datos, pero pudiendo leer, modificar o escribir el total de ellos.

Así por ejemplo se pondría en la definición de un área de terminal para leer o escribir una dirección de un cliente definido como X40 lo siguiente:

DIR-CLT /LONG. 20 /RECORRER /LEC. /ESC-1 /MOD-2

Con esto aunque solo se separen 20 columnas se puede leer el campo de 40 caracteres.

Los siguientes comentarios son aplicables:
  • La operación cuando se lee es muy sencilla, una vez tecleados los caracteres definidos con /LONG. en forma automática se empieza a recorrer el campo. Si el usuario quiere recorrer el campo para verlo o editarlo, con las teclas ‘flecha izquierda’, ‘flecha derecha’, ‘inicio’ o ‘fin’ puede mover el cursor, el cual estará en una parte visible del campo.

  • En modificación de un campo con esta opción se verán al inicio los primeros caracteres del mismo especificados en /LONG. y con las teclas indicadas se debe posicionar el cursor donde se quiere modificar.

  • La escritura también es muy fácil ya que al desplegarse se verán los primeros caracteres especificados en /LONG. Para ver lo restante, se puede arrastrar sobre el campo el ratón con el botón derecho oprimido. Otra opción es con el botón izquierdo del ratón se posiciona en el campo que se desea ver dando doble ‘clic’ y con las teclas antes indicadas se puede recorrer el mismo, en el caso de escritura no hay un cursor visible.

  • Si en un área de terminal, en el mismo USO, se tienen campos de lectura y escritura con la opción de /RECORRER lo de escritura no se podrán ver ya que no es posible posicionarse en ellos.

  • Cuando se usan tipos de letra proporcionales en las áreas de terminal, el número de caracteres desplegados puede ser mayor o menor a lo indicado en la opción /LONG. pero el funcionamiento descrito es prácticamente igual.

  • Esta opción solo trabaja con el Emulador Sisinf con ELS se ignora.


    Los siguientes comentarios son aplicables para marcar un campo:
  • Para marcar un campo de lectura o modificación con el propósito de copiar/pegar '(copy/paste)' se deberá primero posicionar el cursor y luego marcar con las teclas de shift-flecha_derecha o shift-flecha_izquierda. Para marcar desde donde esta el cursor hasta el final usar shift-fin. Otra forma es arrastrando el ratón con botón izquierdo oprimido, en este caso el campo se recorre en forma automática.

  • En el caso de escritura no hay un cursor visible por lo que la forma más sencilla para marcar todo el campo es posicionar en el mismo y dar shift-fin. Si se quiere marcar parcialmente primero se deberá posicionar con botón derecho del ratón y luego marcar arrastrando el ratón con botón izquierdo oprimido, el campo se recorre en forma automática.




    3) Opcion /RCM:

    La opción /RCM sirve para definir el número de renglones y columnas máximos que usará el programa.

    El formato de la misma es:

    PROGRAMA ..... /RCM Num-Ren Num-Col

    Los siguientes comentarios son aplicables:
  • La opción se especifica en la instrucción de PROGRAMA.

  • En Num-Ren se especifica el número de renglones máximos que tendrá el programa. Los valores permitidos son de 23 a 50.

  • En Num-Col se especifica el número de columnas máximos que tendrá el programa. Los valores permitidos son 80 a 200.

  • El área de /ERROR si no se define o no tiene /POS. usará los 2 últimos renglones.

  • La forma de trabajo del Emulador Sisinf es la siguiente:
    -

    Al inicio del mismo con el tamaño especificado (640-480, 800-600, 1024-768, Auto) se busca un tipo de letra aplicable a la resolución escogida y a una pantalla de Sisinf de 23 renglones por 80 columnas, con esto se fija el tamaño de la ventana que usara el emulador. Dicho tamaño permanecerá igual durante toda la ejecución de los diferentes programas.

    -

    La opción de AUTO en el tamaño del Emulador Sisinf sirve para usar otras resoluciones diferentes a las listadas, lo anterior se debe a que dependiendo del hardware (tarjeta de video y monitor) es posible escoger de entre bastantes resoluciones.

  • Cuando se ejecute un programa con la opción de /RCM, el Emulador Sisinf buscará un nuevo tipo de letra que con el tamaño actual de la ventana. Este tipo de letra será igual o mas pequeño que el tipo de letra inicial, es decir las letras serán mas pequeñas que en los programas de 23 por 80.

  • Con la estrategia seguida por el Emulador Sisinf puede suceder que el tipo de letra seleccionado sea muy pequeño y que por el hardware que se tenga sea ilegible. Se recomienda primero poner la opción y si las áreas actuales del programa con el tipo de letra seleccionado son legibles en los diferentes hardware que usen la aplicación, entonces hacer los cambios.

  • Las variables tipo TEXTO se pueden ahora definir en áreas de mayor tamaño pero un renglón no puede ser mayor a 120, lo mismo si se usa la opción /LONG. en variables numéricas, alfanuméricas y fecha. En el caso de IMAGENES se permite cualquier valor para las opciones de /LONG. y /RENG. siempre que queden dentro del área de terminal.

  • Esta opción solo trabaja con el Emulador Sisinf, con ELS dá error.




    4) Colores:

    En Sisinf ahora podrá tener color verdadero '(true color)' en diferentes instrucciones.

    Los siguientes comentarios son aplicables:
  • Antes el color se especificaba como NEGRO, AZUL, etc. Ahora, además aceptará que se ponga 'CRRRVVVAAA' en donde 'RRR' es un número de 0 a 255 para especificar el rojo, 'VVV' para especificar el verde y 'AAA' para especificar el azul.

  • Existen páginas en Internet en que vienen los valores del RGB como mejor se conoce a los valores de 'RRRVVVAAA' o bien se pueden sacar ejecutando en la PC el programa de 'Paint', seleccionar en este la opción colores del menú principal y seleccionar en la ventana que se despliega la opción de colores personalizados. Al seleccionar un color se tendrán los 3 números de 0 a 255.

  • El compilador acepta que lo que se ponga después del caracter 10, esto para efectos de documentación y es ignorado. Así se puede poner C092184255-CIELO.

  • El número máximo de colores diferentes que se usen en un programa es 50. Esto para las instrucciones de PROGRAMA y OPCION TERMINAL AREA.

  • En una instrucción de FORMAR IMAGEN el máximo es 20 y los colores se numeran del 20 a 39. No se pueden usar en marcas ya que estas están incluidas en la imagen.

  • Esta opción solo trabaja en el Emulador Sisinf.



    Un ejemplo del uso en las diferentes instrucciones se describe a continuación:

    En la instrucción de PROGRAMA se puede poner:



    PROGRAMA 'Menú Recursos Humanos' /COLOR C092184255-CIELO NEGRO

    En la instrucción de OPCION TERMINAL AREA se puede poner:



    /COLOR C255215000-ORO C255215000-ORO NEGRO $
           C255165000-NARANJA NEGRO $
           C250128114-SALMON BLANCO-B


    En la instrucción de OPCION IMPRIMIR se puede poner:



    /DF 'SUIZO' 12 -10 /DF1 'SUIZO' 12 -10 'N' 'C092184255-CIELO' 'BLANCO-B' $
                       /DF2 'SUIZO' 16 -5 'N' 'NEGRO' 'C255215000-ORO'




    Recuerde que BLANCO-B es el color de fondo que se asume igual al del papel de impresión o sea no se pinta ningún color ni se usa tina.

    En la instrucción de FORMAR IMAGEN los colores se definen en las diferentes opciones de la instrucción como una literal (ROJO) o bien un número (para este caso 4) o bien una variable N1-0 con el valor numérico. Por lo anterior se define una nueva opción:

        /DEFINIR-COLOR NUM 'Crrrvvvaaa'

        /DEFINIR-COLOR NUM RRR VVV AAA


    Con esto se define el color con número NUM, en donde NUM puede ser un número o una variable N1-0, el color se define como una literal o bien como tres valores numéricos que pueden ser también variables N1-0.

    Un ejemplo de uso seria:

         FORMAR IMAGEN GRAF-EST /GRAFICA-PASTEL $
         'Resultados de la evaluación' /3D $
         /DATO SUM-PA 'Deficiente' 'ROJO' $
         /DATO SUM-PB 'Aceptable' 'GRIS' $
         /DATO SUM-PC 'Bueno' 'VERDE' $
         /DATO SUM-PD 'Excelente' 20 $
         /DEFINIR-COLOR 20 'C255215000-ORO' $
         /CONSTRUIR




    5) Capacidad de archivos permanentes en Sisinf:

    En versiones anteriores la capacidad de archivos permanentes es de 2G, en esta nueva versión se amplió a 32G, la forma de hacerlo se describe a continuación.

    Dentro de un archivo permanente, si el área de datos se ve como una secuencia de bytes, Sisinf necesita saber donde inicia cada R0, cada R1,... es decir su dirección dentro del archivo.

    Internamente se usan 32 bits para la dirección de los RX, de estos el primero es el signo, los siguientes 23 es el número del registro y los últimos 8 son el desplazamiento dentro del registro. Los registros son de 512 bytes. Así Sisinf para leer un R0, R1,... conociendo su dirección, saca el número de registro, lo lee de disco y luego con el desplazamiento dentro del registro saca la información.

    Usando el formato anterior se tiene la capacidad de 2G.

    Los módulos de Sisinf en muchas máquinas están en los lenguajes de programación con nombre 'Fortran' y 'C'. Para almacenar una dirección de un RX se usan lo que se llama en programación variables, hay de varios tipos, pero el 'Fortran' solo maneja variables enteras de 32bits con signo y en 'C' las maneja con o sin signo.

    Para resolver el problema de aumentar la capacidad se puede pensar en usar el bit de signo para el número del registro y así tener 24 bits pasando a 8G la capacidad. Para ello se necesita hacer rutinas en el lenguaje 'C' para el manejo del direccionamiento.

    Pero para aumentar mas todavía esta capacidad se puede pensar en usar solo 6 bits para el desplazamiento y dejar 26 para el número del registro. Ahora bien si se reduce a 6 bits el desplazamiento solo tenemos un número del 0 al 63, la pregunta es como accesar los 256 bytes del registro. La solución es que el desplazamiento será múltiplo de 4, es decir un 0 accesara el byte 0, un 1 el byte 4, un 2 el byte 8,...

    El problema de esta solución es que cuando se inserten el R0, R1,... el desplazamiento debe ser múltiplo de 4 pudiendo desperdiciar bytes. Así si el último RX insertado termina en el byte 5 de un registro, el siguiente inicia en el byte 8. El desperdicio promedio es de 2 bytes por cada R0, R1,... Claro cuando se manejen imágenes, texto o RX grandes, este desperdicio es mínimo en comparación al tamaño.

    Actualmente el crecimiento de los archivos permanentes en el área de datos es automático, es decir el archivo se agranda cuando se inserta nueva información teniendo como limite 2G o 4G dependiendo de la máquina y la versión de Sisinf.

    Si se tienen archivos que no pasen de 8G este cambio es transparente, pero si un archivo va a crecer mas de 8G será necesario primero reconstruirlo ya sea con RECA o con OPCION DISCO RECA y darle un tamaño por porcentaje tal que exceda los 8G, con esto se pone un indicador y el formato del direccionamiento es el último que se describió.

    Con esta nueva versión si el archivo no tiene el indicador el límite es de 8G, es decir al tratar de pasar el límite se dará error. Si tiene el indicador, el límite es de 32G.

    Los archivos permanentes de mas de 2G/4G no podrán ser usados en versiones de Sisinf anteriores ya que no tendrán el manejo de los formatos ya descritos.

    Se pueden usar los comandos de listar información de directorios para conocer el tamaño de un archivo.

    En algunas máquinas, por restricciones en las llamadas al Sistema Operativo y formatos de directorios no se podrán accesar archivos mayores a 2G o 4G aun con esta versión. Ejemplo: en pruebas hechas en una PC con FAT32 no permite más de 4G.




    6) Nuevas revisiones en CLS:

    Se hicieron ciertas revisiones sobre el uso de la memoria por lo que es posible que algunos programas al ser compilados con la nueva versión den errores de compilación. Dichos programas aunque no se hubiera manifestado podrían propiciar errores de ejecución.




    7) Nombre del archivo de espera:

    Cuando el Emulador Sisinf (V4 o superior) pone los mensajes de espera ya sea por exclusivo o por registro ahora pone el nombre del archivo por el que se esta esperando lo anterior sirve mucho en la operación de las aplicaciones.




    8) ELSI en DS:

    Para más facilidad de desarrollo el módulo DS de Windows puede ejecutar el Emulador Sisinf.

    Un paso previo es tener instalado en su PC el Emulador Sisinf con al menos un ícono.

    Dentro de DS, se selecciona Opciones, Definición de ELSI y aquí se selecciona el nombre del ícono cuyas definiciones se usarán para la ejecución.