Ver Mensaje Individual
  #16
Antiguo 28 de marzo de 2016, 20:08
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Roger, ya lo he solucionado, he encontrado el archivo y ya lo he leido, gracias.

Por otro lado, es muy sencillo de utilizar, en el evento "ItemClick", es donde has de poner tu código, te paso el ejemplo de la prueba que estoy haciendo

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-ARG-NITEM   PIC S9(4) COMP-5.
  6.  01  POW-ARG-BARROW  PIC S9(4) COMP-5.
  7.  PROCEDURE       DIVISION USING POW-ARG-NITEM POW-ARG-BARROW.
  8.  
  9.      EVALUATE POW-ARG-NITEM
  10.  
  11.               WHEN 2
  12.  
  13.                    MOVE 0 TO AHIVA5
  14.                    INVOKE POW-SELF "CallForm" USING "F-CON-TRANSPORTISTA" "M-TRANSPORTISTA"
  15.                    MOVE AHIVA5 TO "Text" OF CAMPO1
  16.                    IF AHIVA5 NOT = 0
  17.                       MOVE AHIVA5 TO TRACOD
  18.        
  19.                       READ TRANSPORTISTA KEY IS XTCOD
  20.                            INVALID KEY
  21.                                    INVOKE POW-SELF "Alarm"
  22.                                    ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
  23.                                    INVOKE POW-SELF "DisplayMessage"
  24.                                           USING "No existe el Registro, quizás haya sido borrado desde otro puesto ..."
  25.                                                 WS-ATENCION
  26.                                                 ESTILO
  27.                                    END-INVOKE
  28.                                    MOVE SPACES TO WSCAPTION
  29.                                    MOVE TRACOD TO TRA-EDI
  30.                                    STRING "Transportistas - Nuevo Registro: "
  31.                                           TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  32.                                    END-STRING
  33.                                    MOVE WSCAPTION TO "Caption" OF POW-SELF
  34.                                    CALL "VACIAR"
  35.                                    CALL "INHABILITAR"
  36.                                    INVOKE CAMPO1 "SetFocus"
  37.                                    EXIT PROGRAM
  38.                            NOT INVALID KEY
  39.                                CALL "HABILITAR"
  40.                                CALL "EXISTE"
  41.                                INVOKE CAMPO1 "SetFocus"
  42.                                EXIT PROGRAM
  43.                       END-READ
  44.                    ELSE
  45.                       MOVE SPACES TO WSCAPTION
  46.                       MOVE TRACOD TO TRA-EDI
  47.                       STRING "Transportistas - Nuevo Registro: "
  48.                              TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  49.                       END-STRING
  50.                       MOVE WSCAPTION TO "Caption" OF POW-SELF
  51.                       CALL "VACIAR"
  52.                       CALL "INHABILITAR"
  53.                       INVOKE CAMPO1 "SetFocus"
  54.                       EXIT PROGRAM
  55.                    END-IF
  56.  
  57.                 WHEN 4
  58.  
  59.                    INVOKE POW-SELF "OpenForm" USING "FORM-ACERCA" "M-ACERCA"
  60.  
  61.               WHEN 6
  62.  
  63.                    CALL "PARASALIR"
  64.  
  65.               WHEN 8
  66.  
  67.                    CALL "GRABAR"
  68.  
  69.               WHEN 9
  70.  
  71.                    INVOKE POW-SELF "Alarm"
  72.                    ADD POW-DMICONQUESTION POW-DMYESNO POW-DMDEFBUTTON2 GIVING ESTILO
  73.                    INVOKE POW-SELF "DisplayMessage"
  74.                           USING "¿Cancelar?, Perderá la información no guardada ..."
  75.                                 WS-ATENCION
  76.                                 ESTILO
  77.                           RETURNING RETORNO
  78.                    END-INVOKE
  79.  
  80.                    IF RETORNO = POW-DMRNO
  81.                       EXIT PROGRAM
  82.                    END-IF
  83.  
  84.                      CALL "INHABILITAR"
  85.                      CALL "VACIAR"
  86.                      INVOKE CAMPO1 "SetFocus"
  87.  
  88.               WHEN 10
  89.  
  90.                    MOVE 0 TO AHIVA5
  91.                    INVOKE POW-SELF "CallForm" USING "F-CON-TRANSPORTISTA" "M-TRANSPORTISTA"
  92.                    MOVE AHIVA5 TO "Text" OF CAMPO1
  93.                    IF AHIVA5 NOT = 0
  94.                       MOVE AHIVA5 TO TRACOD
  95.        
  96.                       READ TRANSPORTISTA KEY IS XTCOD
  97.                            INVALID KEY
  98.                                    INVOKE POW-SELF "Alarm"
  99.                                    ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
  100.                                    INVOKE POW-SELF "DisplayMessage"
  101.                                           USING "No existe el Registro, quizás haya sido borrado desde otro puesto ..."
  102.                                                 WS-ATENCION
  103.                                                 ESTILO
  104.                                    END-INVOKE
  105.                                    MOVE SPACES TO WSCAPTION
  106.                                    MOVE TRACOD TO TRA-EDI
  107.                                    STRING "Transportistas - Nuevo Registro: "
  108.                                           TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  109.                                    END-STRING
  110.                                    MOVE WSCAPTION TO "Caption" OF POW-SELF
  111.                                    CALL "VACIAR"
  112.                                    CALL "INHABILITAR"
  113.                                    INVOKE CAMPO1 "SetFocus"
  114.                                    EXIT PROGRAM
  115.                            NOT INVALID KEY
  116.                                CALL "HABILITAR"
  117.                                CALL "EXISTE"
  118.                                INVOKE CAMPO1 "SetFocus"
  119.                                EXIT PROGRAM
  120.                       END-READ
  121.                    ELSE
  122.                       MOVE SPACES TO WSCAPTION
  123.                       MOVE TRACOD TO TRA-EDI
  124.                       STRING "Transportistas - Nuevo Registro: "
  125.                              TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  126.                       END-STRING
  127.                       MOVE WSCAPTION TO "Caption" OF POW-SELF
  128.                       CALL "VACIAR"
  129.                       CALL "INHABILITAR"
  130.                       INVOKE CAMPO1 "SetFocus"
  131.                       EXIT PROGRAM
  132.                    END-IF
  133.  
  134.                 WHEN 11
  135.  
  136.                      CALL "BORRAR"
  137.  
  138.                 WHEN 13
  139.  
  140.                    CALL "IMPRIMIR"
  141.  
  142.               WHEN 14
  143.  
  144.                    INVOKE POW-SELF "CallForm" USING "F-LIS-TRANSPORTISTA" "M-TRANSPORTISTA"
  145.  
  146.               WHEN OTHER
  147.  
  148.                    EXIT PROGRAM
  149.  
  150.      END-EVALUATE.

Ten en cuenta, que el menú empieza a numerear por 1 desde el primer elemento, en la imágen que adjunto, el primer elemento sería la opción "Menú", y que los separadores cuentan como un elemento en sí, por lo que has de tenerlo en cuenta a la hora de programar el EVALUATE.

Para poder dehabilitar un elemento del menú, usa, por ejemplo:
Código COBOL:
  1.        MOVE 0 TO "ItemEnabled"(08) OF ctToolBar1.
  2.        MOVE 0 TO "ItemEnabled"(09) OF ctToolBar1.
  3.        MOVE 0 TO "ItemEnabled"(11) OF ctToolBar1.
  4.        MOVE 0 TO "ItemEnabled"(14) OF ctToolBar1.

Es decir, el número entre paréntesis es el elemento a inhabilitar.

Si tienes más dudas, indícalo.

Un saludo.-
Imágenes Adjuntas
 
Josber is offline   Responder Con Cita