123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Shapes;
- using System.Configuration;
- using System.Text.RegularExpressions;
- using AGV_WPF_Global;
- namespace AGV_WPF
- {
- /// <summary>
- /// AGVParaSetting.xaml 的交互逻辑
- /// </summary>
- public partial class AGVParaSetting : Window
- {
- /// <summary>
- /// 构造函数,读取配置文件中的系统参数
- /// </summary>
- public AGVParaSetting()
- {
- InitializeComponent();
- }
- /// <summary>
- /// 加载窗体,初始化textbox中内容
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- tbAGVnum.Text = ConfigurationManager.AppSettings["AGVNUM_MAX"];
- tbMapScale.Text = ConfigurationManager.AppSettings["MapScale"];
- //tbTraffic.Text = ConfigurationManager.AppSettings["TRAFFIC_CONAREA_MAX"];
- //tbMark.Text = ConfigurationManager.AppSettings["TRAFFIC_CONAREA_MARKNUM_MAX"];
- tbWaiting.Text = ConfigurationManager.AppSettings["TRAFFIC_CONAREA_WAITAGVNUM_MAX"];
- txtAGVPicW.Text = GlobalPara.AgvIconW.ToString();
- txtAGVPicH.Text = GlobalPara.AgvIconH.ToString();
- txtAreaName.Text = GlobalPara.areaName;
- checkBox_SavePic.IsChecked = GlobalPara.IsExceptionSavePic;
- DAL.ZSql sqlRequirePara = new DAL.ZSql();
- //修改日期:2014-1-21
- //总共交通管制数量,与生产区无关,无数据时也会有一行数据,数据为0
- sqlRequirePara.Open("SELECT COUNT(DISTINCT TrafficNum) AS TrafficCount FROM T_Traffic");
- if (sqlRequirePara.rowcount > 0)
- {
- tbTraffic.Text = sqlRequirePara.Rows[0]["TrafficCount"].ToString();
- }
- else
- {
- tbTraffic.Text = "0";
- }
- //修改日期:2014-1-21
- //交通管制中设置了地标数量最大的一个,无数据时也会有一行数据,其中没有任何数据,也不为空
- sqlRequirePara.Open("SELECT MAX(TrafficCount) AS MaxTrafficCount FROM (SELECT COUNT(MarkID) AS TrafficCount FROM T_Traffic GROUP BY TrafficNum) AS T_TrafficCount");
- if (sqlRequirePara.rowcount > 0)
- {
- string oMaxTrafficCount = sqlRequirePara.Rows[0]["MaxTrafficCount"].ToString().Trim();
- tbMark.Text = string.IsNullOrEmpty(oMaxTrafficCount) ? "0" : oMaxTrafficCount;
- }
- else
- {
- tbMark.Text = "0";
- }
- sqlRequirePara.Close();
- }
- #region 确认修改
- /// <summary>
- /// 修改配置参数
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btnModify_Click(object sender, RoutedEventArgs e)
- {
- try
- {
- if (string.IsNullOrEmpty(tbAGVnum.Text.Trim()) || string.IsNullOrEmpty(tbWaiting.Text.Trim()) || string.IsNullOrEmpty(txtAGVPicH.Text) || string.IsNullOrEmpty(txtAGVPicW.Text))
- {
- MessageBox.Show("输入不能为空!");
- return;
- }
- Regex regex = new Regex(@"^[0-9]*[1-9][0-9]*$");//匹配正整数
- if (regex.IsMatch(tbAGVnum.Text.Trim()) && regex.IsMatch(tbWaiting.Text.Trim()) && regex.IsMatch(txtAGVPicW.Text) && regex.IsMatch(txtAGVPicH.Text))
- {
- Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
- cfa.AppSettings.Settings["AGVNUM_MAX"].Value = tbAGVnum.Text.Trim();
- cfa.AppSettings.Settings["MapScale"].Value = tbMapScale.Text.Trim();
- if (!cfa.AppSettings.Settings.AllKeys.Contains(GlobalPara.strAgvIconW))
- {
- cfa.AppSettings.Settings.Add(GlobalPara.strAgvIconW, txtAGVPicW.Text);
- }
- if (!cfa.AppSettings.Settings.AllKeys.Contains(GlobalPara.strAgvIconH))
- {
- cfa.AppSettings.Settings.Add(GlobalPara.strAgvIconH, txtAGVPicH.Text);
- }
- if (!cfa.AppSettings.Settings.AllKeys.Contains(GlobalPara.strSavePic))
- {
- cfa.AppSettings.Settings.Add(GlobalPara.strSavePic, checkBox_SavePic.IsChecked.ToString());
- }
- if (!cfa.AppSettings.Settings.AllKeys.Contains(GlobalPara.strAreaName))
- {
- cfa.AppSettings.Settings.Add(GlobalPara.strAreaName, txtAreaName.Text);
- }
- cfa.AppSettings.Settings[GlobalPara.strAgvIconW].Value = txtAGVPicW.Text;
- cfa.AppSettings.Settings[GlobalPara.strAgvIconH].Value = txtAGVPicH.Text;
- cfa.AppSettings.Settings[GlobalPara.strSavePic].Value = checkBox_SavePic.IsChecked.ToString();
- cfa.AppSettings.Settings[GlobalPara.strAreaName].Value = txtAreaName.Text;
- //cfa.AppSettings.Settings["TRAFFIC_CONAREA_MAX"].Value = tbTraffic.Text.Trim();
- //cfa.AppSettings.Settings["TRAFFIC_CONAREA_MARKNUM_MAX"].Value = tbMark.Text.Trim();
- cfa.AppSettings.Settings["TRAFFIC_CONAREA_WAITAGVNUM_MAX"].Value = tbWaiting.Text.Trim();
- cfa.Save(ConfigurationSaveMode.Modified);
- MessageBox.Show("修改成功!重启软件生效。");
- return;
- }
- else
- {
- MessageBox.Show("请输入正整数字!");
- return;
- }
- }
- catch (System.Exception ex)
- {
- MessageBox.Show("修改失败!");
- return;
- }
- }
- #endregion
- #region 退出系统
- /// <summary>
- /// 退出系统
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btnExit_Click(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
- #endregion
- }
- }
|