Progress Bars, no funciona correctamente (Solucionado)
Re: Progress Bars, no funciona correctamente (Solucionado)
Your the man ! Congratulations
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Somos un gran equipo todos los que estamos en estos foros!
Re: Progress Bars, no funciona correctamente.
hmpaquito wrote:Antonio,
Te traduzco un mensaje que he encontrado por ahi, por si te diera una pista. El asunto según parece es viejo, y viene de cuando Windows Vista.
Saludosthe problem of progressbar in Vista is that windows ignores the
value assigned to it, and on your own using a timer to go
raising the bar at your leisure. So when you assign your 100%, the
yet he goes where he pleases. The only way I've found of
force him to show the bar to 100%, change the limit to 1 and the value
also 1 Eg.:
oProgressBar1 ::: nMax: = 1
oProgressBar1 ::: nValue: = 1
However, see a bar jump from where he was,
to 100% hit.
Boa noite a todos
Continuo sem entender!!!
Na classe tProgress nao existe data nValue
CLASS TProgress FROM TControl
DATA nMin, nMax, nPos, nStep AS NUMERIC
nMin --> Ok
nMax --> Ok
nValue ?
Como ficaria isso ?
function Main()
local oDlg, oProg1, oProg2
local aVetor := {}
local nTotal
AADD( aVetor, { '1', '2', '3', '4', '5', '6' ,'7' ,'8' ,'9' ,'10'} )
nTotal := Len(aVetor)
DEFINE DIALOG oDlg TITLE "Progress Bars"
@ 1, 1 PROGRESS oProg1 SIZE 80, 12
@ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL
@ 3, 9 BUTTON "Ok" ACTION oDlg:End()
oDlg:bStart = { || Increase( oProg1, oProg2 , nTotal ) }
ACTIVATE DIALOG oDlg CENTER ;
ON INIT ( oProg1:SetRange( 0, nTotal ), oProg1:SetStep( 1 ),;
oProg2:SetRange( 0, nTotal ), oProg2:SetStep( 1 ) )
return nil
function Increase( oProg1, oProg2 , nTotal )
local n := 0
for n = 1 to nTotal // 116
oProg1:SetPos( n )
oProg2:SetPos( n )
Sleep( 30 )
SysRefresh()
next
return nil
nTotal
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Marcelo,
Construye este ejemplo y lo entenderás
http://forums.fivetechsupport.com/viewt ... 00#p162600
Construye este ejemplo y lo entenderás
http://forums.fivetechsupport.com/viewt ... 00#p162600
Re: Progress Bars, no funciona correctamente (Solucionado)
Antonio Linares wrote:Marcelo,
Construye este ejemplo y lo entenderás
http://forums.fivetechsupport.com/viewt ... 00#p162600
Olá Antonio bom dia
Como vcs chegaram a este 116 já que o total do vetor que dei como exemplo ai é 100
De onde ele vem ?
No meu exemplo acima 116 teria q. ser igual ao tamanho do vetor
Outro exemplo
Um arquivo com 500 Registros com isso onde esta 116 teria que ser 500 e ai o progress não completa a não ser que eu forçe
nTotal := MeuAlias->(Reccount()) + 50 por exemplo
Como ficaria la em baixo no for next ?
function Main()
local oDlg, oProg1, oProg2
local nTotal
MeuAlias contem 500 registros
nTotal := MeuAlias->(Reccount())
DEFINE DIALOG oDlg TITLE "Progress Bars"
@ 1, 1 PROGRESS oProg1 SIZE 80, 12
@ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL
@ 3, 9 BUTTON "Ok" ACTION oDlg:End()
oDlg:bStart = { || Increase( oProg1, oProg2 , nTotal ) }
ACTIVATE DIALOG oDlg CENTER ;
ON INIT ( oProg1:SetRange( 0, nTotal ), oProg1:SetStep( 1 ),;
oProg2:SetRange( 0, nTotal ), oProg2:SetStep( 1 ) )
return nil
function Increase( oProg1, oProg2 , nTotal )
local n := 0
// 500
for n = 1 to nTotal // 116
oProg1:SetPos( n )
oProg2:SetPos( n )
Sleep( 30 )
SysRefresh()
next
return nil
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Marcelo,
De momento desconozco cual es la relación entre 100 y 116 que hace que la barra se complete.
Habrá que hacer pruebas con distintos valores hasta que descubramos que proporción mantienen entre ambos.
De momento desconozco cual es la relación entre 100 y 116 que hace que la barra se complete.
Habrá que hacer pruebas con distintos valores hasta que descubramos que proporción mantienen entre ambos.
Re: Progress Bars, no funciona correctamente (Solucionado)
Antonio y foreros:
Por si sirve de consuelo , Tengo un ejemplo en VB y tiene el mismo problema, no llena la barra !.
Saludos
Por si sirve de consuelo , Tengo un ejemplo en VB y tiene el mismo problema, no llena la barra !.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Progress Bars, no funciona correctamente (Solucionado)
Antonio Linares wrote:Marcelo,
De momento desconozco cual es la relación entre 100 y 116 que hace que la barra se complete.
Habrá que hacer pruebas con distintos valores hasta que descubramos que proporción mantienen entre ambos.
Olá Antonio , obrigado por responder
Mas então nao podemos dizer que o topico esta solucionado concorda ?
Este mesmo exemplo com o Meter funciona perfeitamente
function Main()
local oDlg, oProg1, oProg2
local nActual := 0 , nTotal := 100
DEFINE DIALOG oDlg TITLE "Progress Bars"
// @ 1, 1 PROGRESS oProg1 SIZE 80, 12
// @ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL
* ---------------> 100 e não 116
@ 2, 2 METER oProg1 VAR nActual TOTAL nTotal OF oDlg SIZE 200, 20
@ 3, 9 BUTTON "Ok" ACTION oDlg:End()
oDlg:bStart = { || Increase( oProg1, nTotal ) }
ACTIVATE DIALOG oDlg CENTER
return nil
function Increase( oProg1 , nTotal )
local n := 0
oProg1:nTotal := nTotal
oProg1:Set(0)
for n = 1 to nTotal // 116
oProg1:Set( n )
Sleep( 30 )
SysRefresh()
next
return nil
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Marcelo,
He pensado acerca de este asunto y tal vez lo que hay que aumentar sea un 16 por ciento del total.
Pruébalo, gracias
He pensado acerca de este asunto y tal vez lo que hay que aumentar sea un 16 por ciento del total.
Pruébalo, gracias
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Hola Amigos,,,
Asi me funciona desde recursos
...
..
REDEFINE METER oMeter1 VAR nMet1 ID 101 OF oDlg TOTAL 100 / 1.16
----
Avanza(oMeter1
--
Function Avanza(oMeter1)
local nCont
FOR nCont := 1 to 456
oMeter2:Set(nCont * 1.16)
SysWait(0.1)
NEXT nCont
Return(Nil)
Asi me funciona desde recursos
...
..
REDEFINE METER oMeter1 VAR nMet1 ID 101 OF oDlg TOTAL 100 / 1.16
----
Avanza(oMeter1
--
Function Avanza(oMeter1)
local nCont
FOR nCont := 1 to 456
oMeter2:Set(nCont * 1.16)
SysWait(0.1)
NEXT nCont
Return(Nil)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Progress Bars, no funciona correctamente (Solucionado)
Willi,
gracias!
gracias!
Re: Progress Bars, no funciona correctamente (Solucionado)
Estimados;
Tengo intenciones de usar TProgress en un proceso que no puedo mostrar el avance (o no se como). El caso es cuando uso sentencias SQL con ADS.
De manera que me vendría bien usar, como muestra, el sample progres2.prg; donde la porción va y viene. Aunque en este sample lo hace hasta cierto momento, luego muestra el avance hasta el final. Amplio; pretendo mostrar tal como la hacen algunas versiones de XP al inicio
Entonces la pregunta es, como debo hacerlo?
Uso FW 1204
Por otro lado probé el sample que dejo Antonio y me funciona correctamente; esto quiere decir que la corre corrección no es sobre TProgress?
gracias
Tengo intenciones de usar TProgress en un proceso que no puedo mostrar el avance (o no se como). El caso es cuando uso sentencias SQL con ADS.
De manera que me vendría bien usar, como muestra, el sample progres2.prg; donde la porción va y viene. Aunque en este sample lo hace hasta cierto momento, luego muestra el avance hasta el final. Amplio; pretendo mostrar tal como la hacen algunas versiones de XP al inicio
Entonces la pregunta es, como debo hacerlo?
Uso FW 1204
Por otro lado probé el sample que dejo Antonio y me funciona correctamente; esto quiere decir que la corre corrección no es sobre TProgress?
gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
Re: Progress Bars, no funciona correctamente (Solucionado)
Me respondo a mi mismo (self)
SetMarquee(.t.)
SetMarquee(.t.)
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina