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
František Pastorek:26.11.2014 18:23

No, program mi pri spusteni hlasi chybu.

Pri vyznacenych riadkoch mi pise iba toto:

This is the next statement that will be executed. To change which statement is executed next, drag the arrow. This may have unintended consequences.

Problemova cast kodu:

for (int i = 0; i < int.Parse(FileOptions[10, 1]);)
            {
                int a = rnd.Next(0, File.ReadAllLines(path + FileOptions[14, 1]).Length);
                if (!exist.Contains(a.ToString()))
                {
                    if(i == spravne)
                    {
                        exist = exist + a.ToString() + " ";
                        radioButton[i].Text = odpoved; //CHYBA
                        radioButton[i].Location = new System.Drawing.Point(12, 30 + i * 30);
                        radioButton[i].CheckedChanged += new System.EventHandler(MyradioButton_CheckedChanged);
                        i++;
                    }
                    else if(a != nahoda)
                    {
                        exist = exist + a.ToString() + " ";
                        radioButton[i].Text = Slovicka[a, stlpec]; //CHYBA
                        radioButton[i].Location = new System.Drawing.Point(12, 30 + i * 30);
                        radioButton[i].CheckedChanged += new System.EventHandler(MyradioButton_CheckedChanged);
                        i++;
                    }
                }
            }

Cely kod:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;

namespace Beta
{
    public partial class Testing : Form
    {
        string path = AppDomain.CurrentDomain.BaseDirectory + @"Files\";
        string[,] FileOptions;
        RadioButton[] radioButton;
        string[,] Slovicka;
        string odpoved = "";
        string otazka = "";
        int spravne = 0, odpocet = 3;

        public Testing()
        {
            InitializeComponent();

            timer1.Enabled = false;
            FileOptions = new string[15, 2];

            StreamReader sr1 = new StreamReader(path + "config.ini");
            for (int i = 0; i < 15; i++)
            {
                string[] prevod = Regex.Split(sr1.ReadLine(), " = ");
                FileOptions[i, 0] = prevod[0];
                FileOptions[i, 1] = prevod[1];
            }
            sr1.Close();

            Slovicka = new string[File.ReadAllLines(path + FileOptions[14, 1]).Length, 2];

            StreamReader sr2 = new StreamReader(path + FileOptions[14, 1]);
            for (int i = 0; i < File.ReadAllLines(path + FileOptions[14, 1]).Length; i++)
            {
                string[] prevod = Regex.Split(sr2.ReadLine(), " - ");
                Slovicka[i, 0] = prevod[0];
                Slovicka[i, 1] = prevod[1];
            }
            sr2.Close();

            Create();
        }

        private void Create()
        {
            timer1.Enabled = false;
            odpocet = 3;
            radioButton = new RadioButton[int.Parse(FileOptions[10, 1])];
            Random rnd = new Random();
            string exist = "";
            int stlpec = 0;
            spravne = rnd.Next(0, int.Parse(FileOptions[10, 1]));
            int nahoda = rnd.Next(0, File.ReadAllLines(path + FileOptions[14, 1]).Length);

            if (FileOptions[2, 1] == "true")
            {
                stlpec = 0;
                otazka = Slovicka[nahoda, 1];
                odpoved = Slovicka[nahoda, 0];
            }
            else if (FileOptions[3, 1] == "true")
            {
                stlpec = 1;
                otazka = Slovicka[nahoda, 0];
                odpoved = Slovicka[nahoda, 1];
            }

            Label label1 = new Label();
            label1.Text = otazka;
            label1.Location = new System.Drawing.Point(12, 30);
            Controls.Add(label1);

            for (int i = 0; i < int.Parse(FileOptions[10, 1]);)
            {
                int a = rnd.Next(0, File.ReadAllLines(path + FileOptions[14, 1]).Length);
                if (!exist.Contains(a.ToString()))
                {
                    if(i == spravne)
                    {
                        exist = exist + a.ToString() + " ";
                        radioButton[i].Text = odpoved; //CHYBA
                        radioButton[i].Location = new System.Drawing.Point(12, 30 + i * 30);
                        radioButton[i].CheckedChanged += new System.EventHandler(MyradioButton_CheckedChanged);
                        i++;
                    }
                    else if(a != nahoda)
                    {
                        exist = exist + a.ToString() + " ";
                        radioButton[i].Text = Slovicka[a, stlpec]; //CHYBA
                        radioButton[i].Location = new System.Drawing.Point(12, 30 + i * 30);
                        radioButton[i].CheckedChanged += new System.EventHandler(MyradioButton_CheckedChanged);
                        i++;
                    }
                }
            }

            Controls.AddRange(radioButton);
        }

