コード例 #1
0
        public static List <string> ReaderLoaclKemuAndHoursData() //用于返回本地存储数据中所有的科目和时间,以便于显示在ComBox上
        {
            List <string> Cbshowkemuhours = new List <string>();  //此集合仅仅用于生成ComBox中的下拉内容
            //string cbshowkongge = "                           |                              ";
            string cbshowkongge = "         |        ";

            Cbshowkemuhours.Add("课目" + cbshowkongge + "课时数");
            for (int cb = 0; cb < Judge.LocalHours().Count; cb++)
            {
                if (Judge.LocalKemu()[cb] == " ")
                {
                    Cbshowkemuhours.Add(" " + " " + cbshowkongge + Judge.LocalHours()[cb]); continue;
                }
                if (Judge.LocalKemu()[cb].Length == 1)
                {
                    Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + " " + cbshowkongge + Judge.LocalHours()[cb]); continue;
                }
                if (Judge.LocalKemu()[cb].Length > 2)
                {
                    Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + cbshowkongge.Remove(0, (Judge.LocalKemu()[cb].Length - 2)) + Judge.LocalHours()[cb]); continue;
                }
                Cbshowkemuhours.Add(Judge.LocalKemu()[cb] + cbshowkongge + Judge.LocalHours()[cb]);
            }
            Cbshowkemuhours.Add("总课时" + cbshowkongge.Remove(0, 1) + Judge.TotalHours());
            return(Cbshowkemuhours);
        }
