Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Progres Bar
anonim




Typ: Nie zarejestrowany
Progres Bar

Jak zrobić żeby progres bar pokazywał określoną ilość czasu ustawianą w właściwości timer.interval

pozdroofka

20-03-2004 14:25
  
rogal




Typ: neutral
Postów: 2
Zarejestrowany: Mar 2004
Mam to samo pytanie !!

Odpowiedzcie, please.:-)


_____________________________________________
PRogal

20-03-2004 22:24
Pokaż profil rogal  Wyślij email do rogal   
Strength




Typ: neutral
Postów: 26
Zarejestrowany: Oct 2003

nie jestem pewiwn ale chyba:
progressbar.value = timer.interval




_____________________________________________

www.strength.prv.pl

20-03-2004 22:55
Pokaż profil Strength  Wyślij email do Strength   Odwiedź stronę Strength       2037723
rogal




Typ: neutral
Postów: 2
Zarejestrowany: Mar 2004
Niestety nie, tego już próbowałem :-(

Właściwość .interval to czas zadany timerowi (czas powtarzania wywołania procedury OnTimer). Ten czas jest zawsze stały, a tu chodzi o pokazywanie bieżącego upływu czasu timera.


_____________________________________________
PRogal

21-03-2004 08:59
Pokaż profil rogal  Wyślij email do rogal   
anonim




Typ: Nie zarejestrowany

private sub timer_timer()
proogressbar.value = proogressbar.value + 1

21-03-2004 10:48
  
anonim




Typ: Nie zarejestrowany

Jeśli wpiszesz wartość interval 1000 to będie dodawał o jeden co sekunde.

21-03-2004 10:49
  
anonim




Typ: Nie zarejestrowany
ProgressBar

Ja zrobilem na zdarzeniu tak (bez timera)

'deklaracja zmiennych typu double: mojczas i sec
'sec = ilosc sekund jakie ma odmierzac ProgressBar
'timer to ilość sekund jaka upłynęła od północy
------------------------------------------------
mojczas = timer + sec
PrograssBar.Max = 100 'np
Do while moj czas > timer

PrograssBar.value = 0.1 * (Mojczas - timer) * PrograssBar.Max
On error resume next
PrograssBar.Value = 0.9 * PrograssBar.Value
Loop
------------------------------------------------
On error bylo opisane na tym forum (wyszukaj PrograssBar i osoba: mikas bodajze).
Dzieki temu nie wywala bledu ze przekroczono wartosc PrograssBar.Max., ale tez pasek nie przesuwa sie plynnie tylko skacze, ale u mnie odmierza poprawnie od 1 - 10 sekund, choc procesor pracuje na 100% (ale sie nie wiesza).
MOŻE KTOŚ OPISZE LEPSZY SPOSÓB OD TEGO ROZWIĄZANIA, KTÓRE MA NIESTETY SWOJE WADY?

ps
Warto moze jeszcze cos powiedziec jak to sprawdzc taki kod ze zmienna Timer, przy zatrzymaniu pracy programu sie przeciez ona caly czas zwieksza, i trudno wylapac sobie co powoduje blad.

22-03-2004 09:12
  
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Podejrzewam ze sposob anonima bedzie zabierał troche mozy procesora pozatym moze stac sie nie mozliwe uzywanie innych programow proponuje wstawic gdzies w kod: DoEvents aby Win-da działała sprawnie


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

22-03-2004 09:43
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
anonim




Typ: Nie zarejestrowany

Tak, dokładnie z procesorem! I też prawda że pominąłem Do Events w kodzie, które wstawiłem pod do While ...

Mam jedknak innej natury problem, mianowicie chodzi o to że dla 1 - 9 sekund pasek wypełnia mi się odpowiednoi do ilości sekund, a tylko przy 10 sekundach pokazuje od początku do końca czas trwania. Nie wiem jak to obejść

Pozdrawiam wszystkich

22-03-2004 14:33
  
anonim




Typ: Nie zarejestrowany

Powyżej opisany problem udało mi sie rozwiązać w taki sposób:
 
'PROGRESS BAR RAZEM Z TIMEREM
  PrgBar.Visible = True
  Time = Timer + IleCzasu
  PrgBar.Max = 10 * (IleCzasu)
      Do While Time > Timer
          DoEvents
              PrgBar.Value = (10 * (Time - Timer))
          On Error Resume Next
      Loop
  PrgBar.Value = 0

Ile czasu ( user wybiera czas w sekundach), Time zmienna typu double

Pozdrawiam

22-03-2004 20:05
  
Wszystkich odpowiedzi: 9 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1