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;]
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:)
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