コード例 #2
0
        private void BtDeletKemuHours_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult mbr = MessageBox.Show("你确定要删除该科目吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information);

            if (mbr == MessageBoxResult.Yes)
            {
                if (Cbshow.Text == "课目" + "         |        " + "课时数" || Cbshow.Text == "总课时" + "        |        " + Judge.TotalHours())
                {
                    MessageBox.Show("删除项选择错误", "删除失败", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml"))
                {
                    //显示本地存储的科目及课时信息数据到ComBox上
                    Judge.DeletLoaclKemuAndHoursData(this);
                    Cbshow.ItemsSource   = Judge.ReaderLoaclKemuAndHoursData();
                    Cbshow.SelectedIndex = 0;
                    LbTime.Content       = Judge.TotalHours();
                    LbNumber.Content     = Judge.LocalKemu().Count;
                    MessageBox.Show("删除成功!", "信息", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    MessageBox.Show("未存在任何数据可供删除", "删除失败", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }
            if (mbr == MessageBoxResult.No)
            {
                return;
            }
        }
コード例 #3
0
 private void BtFinish_Click(object sender, RoutedEventArgs e)
 {
     if (classcount == 0)
     {
         MessageBox.Show("还未选择要班级!", "错误提示!", MessageBoxButton.OK, MessageBoxImage.Error); return;
     }
     if (classcount > 6)
     {
         MessageBox.Show("班级数量发生错误,建议重新运行!", "错误提示!", MessageBoxButton.OK, MessageBoxImage.Error); return;
     }
     if (Judge.TotalHours() != 45)
     {
         MessageBox.Show("课表无法生成!因为课时数不等于45!,请添加满45课时!", "错误提示!", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     MessageBox.Show("即将进行数据运算,由于是按要求随机生成,不同要求可能需要的时间也不一样,请耐心等待!", "提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);
     ThreadPool.QueueUserWorkItem(this.JdThread);
     this.Close();
 }
コード例 #4
0
        private void Panduan(MainWindow main, string classname)//此函数用于判断在打开课表之前,是否已经存在配置文件且其中配置文件中总课时是否是45
        {
            if (!File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + classname))
            {
                MessageBox.Show("请先添加信息!", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            int totalhours = Judge.TotalHours();

            if (totalhours != 45)
            {
                MessageBox.Show("所添加的课时已经超过或小于45!", "错误!", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            main.j1 = Judge.DateClassReader(classname)[0];
            main.j2 = Judge.DateClassReader(classname)[1];
            main.j3 = Judge.DateClassReader(classname)[2];
            main.j4 = Judge.DateClassReader(classname)[3];
            main.j5 = Judge.DateClassReader(classname)[4];
            main.ShowDialog();
        }
コード例 #5
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            CbSimily.ToolTip = Judge.AddStringEnter("你如果勾选上此项则代表你添加的这个科目在不同班级中不会出现在相同位置(注意:如果同时有很多科目都添加了此属性,则可能造成生成课表的时间较长)", 15);
            LbTime.Content   = Judge.TotalHours();
            LbNumber.Content = Judge.LocalKemu().Count;
            List <string> Cbcountlist = new List <string>();//此集合仅仅用于生成ComBox中的下拉内容

            Cbcountlist.Add("任意");
            Cbcountlist.Add("1");
            Cbcountlist.Add("2");
            Cbcountlist.Add("3");
            Cbcount.ItemsSource   = Cbcountlist;
            Cbcount.SelectedIndex = 0; //ComeBox中用来设置第一个显示的内容,同样可以设置的为SelectedItem
            //显示本地存储的科目及课时信息数据到ComBox上
            if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml"))
            {
                //显示本地存储的科目及课时信息数据到ComBox上
                Cbshow.ItemsSource   = Judge.ReaderLoaclKemuAndHoursData();
                Cbshow.SelectedIndex = 0;
            }
        }
コード例 #6
0
        private void BtDelet_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult mrt = MessageBox.Show("将清空所有本地数据!确定吗?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Information);

            if (mrt == MessageBoxResult.OK)
            {
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\app.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassOne.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassTwo.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassThree.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassFour.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassFive.xml");
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\ClassSix.xml");
                LbTime.Content = Judge.TotalHours();
                TbKemu.Focus();
            }
            if (mrt == MessageBoxResult.Cancel)
            {
                TbKemu.Focus();
                return;
            }
        }
コード例 #7
0
        private void BtPlugin_Click(object sender, RoutedEventArgs e)
        {
            //输入数据前对格式是否正确的检测
            if (TbKemu.Text == "" || TbHours.Text == "")
            {
                MessageBox.Show("请输入内容!", "提示", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (TbKemu.Text == " ")
            {
                MessageBox.Show("请将输入法调为半角模式!", "提示", MessageBoxButton.OK, MessageBoxImage.Error);
                TbKemu.Clear();
                TbKemu.Focus();
                return;
            }
            if (TbKemu.Text.IndexOf(" ") != -1)
            {
                if (TbKemu.Text.Length > 1)
                {
                    MessageBox.Show("课表输入格式错误,不能在科目中加空格!或者如果你想只输入空格,请只输入一个!", "提示", MessageBoxButton.OK, MessageBoxImage.Error);
                    TbKemu.Clear();
                    TbKemu.Focus();
                    return;
                }
            }
            int  number;
            bool result = int.TryParse(TbHours.Text, out number);

            if (result)
            {
                if (number <= 0 || number > 15)
                {
                    MessageBox.Show("你输入的课时错误", "错误", MessageBoxButton.OK, MessageBoxImage.Error); TbHours.Focus(); return;
                }
            }
            else
            {
                MessageBox.Show("课时格式输入错误", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
                TbHours.Focus();
                return;
            }
            if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\app.xml"))//检测添加科目是否与本地存在的科目重名
            {
                for (int alct = 0; alct < Judge.LocalKemu().Count; alct++)
                {
                    if (TbKemu.Text == Judge.LocalKemu()[alct])
                    {
                        MessageBoxResult mbr = MessageBox.Show("发现该科目已经存在,是否仍然添加?(适用于同一门课不同老师的情况)", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information);
                        if (mbr == MessageBoxResult.Yes)
                        {
                        }
                        if (mbr == MessageBoxResult.No)
                        {
                            TbHours.Text = ""; TbKemu.Text = ""; TbKemu.Focus(); return;
                        }
                    }
                }
            }
            //通过格式检测,开始写入本地文件
            try
            {
                int totalhours = Judge.TotalHours();

                if (totalhours == 0 || totalhours < 45)//如果本地存储文件不存在或者总课时小于45
                {
                    if (totalhours + Convert.ToInt32(TbHours.Text) > 45)
                    {
                        MessageBox.Show("不能添加此科目,否则总课时将超出", "添加失败!", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    Judge.DateRecord((bool)CbSimily.IsChecked, Cbcount.Text, TbKemu.Text, TbHours.Text, true);
                    MessageBox.Show("添加成功!", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
                    LbNumber.Content = Judge.LocalKemu().Count;
                    LbTime.Content   = Judge.TotalHours();
                    TbHours.Text     = "";
                    TbKemu.Text      = "";
                    TbKemu.Focus();
                    CbSimily.IsChecked = false;
                    //显示本地存储的科目及课时信息数据到ComBox上
                    Cbshow.ItemsSource   = Judge.ReaderLoaclKemuAndHoursData();
                    Cbshow.SelectedIndex = 0;
                    return;
                }
                if (totalhours >= 45)//如果本地文件存在则判断其中课时是否超出总课时
                {
                    MessageBoxResult mbr = MessageBox.Show("所添加的课时已满或者已经超过45!,是否重新配置?", "错误!", MessageBoxButton.YesNo, MessageBoxImage.Error);
                    if (mbr == MessageBoxResult.Yes)
                    {
                        Judge.DateRecord((bool)CbSimily.IsChecked, Cbcount.Text, TbKemu.Text, TbHours.Text, false);
                        MessageBox.Show("添加成功!", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
                        LbNumber.Content = Judge.LocalKemu().Count;
                        LbTime.Content   = Judge.TotalHours();
                        TbHours.Text     = "";
                        TbKemu.Text      = "";
                        TbKemu.Focus();
                        CbSimily.IsChecked = false;
                        //显示本地存储的科目及课时信息数据到ComBox上
                        Cbshow.ItemsSource   = Judge.ReaderLoaclKemuAndHoursData();
                        Cbshow.SelectedIndex = 0;
                    }
                    if (mbr == MessageBoxResult.No)
                    {
                        TbHours.Clear();
                        TbKemu.Clear();
                        return;
                    }
                }
            }
            catch
            {
                MessageBox.Show("存储文件发生错误,将进行删除!", "未知错误!", MessageBoxButton.OK, MessageBoxImage.Error);
                File.Delete(System.Windows.Forms.Application.StartupPath + "\\app.xml");
            }
        }