Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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
pajamac5
Člen
Avatar
pajamac5:13.7.2014 20:08

Zdravím jsem to zase já kdo vám sebere kousek vašeho drahoceného času:).

private void timer1_Tick(object sender, EventArgs e)
        {

            poradi = poradi + 1;
            timer1.Interval = intervall;
            //načte text
            string [] slova = File.ReadAllText(textt, Encoding.Default)
            //rozplituje text
            .Split(new string[] { Environment.NewLine, ",", " " }, StringSplitOptions.RemoveEmptyEntries);

            //zobrazí slovo po slovu
            foreach (string slovo in slova)
            {

                txtText.Text = slova[poradi];
            }

tento kód mi bohužel hází chybu "Index je mimo hranice pole",je nějaká možnost jak tomuto přetečení zabránit?

Odpovědět
13.7.2014 20:08
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Michal Žůrek - misaz:13.7.2014 20:10

Na jakém řádku?

 
Nahoru Odpovědět
13.7.2014 20:10
Avatar
pajamac5
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
pajamac5:13.7.2014 20:14

txtText.Text = slova[poradi];

Nahoru Odpovědět
13.7.2014 20:14
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Michal Žůrek - misaz:13.7.2014 20:25

Protože v každém tisku zvyšuješ pořadí a nikde nekontroluješ, jestli už jsi na konci.

 
Nahoru Odpovědět
13.7.2014 20:25
Avatar
pajamac5
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
pajamac5:13.7.2014 20:30

Ano ale jak to mám udělat jak zjistím kolik je v poli položek?

Nahoru Odpovědět
13.7.2014 20:30
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na pajamac5
Ondřej Štorc:13.7.2014 20:48

slova.lenght ti vrátí počet prvků v poli..
Takže dát něco takového na začátek:

if(pole.Lenght == poradi)
timer1.Stop()
Nahoru Odpovědět
13.7.2014 20:48
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
coells
Tvůrce
Avatar
Odpovídá na pajamac5
coells:13.7.2014 21:19
private int poradi = -1;
private string [] slova = null;

private void timer1_Tick(object sender, EventArgs e)
{
    if (slova == null)
    {
        poradi = 0;
        slova = File.ReadAllText(text, Encoding.Default).Split(new string[] { Environment.NewLine, ",", " " }, StringSplitOptions.RemoveEmptyEntries);
    }

    txtText.Text = slova[poradi++];

    if (poradi >= slova.length)
    {
        poradi = -1;
        slova = null;
        this.timer1.Enabled = false;
    }
}
 
Nahoru Odpovědět
13.7.2014 21:19
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 7 zpráv z 7.