Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 2.014 pregleda

Najnovija ↓

Graficki brojac procesa upisa u bazu 09.11.2010. u 16:18 · pre 194 meseca #1
Platforma: Windows CE
jezik: C#

Vrsim upis u bazu podataka 20.000 slogova koje sam preuzeo sa centralne baze na racunaru.
Taj proces traje oko 6 minuta i zelim da se korisniku prikaze proces upisa tipa 1/20.000, 2/20.000 ...... 20.000/20.000.
Posto je ovaj proces jako brz korisniku se label-a koja prikazuje ovaj tekst ne menja dok ne dodje do kraja procesa i vidi samo 20.000/20.000,
evo jednostavnog primera bez baze

onButtonClick event
Code:

 for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 1000000; j++)
                {
                    j++;
                }
                label1.Text = i.ToString();
            }


U ovom primeru korisnik vidi na label1 tekst kada dodje na 19 a u medjuvremenu nista.
Cak sam probao i sa thread-om da uspavam proces na 1 sekundu i opet nista, ima li neko ideju ?
Potpis
Every program is either trivial or it contains at least one bug.
Re: Graficki brojac procesa upisa u bazu 09.11.2010. u 16:56 · pre 194 meseca #2
Zato sto to radis (tih 20000 upisa) u GUI thread-u.

To odradi u background thread-u a obavesti GUI preko BackgroundWorker-a (hmm, nisam siguran da li ovo ima u .NET CE).
Takodje, nema potrebe da opterecujes GUI 20000 puta. Izracunaj 1% i svaki put kad zavrsis 1% opisa obavesti GUI (ovo ti je zgodno i za ProgressBar).

Pozdrav
Potpis
Sad mu nije nista, ubio si ga k'o zeca...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme