Prikaz jedne poruke
Stara 18.4.2013, 15:23   #622
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... Visual Basic

Citat:
2233 kaže: Pregled poruke
Hvala a da li je moguce da se label podesi SAM , ja sam kuco sledeci kod u labelu i nista

dim datVremedatum as date = Now
do
lblVremeDatum.text= datVremedatum
loop
jel trolujes ili sta ?


kreni sa nekim tutorijalom osnove visual basica pa na dalje.

nauci kako rade kontrole, kako rade eventovi, kako se izvrsava kod, kako rade niti (threadovi) pa ce ti se samo kazati.


u medjuvremenu, mogu da ti kazem da mozes uz pomoc beskonacne petlje da updatujes stalno vreme, ali moras ucitavanje vremena da stavis unutar petlje a ne izvan, jer ce inace uvek pokazivati vreme koje si ucitao pre petlje


drugo, nije pametno tako u petlji koliko god je brzo moguce updateovati, vec dodas pauzu od 1000 milisekundi (ili manje, ali bar neku pauzu, da ne bi previse drndao procesor bez ikakve potrebe) to uradis tako sto unutar petlje pauziras thread.


i na kraju, najbitniji deo, taj kod NE SME da ti se izvrsava u glavnom UI threadu, jer ce beskonacna petlja oduzeti svo vreme tog threada i on nece imati kada da procesira poruke i radi interakciju sa windowsom i program ce ti "zabosti", odnosno windows ce prijaviti da je program "not responding" i updateove neces nikada ni videti, jer nece imati kada da se iscrta.


sve u svemu, moras da kreiras drugi thread koji ce raditi update labele, a za pocetnika, kao sto sam rekao u prvom postu, to je ubedljivo najlakse koriscenjem timer kontrole, jer preko nje ne moras uopste da razmisljas o threadovima, tajmingu, bilo cemu, samo ukucas kod koji hoces da se izvrsava u nekom intervalu i to je to.


mrzi me sad da pisem primer kako bi rucno uradio u VB, jer bi morao konstantno da gledam sintaksu. sigurno ima na netu, a ja mogu da ti napisem, ako hoces, u c# sintaksi kako bi izgledao odvojeni thread koji cuva vreme i pomocu delegata updateuje labelu na UI threadu.
irreal je offline   Odgovor sa citatom ove poruke