Ver Mensaje Individual
  #8
Antiguo 2 de junio de 2022, 17:29
ge5lo
Forero Junior
Última Actividad 30.06.2022 02:03
Posts Posts: 9

Citación del post de Kuk Ver Mensaje
@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 ----------

Citación del post de JCantero Ver Mensaje
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
ge5lo is offline   Responder Con Cita