        private void MyradioButton_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < int.Parse(FileOptions[10, 1]); i++)
            {
                if (radioButton[i].Checked)
                {
                    if (radioButton[i].Text == odpoved)
                    {
                        radioButton[i].ForeColor = Color.Green;
                    }
                    else
                    {
                        radioButton[i].ForeColor = Color.Red;
                        radioButton[spravne].ForeColor = Color.Green;
                    }
                }
            }
            timer1.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            odpocet--;
            if (odpocet == 0)
                Create();
        }
    }
}

Vy si to asi nevyskusate pretoze informacie taham so subora ktory mam vytvoreny. Mne by stacilo ze kde by asi tak mohla byt chyba. Par veci som vyskusal ale nic nefunguje.

Vopred dakujem za akukolvek odpoved.

 
Odpovědět
26.11.2014 18:23
Avatar
Odpovídá na František Pastorek
sadlomaslox25:26.11.2014 20:27

radioButton = new RadioButton[in­t.Parse(FileOp­tions[10, 1])];

tim si jen nainicializoval velikost pole. pak musis jeste nainicializovat kazdy prvek v poli pres cyklus a konstruktor dane tridy.

radioButton[0]=new RadioButton();
radioButton[1]=new RadioButton();
...

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.11.2014 20:27
Avatar
Odpovídá na František Pastorek
Neaktivní uživatel:26.11.2014 21:04

A ten neuzavřený string ti chybu nehlásí?

Nahoru Odpovědět
26.11.2014 21:04
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:26.11.2014 21:05

To je jen blbý parser. Neumí to rozpoznat, bere to \" jako uvozovky v textu a pak to udělá tohle.

Editováno 26.11.2014 21:07
 
Nahoru Odpovědět
26.11.2014 21:05
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:26.11.2014 21:31

Už jsem to opravil, příště by se hodilo slušnější vyjadřování...

Nahoru Odpovědět
26.11.2014 21:31
You are the greatest project you will ever work on.
Avatar
Odpovídá na sadlomaslox25
František Pastorek:26.11.2014 21:48

Ďakujem sadlomaslox25, presne to tomu chýbalo aj keď kupodivu, včera som to skúšal a šlo to bez toho ale na ovela viac jednoduchšom príklade.

Jan Vargovský (pako) Ďakujem aj tebe :).

David Čápka ak máš na mysli spôsob písania to sa ospravedlnujem ale už som sa ponáhlal. Ak myslíš ale spôsob vysvetlovania tak to sa ospravedlnujem tiež.

Ďakujem opäť všetkým, cením si vašich rád :) vďaka.

 
Nahoru Odpovědět
26.11.2014 21:48
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na František Pastorek
Jan Vargovský:26.11.2014 21:56

To je cílené na mou osobu.

David Hartinger Co ti přijde neslušné?

 
Nahoru Odpovědět
26.11.2014 21:56
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:26.11.2014 21:58

Ten původní text :D

Nahoru Odpovědět
26.11.2014 21:58
You are the greatest project you will ever work on.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:26.11.2014 21:59

Proto jsem ho opravil :)

 
Nahoru Odpovědět
26.11.2014 21:59
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 9 zpráv z 9.