IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
matesax
Tvůrce
Avatar
matesax:16.7.2012 17:35

Dobrý den,
vymyslel jsem to takto:

if (this.richTextBox1.Text.Contains(j))
           {
               this.ri.Text = this.richTextBox1.Text;
               this.richTextBox1.Select(this.ri.Find(j), j.Length);
               this.ri.Select(this.ri.Find(j), j.Length);

               if (this.ri.SelectedText[0] != 'k')
                   this.ri.SelectedText = "k" + this.ri.SelectedText.Substring(1, this.ri.SelectedText.Length - 1);
               else
                   this.ri.SelectedText = "9" + this.ri.SelectedText.Substring(1, this.ri.SelectedText.Length - 1);
           }

Ale nějak mi to nefunguje - co byste - nebo jak byste to udělali Vy? Děkuji. :)

 
Odpovědět
16.7.2012 17:35
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:16.7.2012 18:14

K najít další bych použil indexOf, můžeš mu zadat jako druhý parametr současnou pozici +1 a on bude hledat další výskyt.

Nahoru Odpovědět
16.7.2012 18:14
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:16.7.2012 19:47

Tak nějak nevím co s tím - jak to použít? A to string value - první parametr - to má být jaký string? Druhý je tam popsán dobře - start int. Když to použiji jen tak - pod všemi událostmi - aby se mi již vybraný text nezahrnoval do dalšího hledání. Děkuji.

 
Nahoru Odpovědět
16.7.2012 19:47
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:16.7.2012 19:48

dokončení věty :) :

do dalšího hledání, tak to nic neudělá,...

 
Nahoru Odpovědět
16.7.2012 19:48
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:16.7.2012 21:08

Koukám, že to find má mnoho přetížení: http://msdn.microsoft.com/…ary/aa254576

Použij tu třetí variantu a máš vystaráno :)

Nahoru Odpovědět
16.7.2012 21:08
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:16.7.2012 22:13

No jo ale mě to pak místo stringu v prvním parametru chce char[],...

 
Nahoru Odpovědět
16.7.2012 22:13
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:17.7.2012 0:09

A co máš v té proměnné ri vůbec?

Nahoru Odpovědět
17.7.2012 0:09
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:17.7.2012 5:54

Druhý tichtextbox - abych neměnil nic v zobrazovaném textboxu - index ale nic nemění, takže ro něj jej nepotřebuji,...

 
Nahoru Odpovědět
17.7.2012 5:54
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:17.7.2012 6:27

Vyřešeno!!! :)

public void Search(string j)
       {
           if (this.richTextBox1.Text.Substring(this.kde + 1).Contains(j))
           {
               this.kde = this.richTextBox1.Find(j, this.kde + 1, RichTextBoxFinds.MatchCase);
               this.richTextBox1.Select(this.kde, j.Length);
           }
       }

Děkuji...

 
Nahoru Odpovědět
17.7.2012 6:27
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:17.7.2012 6:32

Upraveno:

 if (this.richTextBox1.Text.Substring(this.kde + 1).Contains(j) && j != "")
{
    this.kde = this.richTextBox1.Find(j, this.kde + 1, RichTextBoxFinds.MatchCase);
    this.richTextBox1.Select(this.kde, j.Length);
}
else
{
    this.kde = -1;
    MessageBox.Show("Buďto nebyly nalezeny žádné výsledky, nebo žádné další.", "Nenalezeno");
}
 
Nahoru Odpovědět
17.7.2012 6:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.