コード例 #1
0
        private void Addbtn_Click(object sender, EventArgs e)
        {
            Statelabel.Text = "";
            if (checktype(First_textbox.Text, Second_textbox.Text) == 0)
            {
                Statelabel.Text = "Оба поля пусты. Добавлять нечего";
            }
            if (checktype(First_textbox.Text, Second_textbox.Text) == 1)
            { //только один аргумент
                Statelabel.Text += String.Format("Добавленные элементы:\n");
                Lall element = Parse(First_textbox.Text);
                container_.Add(element);
                ElementsCombo.Items.Add(string.Format("{0}", element.Get()));
            }
            if (checktype(First_textbox.Text, Second_textbox.Text) == 2)
            { //два аргумента
                Lelement first, second;

                Statelabel.Text += String.Format("Добавленные элементы:\n");
                first            = Parse(First_textbox.Text);
                second           = Parse(Second_textbox.Text);

                Lall element = new Lstruct2(first, second);
                container_.Add(element);
                ElementsCombo.Items.Add(string.Format("{0}, {1}", element.Get(0), element.Get(1)));
            }
        }
コード例 #2
0
        private void restorebtn_Click(object sender, EventArgs e)
        {
            string path = "data.txt";

            string[] a;
            try
            {
                StreamReader file = new StreamReader(path);
                container_.Clear();
                while (!file.EndOfStream)
                { //читаем до конца файла
                    a = file.ReadLine().Split('\t');
                    if (a.Count() == 1)
                    { //табов нет
                        Lall element = Parse(a[0]);
                        container_.Add(element);
                        ElementsCombo.Items.Add(string.Format("{0}", element.Get()));
                    }
                    else
                    {
                        if (a.Count() == 2)
                        { //опа, табы
                            Lelement first, second;

                            first  = Parse(a[0]);
                            second = Parse(a[1]);

                            Lall element = new Lstruct2(first, second);
                            container_.Add(element);
                            ElementsCombo.Items.Add(string.Format("{0}, {1}", element.Get(0), element.Get(1)));
                        }
                        else //кто-то ручками влез в файл
                        {
                            throw new Exception("corruption");
                        }
                    }
                }
                Statelabel.Text = "Список успешно восстановлен";
                file.Close();
            }
            //что-то пошло не так, не паникуем
            catch (System.IO.FileNotFoundException)
            {
                Statelabel.Text = "Файл не найден";
            }
            catch (System.IO.IOException)
            {
                Statelabel.Text = "Ошибка ввода/вывода";
            }
            catch (Exception)
            {
            }
        }
コード例 #3
0
 void Extract(Lall current)
 { //извлечение элементов
     Statelabel.Text = "Извлеченные элементы:\n";
     if (current.Get_Count() == 1)
     {
         Statelabel.Text += String.Format("{0}: {1}\n", current.Get_Type(), current.Get());
     }
     if (current.Get_Count() == 2)
     {
         Statelabel.Text += String.Format("{0}: {1}\n", current.Get_Type(0), current.Get(0));
         Statelabel.Text += String.Format("{0}: {1}\n", current.Get_Type(1), current.Get(1));
     }
 }