Forum » Programiranje » c# - realtime štetje znakov, besed ...
c# - realtime štetje znakov, besed ...
![](https://static.slo-tech.com/stili/avatar_gray.gif)
brojgar ::
Problem / C# .net20:
Imam richTextBox kontrolo, na katero želim obesit realtime števec znakov/besed/odstavkov.
Znake štejem z regularnimi izrazi v stilu:
string pattern = @"(w+?)";
return Regex.Matches(this.inputString_, pattern, RegexOptions.Compiled).Count;
Če je besedila v richTextBoxu veliko (od 50.000 znakov naprej) postanejo zadeve zelo počasne.
Zadevo sem rešil tako, da sem naredil novo instanco BackgroundWorkerja, ki štetje pospravi v svoj thread. S timerjem ga kličem recimo vsako sekundo, da lepo v ozadju šteje znake. Z RunWorkerCompleted potem izpišem novo stanje na zaslon.
Problem pa je, da pri pisanju v kontrolo z veliko besedila še vedno prihaja do delayjev. Ne sicer velikih, pa vseeno motečih. Jaz pa hočem, da hitrost osveževanja pri pisanju čisto nič ne trpi!
Zanima me, kakšen bi sploh bil pravi način reševanja tega problema. Je background worker sploh prava rešitev?
i.
Imam richTextBox kontrolo, na katero želim obesit realtime števec znakov/besed/odstavkov.
Znake štejem z regularnimi izrazi v stilu:
string pattern = @"(w+?)";
return Regex.Matches(this.inputString_, pattern, RegexOptions.Compiled).Count;
Če je besedila v richTextBoxu veliko (od 50.000 znakov naprej) postanejo zadeve zelo počasne.
Zadevo sem rešil tako, da sem naredil novo instanco BackgroundWorkerja, ki štetje pospravi v svoj thread. S timerjem ga kličem recimo vsako sekundo, da lepo v ozadju šteje znake. Z RunWorkerCompleted potem izpišem novo stanje na zaslon.
Problem pa je, da pri pisanju v kontrolo z veliko besedila še vedno prihaja do delayjev. Ne sicer velikih, pa vseeno motečih. Jaz pa hočem, da hitrost osveževanja pri pisanju čisto nič ne trpi!
Zanima me, kakšen bi sploh bil pravi način reševanja tega problema. Je background worker sploh prava rešitev?
i.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] da se program ne "obesi"Oddelek: Programiranje | 2048 (1468) | win64 |
» | VB.streamwriterOddelek: Programiranje | 1048 (881) | P=LN |
» | [VB] Komunikacija s serijskimi napravamiOddelek: Programiranje | 2332 (1606) | mNeRo |
» | [VB] OpenOddelek: Programiranje | 1549 (1388) | Monster |
» | VBOddelek: Programiranje | 1340 (1236) | strel |