Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[PowerCOBOL + WinAPI] Colorear líneas de ListView Kuk Cocina PowerCOBOL 7 31 de mayo de 2023 16:16
[Duda] Modificación en ctlist Roger Fujitsu COBOL 1 13 de abril de 2020 14:28
[Componente] Editar numero en CtList Breew PowerCOBOL (ActiveX, v4 - v11) 1 9 de marzo de 2019 21:10
[Duda] Número de lineas y columnas de una hoja Excel Josber PowerCOBOL (ActiveX, v4 - v11) 5 3 de marzo de 2016 19:25
[Sintaxis] Color en Lineas Del ComboBox Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 3 17 de enero de 2016 21:44

Respuesta
 
Herramientas

  #1
Antiguo 27 de abril de 2016, 14:36
Ciro
Forero Junior
Última Actividad 26.05.2025 17:37
Posts Posts: 19
Likes enviados Enviados: 19
Likes recibidos Recibidos: 2
Tabla Bug de mostrado de líneas en CtList
0 Inactivo Inactivo

Solicito ayuda con el comando CtList de DBI- TECH.

Al digitar un comprobante de Contabilidad, voy llenando el CtList, para mostrar los registros.
Tengo un problema, cuando se hace click por error en el área vacia del CtList, principalmente cuando no tiene ningún registro o tiene uno solo, se daña la visualización, muestra toda la información recogida en la primera columna. Para que muestre bien, hay que salir de TODA la aplicación.

El único evento que tengo programado en el CtList es el doble click en un registro, para eliminarlo, y esto lo hace bien.

Adjunto las imágenes de cuando muestra bien y mal. Muchas gracias.

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  CtList BIEN.JPG
Vistas: 171
Tamaño:  81,9 KB   Pulsar la imagen para la versión amplia
Nombre:  CtList MAL.JPG
Vistas: 170
Tamaño:  87,3 KB  
Ciro is offline   Responder Con Cita
  #2
Antiguo 27 de abril de 2016, 14:43
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Hola Amigo, fijate si en los textos no tienes un ";" (caracter punto y coma). Ya que el mismo es separador de campos. O algun otro caracter extraño.
saludos
Hrmcobol is offline   Responder Con Cita
  #3
Antiguo 27 de abril de 2016, 15:03
Ciro
Forero Junior
Última Actividad 26.05.2025 17:37
Posts Posts: 19
Likes enviados Enviados: 19
Likes recibidos Recibidos: 2

Hola Hrmcobol, gracias, inicialmente pensé en el "punto y coma", pero ya revisé y no lo es. Además hice pruebas con diferentes datos y ocurre lo mismo.
Ciro is offline   Responder Con Cita
  #4
Antiguo 27 de abril de 2016, 15:55
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

hola:

Cuando armes el registro para cargar, ponele campos a los punto y coma y volvé a cargarlos siempre, seguramente en algún lado esos punto y coma se están blanqueando.

Ejemplo.

Código COBOL:
  1. Working ....
  2. 01  registro.
  3.      02 cuenta        pic z(6).
  4.      02 separador     pic x value ";".
  5.      02 nombre        pic x(50).
  6.  
  7. Procedure...
  8.  
  9.      move campo-cuenta      to cuenta.
  10.      move ";"               to separador.
  11.      move campos-nombre     to nombre.
  12.      invoke ctList "AddItem" using registro.

Saludos.

Fito.
Fito is offline   Responder Con Cita
  #5
Antiguo 28 de abril de 2016, 06:13
Roger
Forero Activo
Última Actividad 04.02.2021 13:03
Posts Posts: 236
Likes enviados Enviados: 26
Likes recibidos Recibidos: 60

Hola Ciro
Tenia ese mismo problema eso se da cuando tienes un campo alfabetico y esa variable esta en blanco para solucionar pon
Código COBOL:
  1. 01  registro.
  2.      02 cuenta        pic z(6).
  3.      02 separador     pic x value ";".
  4.      02 nombre        pic x(50) value "  ".

mueve " " a todos los campo alfabeticos.
Roger is offline   Responder Con Cita
  #6
Antiguo 29 de abril de 2016, 14:41
Ciro
Forero Junior
Última Actividad 26.05.2025 17:37
Posts Posts: 19
Likes enviados Enviados: 19
Likes recibidos Recibidos: 2

Fito y Roger gracias por sus respuestas, hice lo que indican, pero sigue visualizando mal.

Este es el código.

