Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How can i control the progress bar percentaje in a form?
Message
From
28/07/2001 10:09:48
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
27/07/2001 14:27:16
General information
Forum:
Visual FoxPro
Category:
ActiveX controls in VFP
Miscellaneous
Thread ID:
00536581
Message ID:
00536839
Views:
7
>hi friends!
>
>I put a progress bar in a system. a also have some controls in this form. The idea of the system is to control the time of connections of
>certain PCs to the Internet. The problem is that i want to make the
>progressbar.value advance in percentage according to the time( minutes) especificated in a text control, which value is the minutes to rent(total amount).
>
>therefore, the percentage of the progressbar will depend of the amount of minutes of the textcontrol value, but i do not know how to make this
>work. heres the code for you can have an idea of what i am doing:
>
>' this is the textcontrol keypress event
>
>LPARAMETERS nKeyCode, nShiftAltCtrl
>IF nKeyCode = 13 then
> thisform.minutos.enabled = .f. 'minutes to get from client
> thisform.conteo.enabled = .f. 'counter
> thisform.command1.enabled = .f. 'start count button
> NOTE else
> thisform.reloj.enabled=.t. 'timer to count every minute
> thisform.avanzar.enabled = .t.
>
>' another timer(named avanzar ) to make the progress bar advance
>
> NOTE avanza = thisform.conteo.value
> NOTE for te= 1 to avanza
> NOTE thisform.barra.value = avanza
> NOTE endfor
>&& thisform.tiempo = 15 - thisform.minutos.value
> WITH thisform
> .command4.enabled = .f.
> .command1.enabled = .f.
> ENDWITH
> thisform.renta = val (thisform.minutos.value)
> thisform.porciento.caption = "Avanzando..."
> reglatres = ( thisform.tiempo * 60000 ) / 1
>
> *thisform.avanzador = reglatres && esta var me conserva el valor
> && del texto en milsegundos
>
>ENDIF
>
>' the text control validation is some like this:
>
>&&IF thisform.text1.value < 1 then &&.and. thisform.text1.value > 15 then
>STORE val ( thisform.minutos.value) to comparador
>DO case
> CASE comparador < 1 && esta comparacion es tonta pero buena
> MESSAGEBOX("No se permite este valor para este control",16,"Advertencia General")
> thisform.minutos.value =""
> CASE comparador > 15 &&segunda comparacion maje
> MESSAGEBOX("No se permite este valor para este control",16,"Advertencia General")
> thisform.minutos.value =""
> thisform.minutos.enabled = .t.
> thisform.conteo.enabled = .f.
> thisform.command1.enabled = .f.
> thisform.reloj.enabled=.f.
> thisform.renta = val (thisform.minutos.value)
> thisform.porciento.caption = ""
> OTHERWISE
> thisform.minutos.enabled = .f.
> thisform.minutos.value = 0
>ENDCASE
>
>
>here is the timer event
>xyz=thisform.tiempo
>IF xyz => thisform.renta
> FOR temp= 1 to 100 && para simular el final del tiempo en la barra
> thisform.barra.value = temp && aqui pasa rapido
> thisform.porciento.caption = "%"+str(temp)
> ENDFOR
> SET bell to 'arabia.wav'
> ?? CHR(7)
>
> =messagebox("Su Tiempo ha Terminado!",0,"Control de Tiempo de llamada")
> totales = str(xyz * 2,4)
> =messagebox("El total a pagar es : "+totales,0,"TOTAL A PAGAR: ")
> STORE 1 to thisform.tiempo
> STORE 0 to xyz,totales
> WITH thisform
> .minutos.value = ""
> .conteo.value = ""
> .total.value = ""
> .command1.enabled = .f.
> .barra.value = 0
> .command2.enabled = .f.
> .minutos.enabled = .t.
> .porciento.enabled = .f.
> .porciento.visible = .f.
> .reloj.enabled = .f.
> ENDWITH
>
>ELSE
> thisform.total.value = (xyz+1) * 2
> thisform.tiempo=thisform.tiempo+1
> thisform.conteo.value=thisform.tiempo
>
> FOR te = 1 to xyz * 7
> thisform.barra.value = te && xyz +1
> thisform.porciento.caption = "%"+str(te)
> ENDFOR
>
>ENDIF
>
>
> ' timer avanzar
> ' another timer for make the progressbar advance is some like this:?
>thisform.avanzador = thisform.avanzador +1
>
>FOR n = 1 to thisform.avanzador
> thisform.barra.value = n && aqui pasa rapido
> thisform.porciento.caption = "%"+str(n)
>ENDFOR
>
>where thisform.avanzador is a porperty of the form (started at 1) in which i store the
>amount of percentage i want the progress bar to present everytime the timer event suceed. this is one of main part of the problem!
>the interval of this timer is 500
>
>
>let me know friends!

Alvison,
We have a little language problem here :) Hard to decipher your properties.
Instead of trying to calculate percentage use min and max properties of progressbar control. ie: If you would end up in 15 mins :
* Start pbar
with thisform.Pbar
 .Min = 0
 .Max = 15*60*1000 && 15*60 secs each 1000 msecs
 .myTimer.Enabled = .t.
endwith
*Timer event
with thisform.pBar
 .Value = .Value + this.Interval
 if .Value >= .Max && Reached end
  this.Enabled = .f.
  * do whatever
 endif
endwith
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform