Ver Mensaje Individual
  #3
Antiguo 28 de enero de 2024, 00:43
valpo
Forero Junior
Última Actividad 09.12.2024 01:16
Posts Posts: 8

Gracias Kuk por contestar, envío ejemplo de uso de window-create , window-remove. esto funciona a nivel de consola en windows y unix con rmcobol85, pero con gnucobol en windows no lo he logrado. no resulta el efecto que debería hacer. alguien ha usado esto en algún cobol ?

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. MENU.
  3.        ENVIRONMENT DIVISION.
  4.        CONFIGURATION SECTION.
  5.        SPECIAL-NAMES.
  6.        DATA DIVISION.
  7.        WORKING-STORAGE SECTION.
  8.  
  9.  
  10.       *WCB: Aquí se guardará toda la información
  11.      *para luego dibujar la ventana, podeis ponerle el
  12.      *nombre que querais, tanto a ésta como al resto.
  13.      *WINLIN: Número de lineas que va a tener la ventana.
  14.      *WINCOL: Número de columnas que va a tener la ventana.
  15.      *WINBORST: (Y)ES (N)O, si va a tener o no, borde.
  16.      *WINBORTI: Tipo de borde, hay cuatro tipos distintos.
  17.      *WINTITSI: (T)OP (B)UTTON, posición del título, arriba o abajo.
  18.      *WINTITPO: (C)ENTER (L)EFT (R)IGHT, justificación del título.
  19.      *WINTITLO: Longitud en caracteres del título.
  20.      *WINTIT: Título de la ventana.
  21.  
  22.  
  23.        01 WCB.
  24.            03 WINCAB PIC 999 BINARY VALUE 0.
  25.            03 WINLIN PIC 999 BINARY.
  26.            03 WINCOL PIC 999 BINARY.
  27.            03 WINLOC PIC X VALUE "W".
  28.      * (S-W)
  29.            03 WINBORST PIC X VALUE "Y".
  30.      * (Y-N)
  31.            03 WINBORTI PIC 9 VALUE 2.
  32.            03 WINBORCH PIC X VALUE "Y".
  33.            03 WINLLE PIC X.
  34.      * (Y-N)
  35.            03 WINLLECH PIC X.
  36.            03 WINTITSI PIC X VALUE "T".
  37.      * (T-B)
  38.            03 WINTITPO PIC X VALUE "C".
  39.      * (C-L-R)
  40.            03 WINTITLO PIC 999 BINARY.
  41.            03 WINTIT PIC X(64).
  42.  
  43.  
  44.        01 VENTANAS.
  45.            02 WIN PIC X(80) OCCURS 10 TIMES.
  46.  
  47.        77  ALGO   PIC X.
  48.        PROCEDURE DIVISION.
  49.        INICIO.
  50.            DISPLAY SPACES BLANK SCREEN
  51.            DISPLAY "+-----------------------------+" LINE 3 POSITION 1
  52.            DISPLAY "|                             |" LINE 4 POSITION 1
  53.            DISPLAY "|                             |" LINE 5 POSITION 1
  54.            DISPLAY "|    PANTALLA INICIO          |" LINE 6 POSITION 1
  55.            DISPLAY "|                             |" LINE 7 POSITION 1
  56.            DISPLAY "| presione Enter para abir    |" LINE 8 POSITION 1
  57.            DISPLAY "| VENTANA                     |" LINE 9 POSITION 1
  58.            DISPLAY "|                             |" LINE 10 POSITION 1
  59.            DISPLAY "|                             |" LINE 11 POSITION 1
  60.            DISPLAY "+-----------------------------+" LINE 12 POSITION 1
  61.            ACCEPT ALGO LINE 11 POSITION 31
  62.            PERFORM ABRIR-VENTANA
  63.            DISPLAY "+------------------------------+" LINE 3 POSITION 1
  64.            DISPLAY "|                              |" LINE 4 POSITION 1
  65.            DISPLAY "|                              |" LINE 5 POSITION 1
  66.            DISPLAY "|   VENTANA                    |" LINE 6 POSITION 1
  67.            DISPLAY "|                              |" LINE 7 POSITION 1
  68.            DISPLAY "|presione Enter para cerrar est|" LINE 8 POSITION 1
  69.            DISPLAY "|a    ventana y deberia mostrar|" LINE 9 POSITION 1
  70.            DISPLAY "|PANTALLA INICIO sin necesidad |" LINE 10 POSITION 1
  71.            DISPLAY "|de desplegarla denuevo        |" LINE 11 POSITION 1
  72.            DISPLAY "+------------------------------+" LINE 12 POSITION 1
  73.            ACCEPT ALGO LINE 11 POSITION 31
  74.            PERFORM CERRAR-VENTANA
  75.            ACCEPT ALGO LINE 11 POSITION 31.
  76.            STOP RUN.
  77.        ABRIR-VENTANA.
  78.            MOVE 10  TO WINLIN
  79.            MOVE 34 TO WINCOL
  80.            MOVE " Opciones " TO WINTIT MOVE 10 TO WINTITLO
  81.            MOVE 2 TO WINBORTI
  82.            MOVE WCB TO WIN(1)
  83.            DISPLAY WIN(1) LINE 3 POSITION 5
  84.           CONTROL  "WINDOW-CREATE".
  85.            
  86.      
  87.            
  88.         CERRAR-VENTANA.    
  89.            
  90.             DISPLAY WIN(1)
  91.             CONTROL "WINDOW-REMOVE".


Comentario de Moderador

Usa los botones de resalto de sintaxis. Para Cobol es este:
valpo is offline   Responder Con Cita