Progress Bars, no funciona correctamente (Solucionado)

hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by hmpaquito »

Your the man ! Congratulations
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Antonio Linares »

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

Antonio Linares
www.fivetechsoft.com
marca
Posts: 104
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil
Contact:

Re: Progress Bars, no funciona correctamente.

Post by marca »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Antonio Linares »

Marcelo,

Construye este ejemplo y lo entenderás :-)

http://forums.fivetechsupport.com/viewt ... 00#p162600
regards, saludos

Antonio Linares
www.fivetechsoft.com
marca
Posts: 104
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by marca »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Antonio Linares »

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

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Armando »

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

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by marca »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Antonio Linares »

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

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Willi Quintana »

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
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by Antonio Linares »

Willi,

gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by MarioG »

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: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Progress Bars, no funciona correctamente (Solucionado)

Post by MarioG »

Me respondo a mi mismo (self)
SetMarquee(.t.)
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Post Reply