Código COBOL:
  1. 01 REGISTRO-ITE GLOBAL.
  2.     02 CUENTA-TITE PIC X(12) VALUE " ".
  3.     02 FILLER      PIC X(01) VALUE ";".
  4.     02 NOMCUE-TITE PIC X(30) VALUE " ".
  5.     02 FILLER      PIC X(01) VALUE ";".
  6.     02 NITTER-TITE PIC X(15) VALUE " ".
  7.     02 FILLER      PIC X(01) VALUE ";".
  8.     02 CENCOS-TITE PIC X(08) VALUE " ".
  9.     02 FILLER      PIC X(01) VALUE ";".
  10.     02 TIPREF-TITE PIC X(02) VALUE " ".
  11.     02 FILLER      PIC X(01) VALUE ";".
  12.     02 NROREF-TITE PIC X(08) VALUE " ".
  13.     02 FILLER      PIC X(01) VALUE ";".
  14.     02 DEBITO-TITE PIC ZZ,ZZZ,ZZZ,ZZZ.ZZ.
  15.     02 FILLER      PIC X(01) VALUE ";".
  16.     02 CREDIT-TITE PIC ZZ,ZZZ,ZZZ,ZZZ.ZZ.
  17.     02 FILLER      PIC X(01) VALUE ";".
  18.     02 BASMOV-TITE PIC ZZ,ZZZ,ZZZ,ZZZ.ZZ.
  19.     02 FILLER      PIC X(01) VALUE ";".
  20.     02 DETAL1-TITE PIC X(30) VALUE " ".
  21.     02 FILLER      PIC X(01) VALUE ";".
  22.     02 CONSEC-TITE PIC X(06) VALUE " ".
Ciro is offline   Responder Con Cita
  #7
Antiguo 29 de abril de 2016, 15:52
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Amigos, nunca he usado este control y no entiendo cual es su funcionamiento. ¿No se rellena campo por campo sino se indica todo el churro de string separando los campos por ";"? Si es así, pues vaya castaña...

Entonces Roger, dices que el problema viene cuando un campo alfa no está inicializado?

Ciro, intenta poner como delimitadores el nulo, porque en Windows es el que indica fin de campo:

Código COBOL:
  1.      02 FILLER      PIC X(01) VALUE X"00".

A ver qué tal...

Si por el contrario ese control no se rellena con un sólo churro de datos sino campo por campo, cuando lago esté vacío, aún así haz MOVE SPACES al campo de CtList. En plan:

Código COBOL:
  1.      IF  MI-DATO NOT = SPACES
  2.          MOVE MI-DATO TO "Text"(Col Row) OF CtList1
  3.          
  4.      ELSE
  5.          MOVE SPACES TO "Text"(Col Row) OF CtList1
  6.      END-IF

También si no funciona podrías probar con nulos:


Código COBOL:
  1.      IF  MI-DATO NOT = SPACES
  2.          MOVE MI-DATO TO "Text"(Col Row) OF CtList1
  3.          
  4.      ELSE
  5.          MOVE X"00" TO "Text"(Col Row) OF CtList1
  6.      END-IF

La sintaxis de CtList no la conozco, es más bien pseudo-código.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #8
Antiguo 29 de abril de 2016, 20:06
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Hola Ciro, prueba con estas lineas. En el evento ItemCick

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-NINDEX  PIC S9(9) COMP-5.
  6.  01  POW-NCOLUMN PIC S9(4) COMP-5.
  7.  PROCEDURE       DIVISION USING POW-NINDEX POW-NCOLUMN.
  8.  
  9.  
  10.      IF   "CellText"(POW-NINDEX  1) OF CT-REGISTRO-ITe = SPACES EXIT PROGRAM.
  11.      
Hrmcobol is offline   Responder Con Cita
  #9
Antiguo 29 de abril de 2016, 20:07
Armando
Forero Junior
Última Actividad 27.08.2026 19:00
Posts Posts: 34
Likes enviados Enviados: 5
Likes recibidos Recibidos: 19

Ciro, también puedes tener un Null x"00".


No deberían tener dentro los campos ni ; ni null.


ejemplo nuestro:

Código COBOL:
  1.  01 LINEA-CT GLOBAL.
  2.            02 MARCA-CT         PIC XXX.
  3.            02 SEPARA1-CT       PIC X VALUE ";".
  4.            02 CORREL-CT        PIC Z(6).
  5.            02 SEPARA2-CT       PIC X VALUE ";".
  6.            02 FILLER           PIC X VALUE " ".
  7.            02 ETAPA-CT         PIC X(7).
  8.            02 SEPARA3-CT       PIC X VALUE ";".
  9.            02 FILLER           PIC X VALUE " ".
  10.            02 NOMBRE-CT        PIC X(50).
  11.            02 SEPARA4-CT       PIC X VALUE ";".
  12.            02 FILLER           PIC X VALUE " ".
  13.            02 ORIGEN-CT        PIC X(20).
  14.            02 SEPARA5-CT       PIC X VALUE ";".
  15.  
  16.         MOVE ";" TO SEPARA1-CT SEPARA2-CT SEPARA3-CT SEPARA4-CT EPARA5-CT.
  17.         INSPECT LINEA-CT REPLACING ALL X"00" BY " ".
  18.         INVOKE ctList1 "AddItem" USING LINEA-CT.

cuando tenés ; por ejemplo en el campo NOMBRE-CT, normalmente se corre todo porque identifica que es una nueva columna,

espero te sirva.


ADMIN: Armando, usa el bloque de resalto de sintaxis.

Última edición por Kuk fecha: 29 de abril de 2016 a las 21:03. Razón: Resalto de Sintaxis [COBOL]
Armando is offline   Responder Con Cita
  #10
Antiguo 29 de abril de 2016, 22:17
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Yo también creo que es un problema de datos.
Hrmcobol is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:58.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.