/// <summary> /// Metoda zahajující stahování. Uloží a načte aktuální informace z uživatelských polí a zahájí vlákno pro stahování a vlákno pro kontorlu údajů. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { if (bezi == false) { bezi = true; bool start = true; try { saveRSD(null, Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\" + "active.xml"); listBox1.Items.Clear(); openRSD(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\" + "active.xml"); Radio.path = textBox5.Text.Substring(0, 2) + Radio.Odfiltruj(textBox5.Text.Substring(2)); try { Thread thr = new Thread(Radio.Start); Thread cnt = new Thread(new ThreadStart(this.Control)); thr.Start(); cnt.Start(); } catch { MessageBox.Show("Při startování úlohy nastala chyba. Ověřte problematická vlákna.", "Start úlohy", MessageBoxButtons.OK, MessageBoxIcon.Error); bezi = false; start = false; } } catch { if (start == true) { MessageBox.Show("Při startování úlohy nastala chyba. Ověřte, že jsou všechna pole vyplněna platnými hodnotami.", "Start úlohy", MessageBoxButtons.OK, MessageBoxIcon.Error); bezi = false; } } } else { //nedelej nic; } }
/// <summary> /// Metoda načítající data ze zvoleného RSD souboru. /// </summary> /// <param name="jm">Cesta k soboru</param> private void openRSD(string jm) { DataSet ods = new DataSet(); ods.ReadXml(jm); Radio.jmeno = Radio.Odfiltruj((string)ods.Tables["Informace"].Rows[0]["Jmeno"]); Radio.doba = Convert.ToInt32(ods.Tables["Informace"].Rows[0]["Trvani"]); Radio.koncovka = (string)ods.Tables["Informace"].Rows[0]["Koncovka"]; Radio.stream1 = new Uri((string)ods.Tables["Informace"].Rows[0]["URL1"]); Radio.stream2 = new Uri((string)ods.Tables["Informace"].Rows[0]["URL2"]); Radio.cyklu = ods.Tables["Casy"].Rows.Count; string[] whh = new string[Radio.cyklu]; for (int r = 0; r < ods.Tables["Casy"].Rows.Count; r++) { whh[r] = (string)ods.Tables["Casy"].Rows[r]["Cas"]; } Radio.when = whh; Radio.stahovac = new Thread[Radio.cyklu]; Radio.nuly = Radio.kolik_nul(); textBox1.Text = Radio.jmeno; textBox2.Text = Radio.doba.ToString(); textBox3.Text = Radio.stream1.ToString(); textBox4.Text = Radio.stream2.ToString(); comboBox1.Text = Radio.koncovka; listBox1.Items.Clear(); foreach (string lbi in whh) { listBox1.Items.Add(lbi); } }