GRY-Online.pl --> Archiwum Forum

visual basic -> wskaznik podstepu

26.03.2008
16:03
[1]

Shilka the Red [ Ponury Grzybiarz ]

visual basic -> wskaznik podstepu

zrobilem sobie progress bar przy kopiowaniu plikow wszystko dziala jak nalezy, minimum = 0 maksimum = liczba plikow, nie ma dostepu teraz do dokladnej skladni ale idea jest taka jak tu:

petla:
for each item as string in collection
label5.text=item

=kopiowanie=

pb.value=pb.value+1
next

wszystko spoko tylko czemu nie zmienia wartosci tej label5? przy ostatnim pliku zostaje wartosc ostatniego pliku ale czemu przy posrednich sie nic nie zmienia?
jak wstawie w petle msgbox() to sie zmienia, wiec pewno nei nadaza ale dlaczego? az taki szybki komp mam:]


probowalem sobie dodac timer ale tam to juz calkiem porazka bo chyba nie wiem jak go obslugiwac ale probowalem roznych sposobow wiec co robie zle?
probowalem tak:

w petli wstawilem
for each item as string in collection
label5.text=item

tick=0
timer1.start()

do until tick=10
loop

timer1.dispose() '(lub timer1.stop() i tak nie dziala)
=kopiowanie=
pb.value=pb.value+1
next

i mam timer:
timer1.tick(...)
tick=tick+1 (tick jest globalna)
end sub


probowalem wstawiac if tick = 5 then timer.dispose() w timer.tick i nic

ja wiem ze on sobie chodzi i chodzi ale czemu ta petla do while nie przestaje dzialac jak tick=5? program sie zapetla i wisi i koniec

albo moze ktos zna jakis sposob zeby tam wsadzic jakis spowalniacz:]

bez timera petla do while powtorzona 10000000 razy opoznia ok pol sek ale chce cos co na kazdym kompie trwalo by tyle samo, a pozatym chce wyczaic co jest nie tak na przyszlosc;]

26.03.2008
16:14
[2]

maviozo [ Man with a movie camera ]

Nie pomogę Ci przy kodzie, bo vb nie łapię, ale spróbuję przedstawić swój tok myślenia z podobnym problemem przy czymś innym.

Miałem jak Ty jedną pętlę która wykonywała jakąś czynność i co okres miała zwracać do pola jakieś info, ale zwracała je na końcu. Obszedłem to tak: rozbiłem na dwie funkcje, do ciała pierwszej warunki pętli, jeśli operacja niezakończona to z opóźnieniem jednej milisekundy przerzucenie z parametrem (np. nr pliku) do drugiej. W niej wszystkie obliczenia, zwrócenie wyników do globalnych zmiennych po czym powrót do pierwszej f-cji. Ta sprawdza czy koniec, jeśli tak przechodzi do tego co następuje, jeśli nie ponownie wykonuje 2f-cje.

Takie to chałupnicze i nieprofesjonalne pewnie:)

26.03.2008
16:35
[3]

Scatterhead [ łapaj dzień ]

dodaj do pętli funkcję, która obsłuzy wiadomości przesyłane do okna, powinno pomoc

Coś w rodzaju application.processmessages czy cos w ten desen.

wskaznik podstępu

© 2000-2024 GRY-OnLine S.A.