Citat:
2233 kaže:
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.