Problem u C# prilikom pronalaska riječi u RTB

poruka: 5
|
čitano: 1.886
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Problem u C# prilikom pronalaska riječi u RTB

Pozdrav ljudi, imam problem koji glasi ovako:

 

Imam jednu formu u kojoj je richtextbox , i napravio sam Find And Replace formu da pronađe određenu riječ u toj formi, našao sam kod za to koji radi i stavio ga u svoj program te sad ne radi :D

 

Javlja mi se ova greška(slika je stavljena u ovoj poruci kao attachment)

 

Znaći nakon što upišem riječ koju tražim i stisnem traži izbaci mi se ta greška.

 

Molim vas da mi netko pomogne, jer ne razumijem ako sam kopirao kod koji radi.

 

Ovo je moj kod:

 

private void TražiBttn_Click(object sender, EventArgs e)
        {
            try
            {
                OdabranaBorba frmborba = new OdabranaBorba();
                int StartPosition;
                StringComparison SearchType;

                SearchType = StringComparison.OrdinalIgnoreCase;

                StartPosition = frmborba.DodanaBorbaRTB.Text.IndexOf(TraženoTB.Text, SearchType);

                if (StartPosition == 0)
                {
                    MessageBox.Show("String: " + TraženoTB.Text.ToString() + " not found", "No Matches", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }
                    frmborba.DodanaBorbaRTB.Select(StartPosition, TraženoTB.Text.Length);
                    frmborba.DodanaBorbaRTB.ScrollToCaret();
                    frmborba.Focus();
                    TražiDaljeBttn.Enabled = true;
               
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Error");
            }
        }

 

Potpis:
Moj PC  
0 0 hvala 0
15 godina
odjavljen
offline
RE: Problem u C# prilikom pronalaska riječi u RTB

Zar IndexOf ne vrača -1 ako nije našao? Mislim da ti je u tome greška. Nulu vraća kad nađe na samom početku.

 

P.S. Jedna prepuruka: Nemoj koristiti HR znakove za imena (varijabli, funkcija, klasa, elemenata sučelja...). Vidim da gore imaš "TraženoTB" (pretpostavljam da je to textbox), bilo bi ti bolje nazvati ga TrazenoTB ili čak koristiti Engleske nazive, tako da kod bude čitljiviji ako budeš tražio pomoć na forumima na Engleskom jeziku (ali i radi prakse ako u životu budeš kao programer surađivao sa stranim programerima). Također, par komentara u kodu ne bi bilo na odmet.

Heart: _/\_/\_/\_/\_/\_/\_/\_/\_ Brain: __________________________
14 godina
neaktivan
offline
RE: Problem u C# prilikom pronalaska riječi u RTB

Hvala na savjetima..

 

Iskreno i ne znam za to -1 ili 0 kad vraća..

 

Zato i ovdje pitam u čemu je greška :D

Potpis:
15 godina
neaktivan
offline
RE: Problem u C# prilikom pronalaska riječi u RTB

Ovaj ovdje if:

 

if (StartPosition == 0)

 

 

nije zadovoljen.

 

 

I kod ide dalje... na

 

frmborba.DodanaBorbaRTB.Select(StartPosition, TraženoTB.Text.Length);
                    frmborba.DodanaBorbaRTB.ScrollToCaret();
                    frmborba.Focus();
                    TražiDaljeBttn.Enabled = true;

 

Select ne prima kao parametar -1.

(StartPosition)

 

Možda ti fali else?

I u if statement stavi (StartPosition >= 0).

 

 

16 godina
neaktivan
offline
Problem u C# prilikom pronalaska riječi u RTB

Za vrijednost koju vraca dokumentacija kaze:

 

ValueType: System.Int32

The index position of the value parameter if that string is found, or -1 if it is not. If value is Empty, the return value is 0.

Rjesava jednostavne probleme u podforumu Programiranje od 2008. xD
Poruka je uređivana zadnji put ned 15.8.2010 21:38 (RaLe).
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice