Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Utilización de ListBox (https://www.cobolforo.es/showthread.php?t=750)

jmeza 28 de octubre de 2017 19:22

Utilización de ListBox
 
Hola amigos de Cobol, necesito de su ayuda
Tengo que incorporar un Listbox dentro de un formulario, para eligir una opción dentro de un listado de alternativas, la eligida mostrarla en un campo del formulario.

Es la primera vez que voy a usar este control.
El ejemplo que me da el software no logro conseguir su funcionamiento.

Si me pueden ayudar con esto enviando un ejemplo de su rutina de programación.

Un Saludo

Juan Meza

Hrmcobol 28 de octubre de 2017 21:20

Hola Juan, el ejemplo que viene en la instalación es muy claro, porque no logras que funcione?
Saludos
H

jmeza 29 de octubre de 2017 02:02

Hola H, en realidad a mi no me funciona por falta de practica, estoy emigrando de rmcobol dos a pawercobol y es la primera vez que necesito incorporarla en un formulario.

Necesito registrar 10 unidades de medidas para elejir una

Con un pequeño ejemplo quedo claro

Saludos
JM

Kuk 29 de octubre de 2017 10:42

jmeza, en este caso lo mejor sería un ComboBox. De todos modos ambos comparten los mismos métodos y propiedades:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  IDX-1       PIC S9(4) COMP-5.
  5.  01  WS-TEXTO    PIC X(50).
  6.  
  7.  PROCEDURE       DIVISION.
  8.  
  9.      *> AÑADIR LINEA
  10.      INVOKE CmCombo1 "AddString" USING WS-TEXTO
  11.      INVOKE CmList1  "AddString" USING WS-TEXTO
  12.    
  13.      *> OBTENER TEXTO DE UNA LINEA CONCRETA
  14.      MOVE 1 TO IDX-1    
  15.      
  16.      MOVE "ListString"(IDX-1) OF CmCombo1 TO WS-TEXTO
  17.      MOVE "ListString"(IDX-1) OF CmList1  TO WS-TEXTO
  18.    
  19.      *> OBTENER LINEA SELECCIONADA
  20.      MOVE "SelString" OF CmCombo1 TO WS-TEXTO
  21.      MOVE "SelString" OF CmList1  TO WS-TEXTO    
  22.      

jmeza 30 de octubre de 2017 02:06

ok Kuk, lo voy a trabajar con ComboBox, que ya e usado anteriormente en lectura de un archivo para seleccionar un código.
Para este caso los datos son fijos asi que instentare declararlos en la WORKING
para mostrarlos en la busqueda y seleccionar uno.

Saludos
jm

Kuk 30 de octubre de 2017 08:34

jmeza, no es obligatorio declarar variables, si los datos son fijos puedes hacer directamente:

Código COBOL:
  1.     INVOKE CmCombo1 "AddString" USING "Opción 1"
  2.     INVOKE CmCombo1 "AddString" USING "Opción 2"
  3.     INVOKE CmCombo1 "AddString" USING "Opción 3"
  4.     ...

jmeza 30 de octubre de 2017 15:08

ok Kuk, ahora me queda mas claro, así lo haré

Saludos

Gatomalo 1 de noviembre de 2017 18:42

Usando el control ctlist del DBI
tal vez te sirva
Código COBOL:
  1. 01 DATOS.
  2.     02 COD PIC 9(6).
  3.     02 FILLER PIC X ";".
  4.     02 NOMBRE PIC X(50).
  5.     02 FILLER PIC X VALUE ";".
  6.     02 PRECIO PIC ZZ,ZZZ.ZZ.
  7.  01 IT PIC 99999.
  8.  PROCEDURE DIVISION.
  9.       MOVE  LISTindex of  ctlist1  TO it.
  10.        MOVE  LISTtext( it ) of  ctlist1  TO DATOS.
  11.        MOVE COD TO .....

Para selecciona un item en el ctlist.

Código COBOL:
  1. INVOKE CTLIST1 "RemoveSelected".

para eliminar una linea

Código COBOL:
  1. MOVE DATOS TO LISTTEXT( IT ) OF CTLIST1.

para reemplazar una linea

Código COBOL:
  1. INVOKE CTLIST "ADDITEM" USING DATOS.

para adicionar datos.

Código COBOL:
  1.  MOVE IT TO MAX
  2.        COMPUTE MAX = MAX - 1.
  3.        INVOKE CTLIST1 "INSERTITEM" USING DATOS ,MAX.

para insertar una linea

:santa:


La franja horaria es GMT +2. Ahora son las 04:56.

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