Progress Bars, no funciona correctamente (Solucionado)

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby hmpaquito » Tue Jul 22, 2014 2:06 pm

Your the man ! Congratulations
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Antonio Linares » Tue Jul 22, 2014 2:32 pm

Somos un gran equipo todos los que estamos en estos foros! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Progress Bars, no funciona correctamente.

Postby marca » Tue Jul 22, 2014 10:02 pm

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.

the 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.


Saludos



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
marca
 
Posts: 116
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Antonio Linares » Wed Jul 23, 2014 4:15 am

Marcelo,

Construye este ejemplo y lo entenderás :-)

viewtopic.php?p=162600#p162600
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby marca » Fri Jul 25, 2014 12:15 pm

Antonio Linares wrote:Marcelo,

Construye este ejemplo y lo entenderás :-)

viewtopic.php?p=162600#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
marca
 
Posts: 116
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Antonio Linares » Fri Jul 25, 2014 3:20 pm

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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Armando » Fri Jul 25, 2014 9:24 pm

Antonio y foreros:

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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby marca » Tue Jul 29, 2014 6:50 pm

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
marca
 
Posts: 116
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Antonio Linares » Wed Jul 30, 2014 1:47 am

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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Willi Quintana » Wed Aug 20, 2014 4:44 am

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)
User avatar
Willi Quintana
 
Posts: 1002
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby Antonio Linares » Wed Aug 20, 2014 9:48 am

Willi,

gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41313
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby MarioG » Wed Aug 20, 2014 2:17 pm

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
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Progress Bars, no funciona correctamente (Solucionado)

Postby MarioG » Wed Aug 20, 2014 2:21 pm

Me respondo a mi mismo (self)
SetMarquee(.t.)
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 10 guests