Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   RM/COBOL (https://www.cobolforo.es/forumdisplay.php?f=16)
-   -   [Duda] Pantallas RMCobol (https://www.cobolforo.es/showthread.php?t=1496)

ge5lo 31 de mayo de 2022 20:36

Pantallas RMCobol
 
Hola busco pantallas que sean hechas en RMcobol 85 ya rescate un codigo fuente que realice hace algunos años pero no son pantallas que tengan color ni teclas de funcion para navegar :jefe: y me gustaría saber si en este compilador se podia usar mouse? no se si tambien se pueda usar en Unix como en DOS???

JCantero 31 de mayo de 2022 23:07

Que version tiene el runtime ?

En windows, a partir de la versión 6.0 tiene soporte de ratón.

En Linux, no.

ge5lo 2 de junio de 2022 00:02

Cita:

Citación del post de JCantero (Mensaje 7874)
Que version tiene el runtime ?

En windows, a partir de la versión 6.0 tiene soporte de ratón.

En Linux, no.

el runtime es RMCOBOL 85 creo que es la 5xx
Hola JCantero Gracias por responder pero el codigo que tengo esta en DOS y lo rescate para que funcionara en DOSBox Solo que quiero mejorar las pantallas y no recuerdo para hacer las pantallas bonitas y con color

Loffreda 2 de junio de 2022 00:45

Cita:

Citación del post de ge5lo (Mensaje 7872)
Hola busco pantallas que sean hechas en RMcobol 85 ya rescate un codigo fuente que realice hace algunos años pero no son pantallas que tengan color ni teclas de funcion para navegar :jefe: y me gustaría saber si en este compilador se podia usar mouse? no se si tambien se pueda usar en Unix como en DOS???


Use muchos años RM, tengo rutinas armadas, no creo que puedas usar MOUSE, en cuanto al color de las pantallas puedes darles tonos básicos

:hi:

ge5lo 2 de junio de 2022 00:55

Cita:

Citación del post de Loffreda (Mensaje 7881)
Use muchos años RM, tengo rutinas armadas, no creo que puedas usar MOUSE, en cuanto al color de las pantallas puedes darles tonos básicos

:hi:

Si me puedes ayudar con esas rutinas te agradeceria... lo del Mouse no es importante si las pantallas tiene colores basico no importa

JCantero 2 de junio de 2022 01:12

Con la versión 5, no tienes soporte de ratón.

El color si lo puedes implementar.

Tienes que poner en el ACCEPT y DISPLAY la palabra CONTROL y los colores con. FCOLOR. Y BCOLOR

Ejemplo
Código COBOL:
  1.        Display ' Esto va en color ' líne 1 position 1 control 'fcolor=blue, bcolor=red'


---------- Post añadido el 2 de junio de 2022 a las 07:41 ----------

Si lo quieres automatizar puedes emplear una variable y la vas rellenando según las necesidades.

Código COBOL:
  1.  
  2. move  'fcolor=blue, bcolor=red' to color
  3. *
  4. *
  5. *
  6. Display ' Esto va en color ' líne 1 position 1 control color


---------- Post añadido el 2 de junio de 2022 a las 07:49 ----------

En versiones superiores se pueden indicar los colores con numeros, pero en la 5:

Código:

COLOR-NAME
 BLACK
 BLUE
 GREEN
 CYAN
 RED
 MAGENTA
 BROWN
 WHITE

Ademas puedes poner LOW y LIGHT para atenuar o resaltar el color.

Kuk 2 de junio de 2022 09:21

@ge5lo, no sé si te interesará, pero lo mismo quieres pasarte al mundo GUI: [Compilador] Fujitsu PowerCOBOL V3L10 para Windows 7 x86/x64 - COBOL Foro

ge5lo 2 de junio de 2022 17:29

Cita:

Citación del post de Kuk (Mensaje 7887)
@ge5lo, no sé si te interesará, pero lo mismo quieres pasarte al mundo GUI: [Compilador] Fujitsu PowerCOBOL V3L10 para Windows 7 x86/x64 - COBOL Foro

Gracias pero lo que busco es RMCobol 85, pantallas en Ascii

---------- Post añadido el 2 de junio de 2022 a las 16:31 ----------

Cita:

Citación del post de JCantero (Mensaje 7883)
Con la versión 5, no tienes soporte de ratón.

El color si lo puedes implementar.

Tienes que poner en el ACCEPT y DISPLAY la palabra CONTROL y los colores con. FCOLOR. Y BCOLOR

Ejemplo
Código COBOL:
  1.        Display ' Esto va en color ' líne 1 position 1 control 'fcolor=blue, bcolor=red'


---------- Post añadido el 2 de junio de 2022 a las 07:41 ----------

Si lo quieres automatizar puedes emplear una variable y la vas rellenando según las necesidades.

Código COBOL:
  1.  
  2. move  'fcolor=blue, bcolor=red' to color
  3. *
  4. *
  5. *
  6. Display ' Esto va en color ' líne 1 position 1 control color


---------- Post añadido el 2 de junio de 2022 a las 07:49 ----------

En versiones superiores se pueden indicar los colores con numeros, pero en la 5:

Código:

COLOR-NAME
 BLACK
 BLUE
 GREEN
 CYAN
 RED
 MAGENTA
 BROWN
 WHITE

Ademas puedes poner LOW y LIGHT para atenuar o resaltar el color.


HOLA CANTERO Encontre algo en esta pagina Cobol en español - MENU DE OPCIONES EN RMCOBOL-85

pero el manejo del cursor y las posiciones del menu estan estan cuadradas, busco algo simiar con recuadros con caracteres como estos "└" o "╚"
Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. MENU.
  3.        ENVIRONMENT DIVISION.
  4.        CONFIGURATION SECTION.
  5.        DATA DIVISION.
  6.        WORKING-STORAGE SECTION.
  7.        01 OPX PIC X.
  8.  
  9.        01 WCB.
  10.            03 WINCAB PIC 999 BINARY VALUE 0.
  11.            03 WINLIN PIC 999 BINARY.
  12.            03 WINCOL PIC 999 BINARY.
  13.            03 WINLOC PIC X VALUE "S".
  14.      * (S-W)
  15.            03 WINBORST PIC X VALUE "Y".
  16.      * (Y-N)
  17.            03 WINBORTI PIC 9 VALUE 2.
  18.            03 WINBORCH PIC X.
  19.            03 WINLLE PIC X.
  20.      * (Y-N)
  21.            03 WINLLECH PIC X.
  22.            03 WINTITSI PIC X VALUE "T".
  23.      * (T-B)
  24.            03 WINTITPO PIC X VALUE "C".
  25.      * (C-L-R)
  26.            03 WINTITLO PIC 999 BINARY.
  27.            03 WINTIT PIC X(64).
  28.  
  29.       * ----- * --- Colores.
  30.  
  31.        01 C0.
  32.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  33.            02 pic X(30) value "OR = WHITE , BCOLOR = BLUE ".
  34.        01 C1.
  35.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  36.            02 pic X(30) value "OR = WHITE , BCOLOR = BLACK ".
  37.        01 C2.
  38.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  39.            02 pic X(30) value "OR = GREEN , BCOLOR = BLACK ".
  40.        01 C3.
  41.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  42.            02 pic X(30) value "OR = RED , BCOLOR = WHITE ".
  43.        01 C4.
  44.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  45.            02 pic X(30) value "OR = RED , BCOLOR = BLCK ".
  46.        01 C5.
  47.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  48.            02 pic X(30) value "OR = CYAN , BCOLOR = BLACK ".
  49.        01 C6.
  50.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  51.            02 pic X(30) value "OR = BROWN , BCOLOR = WHITE ".
  52.        01 C7.
  53.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  54.            02 pic X(30) value "OR = BLUE , BCOLOR = WHITE ".
  55.        01 C8.
  56.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  57.            02 pic X(30) value "OR = MAGENTA, BCOLOR = BLACK ".
  58.        01 C9.
  59.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  60.            02 pic X(30) value "OR = MAGENTA, BCOLOR = WHITE ".
  61.        01 CA.
  62.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  63.            02 pic X(30) value "OR = BROWN , BCOLOR = BLACK ".
  64.        01 CB.
  65.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  66.            02 pic X(30) value "OR = BROWN , BCOLOR = WHITE ".
  67.        01 CC.
  68.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  69.            02 pic X(30) value "OR = BLACK , BCOLOR = WHITE ".
  70.        01 CJ.
  71.            02 pic X(37) value " HIGHNO REVERSE BLINK , FCOL".
  72.            02 pic X(31) value "OR = CYAN , BCOLOR = BLACK LOW ".
  73.  
  74.        01 VENTANAS.
  75.            02 WIN PIC X(80) OCCURS 10 TIMES.
  76.  
  77.        01 LI PIC 9(2).
  78.        01 LI2 PIC 9(2).
  79.        01 LIX PIC 9(2).
  80.        01 OP PIC X.
  81.        01 ESCA PIC 9(2).
  82.        01 QW PIC 9(1).
  83.  
  84.        01 TABLA-OPCIONES.
  85.            02 PIC X(45) VALUE " Programa de Contabilidad ".
  86.            02 PIC X(45) VALUE " Programa de Facturacion ".
  87.            02 PIC X(45) VALUE " Copias de Seguridad ".
  88.            02 PIC X(45) VALUE " Surpervision de la Red Local ".
  89.            02 PIC X(45) VALUE " Utilidades del Sistema ".
  90.            02 PIC X(45) VALUE " Salir del Menu ".
  91.        01 RTABLA REDEFINES TABLA-OPCIONES.
  92.            02 ELEMEN PIC X(45) OCCURS 6 TIMES.
  93.  
  94.        01 TABLA-OPCIONES2.
  95.            02 PIC X(45) VALUE " Hacer Copias de Seguridad ".
  96.            02 PIC X(45) VALUE " Restaurar Copias de Seguridad ".
  97.            02 PIC X(45) VALUE " Preferencias ".
  98.            02 PIC X(45) VALUE " Volver al Menu Principal ".
  99.        01 RTABLA2 REDEFINES TABLA-OPCIONES2.
  100.            02 ELEMEN2 PIC X(45) OCCURS 4 TIMES.
  101.  
  102.        PROCEDURE DIVISION.
  103.        INICIO.
  104.            DISPLAY SPACES ERASE CONTROL C1 LOW.
  105.            DISPLAY SPACES SIZE 80 LINE 1 POSITION 1 CONTROL C0
  106.            DISPLAY " Menu Principal de Opciones ³ "
  107.            LINE 1 POSITION 1 CONTROL C0
  108.            DISPLAY "Versi¢n 1.00/2.003" LINE 1 POSITION 00 CONTROL C0
  109.            DISPLAY SPACES SIZE 80 LINE 2 POSITION 1 CONTROL C5 LOW.
  110.        INI2.
  111.            MOVE 6 TO WINLIN
  112.            MOVE 45 TO WINCOL
  113.            MOVE " Opciones " TO WINTIT MOVE 10 TO WINTITLO
  114.            MOVE 3 TO WINBORTI
  115.            MOVE WCB TO WIN(1)
  116.            DISPLAY WIN(1) LINE 8 POSITION 19 LOW CONTROL "WINDOW-CREATE"
  117.            MOVE 1 TO LI.
  118.        UNO.
  119.            DISPLAY ELEMEN (LI) LINE LI POSITION 1 control c1 LOW.
  120.            ADD 1 TO LI IF LI > 6 NEXT SENTENCE ELSE GO UNO.
  121.        DOS.
  122.            IF LI = 6 MOVE 1 TO LI.
  123.            DISPLAY ELEMEN (LI) LINE LI POSITION 1 CONTROL C9 reverse.
  124.        TRES.
  125.            ACCEPT OP LINE LI POSITION 45 OFF NO BEEP
  126.            ON EXCEPTION ESCA MOVE 1 TO QW.
  127.            DISPLAY ELEMEN (LI) LINE LI POSITION 1 control c1 low.
  128.            IF ESCA = 27
  129.            DISPLAY WIN(1) CONTROL "WINDOW-REMOVE"
  130.            DISPLAY SPACES ERASE CONTROL C1
  131.            STOP RUN.
  132.            IF ESCA = 52 SUBTRACT 1 FROM LI GO DOS.
  133.            IF ESCA = 53 ADD 1 TO LI GO DOS.
  134.            IF ESCA = 13 NEXT SENTENCE ELSE GO TRES.
  135.        CUATRO.
  136.            IF LI = 1
  137.                CALL "GCM.COB" CANCEL "GCM.COB"
  138.                MOVE 0 TO QW
  139.                GO UNO
  140.            END-IF.
  141.            IF LI = 2
  142.                CALL "CGA.COB" CANCEL "CGA.COB"
  143.                MOVE 0 TO QW
  144.                GO UNO
  145.            END-IF.
  146.            IF LI = 3
  147.                PERFORM INI22 THRU CUATRO2
  148.                MOVE 0 TO QW
  149.                GO UNO
  150.            END-IF.
  151.            IF LI = 4
  152.                CALL "MEN-SRED.COB" CANCEL "MEN-SRED.COB"
  153.                MOVE 0 TO QW
  154.                GO UNO
  155.            END-IF.
  156.            IF LI = 5
  157.            CALL "MEN-UTIL.COB" CANCEL "MEN-UTIL.COB"
  158.                MOVE 0 TO QW
  159.                GO UNO
  160.            END-IF.
  161.            IF LI = 6
  162.                MOVE 0 TO QW
  163.                DISPLAY WIN(1) CONTROL "WINDOW-REMOVE"
  164.                DISPLAY SPACES ERASE CONTROL C1
  165.            STOP RUN
  166.            END-IF.
  167.  
  168.        INI22.
  169.            DISPLAY SPACES SIZE 1 LINE 2 POSITION 44 CONTROL C5 LOW
  170.            MOVE 4 TO WINLIN
  171.            MOVE 45 TO WINCOL
  172.            MOVE " Copias de Seguridad " TO WINTIT MOVE 21 TO WINTITLO
  173.            MOVE 3 TO WINBORTI
  174.            MOVE WCB TO WIN(2)
  175.            DISPLAY WIN(2) LINE 12 POSITION 25 LOW
  176.            CONTROL "WINDOW-CREATE"
  177.            MOVE 1 TO LI2.
  178.        UNO2.
  179.            DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1 control c1 LOW
  180.            ADD 1 TO LI2 IF LI2 > 4 NEXT SENTENCE ELSE GO UNO2.
  181.        DOS2.
  182.            IF LI2 = 4 MOVE 1 TO LI2.
  183.                DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1
  184.                CONTROL C9 reverse.
  185.        TRES2.
  186.            ACCEPT OP LINE LI2 POSITION 45 OFF NO BEEP
  187.            ON EXCEPTION ESCA MOVE 1 TO QW.
  188.            DISPLAY ELEMEN2 (LI2) LINE LI2 POSITION 1 control c1 low.
  189.            IF ESCA = 27
  190.            DISPLAY WIN(2) CONTROL "WINDOW-REMOVE"
  191.            go ini2.
  192.            IF ESCA = 52 SUBTRACT 1 FROM LI2 GO DOS2.
  193.            IF ESCA = 53 ADD 1 TO LI2 GO DOS2.
  194.            IF ESCA = 13 NEXT SENTENCE ELSE GO TRES2.
  195.        CUATRO2.
  196.            IF LI2 = 1
  197.                MOVE 0 TO QW
  198.                GO UNO2
  199.            END-IF.
  200.            IF LI2 = 2
  201.                MOVE 0 TO QW
  202.                GO UNO2
  203.            END-IF.
  204.            IF LI2 = 3
  205.                MOVE 0 TO QW
  206.                GO UNO2
  207.            END-IF.
  208.            IF LI2 = 4
  209.                MOVE 0 TO QW
  210.                DISPLAY WIN(2) CONTROL "WINDOW-REMOVE"
  211.                GO INI2
  212.            END-IF.

pe

JCantero 3 de junio de 2022 11:57

Para versiones superiores a 6.xx está implementado. Pero para la 5.xx no. Hay que hacerlo manualmente.

Para esa versión (5.xx), yo utilizaba un editor de pantallas. Que se puede hacer hasta en cobol.

El editor, basicamente, editaba la pantalla 80x25 ( 2000 caracteres, con cualquier caracter ASCII) y con posibilidad de dar color a cada caracter de la pantalla, eso es un fichero de 4000 caracteres.

Despues en los programas, una rutina (volcado) que sacaba esa pantalla.

ge5lo 6 de junio de 2022 21:00

Cita:

Citación del post de JCantero (Mensaje 7892)
Para versiones superiores a 6.xx está implementado. Pero para la 5.xx no. Hay que hacerlo manualmente.

Para esa versión (5.xx), yo utilizaba un editor de pantallas. Que se puede hacer hasta en cobol.

El editor, basicamente, editaba la pantalla 80x25 ( 2000 caracteres, con cualquier caracter ASCII) y con posibilidad de dar color a cada caracter de la pantalla, eso es un fichero de 4000 caracteres.

Despues en los programas, una rutina (volcado) que sacaba esa pantalla.

Hola y tienes algo de codigo de ejemplo para hacerlo manualmente???


La franja horaria es GMT +2. Ahora son las 15:40.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.