Necesito crear un Dialogo que me permita ver cual ese el avance de un proceso Activado desde un boton que esta en el mismo dialogo
Para esto tendremos el el dialogo tres campos: Proceso , Avance, y Mensaje ademas de dos Botones: "INICIAR" , "CANCELAR"
Cuando se presione "INICIAR" se activara el proceso el cual recibe como argumentos los objetos de oDlg, oProceso, oAvance, oMensaje
a media que va avanzando se van actualizando dichos campoos...
Bueno ese es el deseo .. pero no me funciona
![Sad :(](./images/smilies/icon_sad.gif)
Aqui les dejo un ejemplo corto de lo que estoy haciendo, me ayudan por favor , que esta mal,, ??
Gracias por adelantado cualquier suguerencia.
Lubin
Code: Select all | Expand
#include "FiveWin.ch" && Se incluye el Ch de FiveWin
FUNCTION JK_PROCESO()
*********************
* ESTE MODULO MUESTRA UN CUADRO DIALOOGO CON EL:
* PROCESO ....
* AVANCE ....
* MENSAJE ...
* Y el Boton ..8011 lanza el proceso
*
LOCAL oDlg_Maestro
LOCAL Z_EDIT:=.F. && pARA Q ME LO MUESTRE COM gETS PERO DESHABILITADO
*Variables Locales para Registro del PERSONAL
*######################## CAMPOS DEL REGISTRO && 9xx ID en recursos
LOCAL oPROCESO ,XPROCESO := SPACE(40)
LOCAL oAVANCE ,XAVANCE := SPACE(40)
LOCAL oMENSAJE ,XMENSAJE := SPACE(40)
* COLOR CLR_GREEN, CLR_BLUE
DEFINE DIALOG oDlg_Maestro RESOURCE "JK_PROCESO" TITLE "CONTROL DE PROCESOS "
REDEFINE GET oPROCESO VAR XPROCESO ID 801 OF oDlg_Maestro PICTURE "@!" WHEN Z_EDIT UPDATE
REDEFINE GET oAVANCE VAR XAVANCE ID 802 OF oDlg_Maestro PICTURE "@!" WHEN Z_EDIT UPDATE
REDEFINE GET oMENSAJE VAR XMENSAJE ID 803 OF oDlg_Maestro PICTURE "@!" WHEN Z_EDIT UPDATE
REDEFINE BUTTON ID 8011 OF oDlg_Maestro ACTION JK_MODULO(oDlg_Maestro,oProceso,oAvance,oMensaje)
REDEFINE BUTTON ID 8012 OF oDlg_Maestro ACTION (oDlg_Maestro:End())
ACTIVATE DIALOG oDlg_Maestro CENTERED
RETURN .T.
FUNCTION JK_MODULO(oDlg,oProceso,oAvance,oMensaje)
**************************************************
* ESTA FUNCION EJECUTA UN COINJUNTO DE PROCESOS... Y A MEDIDA QUE VA AVANZANDO QUISIERA QUE DE VISUALICE EN EL Dialogo MAESTRO
local I
LOCAL K_PRO:=""
LOCAL XMEN:=""
K_PRO="A" && aqui va un proceso
oProceso:cText:="Proceso >>>"+K_PRO
oAvance:refresh()
FOR I=1 TO 100
XMEN="PROCESO ("+K_PRO+") -->" +STR(I,10,0)
oAvance:cText:=xMEN
oAvance:UPDATE()
KPAUSE() &&... haciendo tiempo para el ejemplo
NEXT I
K_PRO="B" && Aqui va otro proceso
oProceso:cText:="Proceso >>>"+K_PRO
oAvance:refresh()
FOR I=1 TO 100
XMEN="PROCESO ("+K_PRO+") -->" +STR(I,10,0)
oAvance:cText:=xMEN
oAvance:UPDATE()
KPAUSE() && Haciendo tiempo para el ejemplo
NEXT I
RETURN .T.
FUNCTION KPAUSE(XN) && FUNCION USADA EN ESTE CASO SOLO PARA HACER TIEMPOO....
LOCAL XI:=0
IF XN=NIL
XN=5
ENDIF
FOR XI=1 TO XN*10000
NEXT XI
RETURN NIL