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 + COM/OLE] Uso del ChartControl de Codejock Kuk Cocina PowerCOBOL 15 3 de mayo de 2024 12:59
[Sintaxis] Uso del ADO y JOIN en Power Cobol hbetancur PowerCOBOL (ActiveX, v4 - v11) 0 24 de mayo de 2023 00:16
[Sintaxis] Uso control Frame jmeza PowerCOBOL (ActiveX, v4 - v11) 3 17 de julio de 2022 20:39
[Sintaxis] Uso del raton para ampliar un registro de CmList Breew PowerCOBOL (ActiveX, v4 - v11) 10 3 de junio de 2018 14:09
[Problema con el Foro] Uso del Foro... jasb Funcionamiento del Foro 13 7 de diciembre de 2017 10:15

Respuesta

  #1
Antiguo 18 de abril de 2016, 16:15
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8
Predeterminado Uso del control CmProgress
0 Inactivo Inactivo

Hola.

Al arrancar el programa necesito cargar un fichero muy grande.
Como la espera es "desesperante", he intentado decorar la carga con una barra con porcentaje, pero no acabo de ver como funciona.

No encuentro la manera de que vaya bien. Creo que la intencion es buena.
Abro el fichero, invoco el timer y dentro del timer voy leyendo registros.

¿ Como lo haceis funcionar ?

Saludos
Breew is offline   Responder Con Cita
  #2
Antiguo 18 de abril de 2016, 17:43
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

Breew,
¿Qué versión de PWC estás usando?
Josber is offline   Responder Con Cita
  #3
Antiguo 18 de abril de 2016, 22:44
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola.

Perdonad el despiste.Estoy usando la version 9.0 compilada en Windows7
Breew is offline   Responder Con Cita
  #4
Antiguo 19 de abril de 2016, 00:15
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Breew,

Está na Cocina del Foro um exemplo para saber o numero total de registos num ficheiro.
"Numero de Registos num Ficheiro indexado".

Colocas o numero total de registos no "MAX" da CMprogress

Em seguida, por cada registo lido, somas 1 ao "value" da cmprogress.

Não necessitas de nenhum cmtimer para isto.
Deves executar um ThruEvents por exemplo de 1000 em 1000 registos, para não bloquear tudo.

Se não conseguires diz-me. Posso fazer um exemplo.

Desculpa responder em português (espero que entendas).

Saludos,
Rui Pinto
Rapinto is offline   Responder Con Cita
  #5
Antiguo 19 de abril de 2016, 09:53
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

Yo utilizo una barra que es un ocs de terceros, el que trae PWC9, no me gusta nada, el "repintado" que hace es muy malo, el que uso se llama "progressbar-xp.ocx", que trae bastantes opciones y es muy sencillo de utilizar.
Como te ha dicho Rui, no tienes que hacerlo con un timer, sino:

- Saber el número total de registros, o lo haces con la utilidad que te ha dicho Rui, o haces una doble lectura del fichero, (la primera para saber el total de registros).
- Pones el total de registros en la propiedad "Max" de la barra de progreso y 1 en la propiedad "Min"
- Por cada lectura que hagas, sumas 1 a un contador y ese contador lo mueves a la propiedad "Value" de la barra de progreso
- Cuando termines de leer, pones a 0 la propiedad "Visible" de la barra

Por ejemplo:

Código COBOL:
  1. INICIO.
  2.         MOVE CONTASQL TO "Max" OF PROGRESO.
  3.         MOVE 1        TO "Min" OF PROGRESO.
  4.         MOVE 1        TO "Visible" OF PROGRESO.
  5.                      .
  6.                      .
  7.                      .
  8. LEER.
  9.         READ fichero NEXT .....
  10.         ADD 1 TO CONTA.
  11.         MOVE CONTA TO "Value" OF PROGRESO.
  12.                      .
  13.                      .
  14.                      .
  15. FIN.
  16.         MOVE 0        TO "Visible" OF PROGRESO.


Y con eso debe de funcionarte, si quieres el ocx, dilo y lo subo.

Un saludo.-
Josber is offline   Responder Con Cita
  #6
Antiguo 19 de abril de 2016, 10:10
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Rapinto, Josber, la ventaja del Timer, ahora que lo pienso, podría ser que en Windows 7 por ejemplo, el ProgressBar incluso cuando está parado, si no está a 0, hay un reflejo que recorre la parte llena cada x segundos. Este efecto desaparece en un bucle con ThruEvents, el cual resolvía el problema en XP porque ahí no hay ningun reflejo ni nada, sólo barra de progreso como tal. Como el Timer trabaja, por decirlo de alguna manera, "en un hilo separado", podría mantener el reflejo que 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
  #7
Antiguo 19 de abril de 2016, 10:42
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

Supongo Kuk, pero, creo que es consumir recursos así porque así.

Un saludo.-
Josber is offline   Responder Con Cita
  #8
Antiguo 22 de abril de 2016, 00:04
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola Josber,

Sube el ocx, me gustaria echarle un vistazo

Gracias
Breew is offline   Responder Con Cita
  #9
Antiguo 22 de abril de 2016, 12:04
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

Aquí lo tienes, es muy sencillo de usar, pero si te hace falta ayuda, dilo.

Un saludo.-
Archivos Adjuntos
Tipo de Archivo: zip progressbar-xp.zip (27,4 KB)Descargas: 164
Josber is offline   Responder Con Cita
  #10
Antiguo 23 de abril de 2016, 17:27
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola.


Perfecto.
Ahora tengo un problema. el cmprogress lo tengo metido en opened event.
Pero no es visible hasta que no acaba de hacer todas las instrucciones del opened event.
Como hago para que primero carque toda la pantalla y despues ejecute la lectura del archivo con el cmprogress[COLOR="Silver"]

---------- Post añadido : 17:27 ---------- Post anterior : 17:10 ----------

Citación del post de Josber Ver Mensaje
Aquí lo tienes, es muy sencillo de usar, pero si te hace falta ayuda, dilo.

Un saludo.-
hola.

No puedo instalarlo ni con el regsvr32 ni con el powercobol. me da error.:confused::confused:

Saludos

Última edición por Breew fecha: 23 de abril de 2016 a las 17:11. Razón: error
Breew is offline   Responder Con Cita
Respuesta


Herramientas

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 16:23.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.