
Consulta amigos del foro
Publicado por alexander (10 intervenciones) el 21/07/2014 19:53:49
buenas tardes amigos programadores tengo una consulta espero que algunos de ustedes le puede ocurrir lo mismo
resulta ser que realize un archivo .prg que contiene una barra de progreso me funciona perfecto. tengo un formulario de reporte que ingresando fecha desde y hasta como tambien el codigo del cliente te generan el reporte me funciona todo bien. mi pregunta es la siguiente:
*Quiero hacer que cuando te de al boton de imprimir en mi formulario me ejecute mi progressbar que lo tengo en .prg
luego que se termine de cargar me abra el reporte les anexo mi código .prg ver si tengo que colocar algo adicional
*-- Ejemplo
lo = CREATEOBJECT("ProgressBar","Procesando....")
lo.SHOW(2)
*-- Simulo un proceso
FOR ln = 1 TO 100
lo.Actualizar(ln)
INKEY(.05)
ENDFOR
MESSAGEBOX("Proceso terminado",64)
lo = .NULL.
*--------------------------------------
* Definición de la clase barra de progreso
*--------------------------------------
DEFINE CLASS ProgressBar AS FORM
DOCREATE = .T.
HEIGHT = 72
WIDTH = 375
BORDERSTYLE = 2
TITLEBAR = 0
WINDOWTYPE = 0
AUTOCENTER = .T.
NAME = "ProgressBar"
AnchoAux = 0
*--
PROCEDURE INIT
LPARAMETERS tcTitulo
SYS(2002)
THIS.CrearObjetos(tcTitulo)
THIS.AnchoAux = THIS.CNT.CNT.WIDTH
THIS.Actualizar(0)
ENDPROC
*--
PROCEDURE DESTROY
SYS(2002,1)
ENDPROC
*--
PROCEDURE actualizar
LPARAMETERS tnPorc
tnPorc = MAX(MIN(tnPorc,100),0)
THIS.CNT.CNT.WIDTH = THIS.AnchoAux * tnPorc /100
STORE TRANSFORM(tnPorc,"999")+"%" TO ;
THIS.CNT.lbl.CAPTION, ;
THIS.CNT.CNT.lbl.CAPTION
THIS.DRAW
ENDPROC
*--
PROCEDURE CrearObjetos
LPARAMETERS tcTitulo
THIS.ADDOBJECT("lblTitulo","label")
WITH THIS.lblTitulo
.FONTBOLD = .T.
.ALIGNMENT = 2
.CAPTION = IIF(EMPTY(tcTitulo),;
"En progreso ...",tcTitulo)
.LEFT = 0
.TOP = 10
.WIDTH = 375
.VISIBLE = .T.
ENDWITH
THIS.ADDOBJECT("cnt","container")
WITH THIS.CNT
.TOP = 36
.LEFT = 9
.WIDTH = 360
.HEIGHT = 26
.SPECIALEFFECT = 1
.BACKCOLOR = RGB(255,255,255)
.VISIBLE = .T.
.ADDOBJECT("lbl","label")
WITH .lbl
.FONTBOLD = .T.
.ALIGNMENT = 2
.BACKSTYLE = 0
.CAPTION = "100%"
.HEIGHT = 20
.LEFT = 0
.TOP = 6
.WIDTH = 360
.VISIBLE = .T.
ENDWITH
.ADDOBJECT("cnt","container")
WITH .CNT
.TOP = 2
.LEFT = 2
.WIDTH = 356
.HEIGHT = 22
.BORDERWIDTH = 0
.BACKCOLOR = RGB(0,0,255)
.ADDOBJECT("lbl","label")
.VISIBLE = .T.
WITH .lbl
.FONTBOLD = .T.
.ALIGNMENT = 2
.BACKSTYLE = 0
.CAPTION = "100%"
.HEIGHT = 20
.LEFT = 0
.TOP = 4
.WIDTH = 356
.FORECOLOR = RGB(255,255,255)
.VISIBLE = .T.
ENDWITH
ENDWITH
ENDWITH
ENDPROC
ENDDEFINE
espero que puedan darme una optima solucion a esta duda
resulta ser que realize un archivo .prg que contiene una barra de progreso me funciona perfecto. tengo un formulario de reporte que ingresando fecha desde y hasta como tambien el codigo del cliente te generan el reporte me funciona todo bien. mi pregunta es la siguiente:
*Quiero hacer que cuando te de al boton de imprimir en mi formulario me ejecute mi progressbar que lo tengo en .prg
luego que se termine de cargar me abra el reporte les anexo mi código .prg ver si tengo que colocar algo adicional
*-- Ejemplo
lo = CREATEOBJECT("ProgressBar","Procesando....")
lo.SHOW(2)
*-- Simulo un proceso
FOR ln = 1 TO 100
lo.Actualizar(ln)
INKEY(.05)
ENDFOR
MESSAGEBOX("Proceso terminado",64)
lo = .NULL.
*--------------------------------------
* Definición de la clase barra de progreso
*--------------------------------------
DEFINE CLASS ProgressBar AS FORM
DOCREATE = .T.
HEIGHT = 72
WIDTH = 375
BORDERSTYLE = 2
TITLEBAR = 0
WINDOWTYPE = 0
AUTOCENTER = .T.
NAME = "ProgressBar"
AnchoAux = 0
*--
PROCEDURE INIT
LPARAMETERS tcTitulo
SYS(2002)
THIS.CrearObjetos(tcTitulo)
THIS.AnchoAux = THIS.CNT.CNT.WIDTH
THIS.Actualizar(0)
ENDPROC
*--
PROCEDURE DESTROY
SYS(2002,1)
ENDPROC
*--
PROCEDURE actualizar
LPARAMETERS tnPorc
tnPorc = MAX(MIN(tnPorc,100),0)
THIS.CNT.CNT.WIDTH = THIS.AnchoAux * tnPorc /100
STORE TRANSFORM(tnPorc,"999")+"%" TO ;
THIS.CNT.lbl.CAPTION, ;
THIS.CNT.CNT.lbl.CAPTION
THIS.DRAW
ENDPROC
*--
PROCEDURE CrearObjetos
LPARAMETERS tcTitulo
THIS.ADDOBJECT("lblTitulo","label")
WITH THIS.lblTitulo
.FONTBOLD = .T.
.ALIGNMENT = 2
.CAPTION = IIF(EMPTY(tcTitulo),;
"En progreso ...",tcTitulo)
.LEFT = 0
.TOP = 10
.WIDTH = 375
.VISIBLE = .T.
ENDWITH
THIS.ADDOBJECT("cnt","container")
WITH THIS.CNT
.TOP = 36
.LEFT = 9
.WIDTH = 360
.HEIGHT = 26
.SPECIALEFFECT = 1
.BACKCOLOR = RGB(255,255,255)
.VISIBLE = .T.
.ADDOBJECT("lbl","label")
WITH .lbl
.FONTBOLD = .T.
.ALIGNMENT = 2
.BACKSTYLE = 0
.CAPTION = "100%"
.HEIGHT = 20
.LEFT = 0
.TOP = 6
.WIDTH = 360
.VISIBLE = .T.
ENDWITH
.ADDOBJECT("cnt","container")
WITH .CNT
.TOP = 2
.LEFT = 2
.WIDTH = 356
.HEIGHT = 22
.BORDERWIDTH = 0
.BACKCOLOR = RGB(0,0,255)
.ADDOBJECT("lbl","label")
.VISIBLE = .T.
WITH .lbl
.FONTBOLD = .T.
.ALIGNMENT = 2
.BACKSTYLE = 0
.CAPTION = "100%"
.HEIGHT = 20
.LEFT = 0
.TOP = 4
.WIDTH = 356
.FORECOLOR = RGB(255,255,255)
.VISIBLE = .T.
ENDWITH
ENDWITH
ENDWITH
ENDPROC
ENDDEFINE
espero que puedan darme una optima solucion a esta duda
Valora esta pregunta


0