⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 windows mobile读取GPS数据
💻 CS
📖 第 1 页 / 共 4 页
字号:
        private void UpdateButtonState()
        {
            //变电站基本信息前后翻按钮
            if (bdz_baseBindingSource.Position <= 0)
                bdz_pre.Enabled = false;
            else
                bdz_pre.Enabled = true;
            if (bdz_baseBindingSource.Position >= bdz_baseBindingSource.Count - 1)
                bdz_next.Enabled = false;
            else
                bdz_next.Enabled = true;
            //支线基本信息前后翻按钮
            if (subline_baseBindingSource.Position <= 0)
                sub_pre.Enabled = false;
            else
                sub_pre.Enabled = true;
            if (subline_baseBindingSource.Position >= subline_baseBindingSource.Count - 1)
                sub_next.Enabled = false;
            else
                sub_next.Enabled = true;
            //交叉跨越前后翻按钮
            if (line_crossBindingSource.Position <= 0)
                lc_pre.Enabled = false;
            else
                lc_pre.Enabled = true;
            if (line_crossBindingSource.Position >= line_crossBindingSource.Count - 1)
                lc_next.Enabled = false;
            else
                lc_next.Enabled = true;
            //杆塔前后翻按钮
            if (pole_towerBindingSource.Position <= 0)
                gt_pre.Enabled = false;
            else
                gt_pre.Enabled = true;
            if (pole_towerBindingSource.Position >= pole_towerBindingSource.Count - 1)
                gt_next.Enabled = false;
            else
                gt_next.Enabled = true;
        }

        //数据导入功能的实现
        private void open_bdz_base_file_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() != DialogResult.Cancel)
            {
                bdzbasefilepath.Text = ofd.FileName;
            }
        }    
        private void open_linebase_file_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() != DialogResult.Cancel)
            {
                linebasefilepath.Text = ofd.FileName;
            }
        }
        private void open_code_table_file_Click(object sender, EventArgs e)
            {
                OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() != DialogResult.Cancel)
                {
                    codetablefilepath.Text = ofd.FileName;
                }
            }
        
        private bool IsFilePathExists(string filepath)
        {
            if (filepath.Length <= 0)
            {
                MessageBox.Show("请选择文件之后点击‘开始导入’按钮");
                return false;
            }
            if (!File.Exists(filepath))
            {
                MessageBox.Show("找不到文件" + filepath + ",请检查确认后重新导入!");
                return false;
            }
            return true;
        }
        private void import_bdz_info_Click(object sender, EventArgs e)
        {
            //文件路径
            string filepath = bdzbasefilepath.Text;
            if(!IsFilePathExists(filepath))
                return;
            if (filepath.Substring(filepath.IndexOf('.'), 4).CompareTo(".xml") == 0)
            {
                //MessageBox.Show(filepath.Substring(filepath.IndexOf('.')+1, 3));
                ImprotBdzBaseDataFromXmlFile(filepath);
            }
        }
        private void import_linebase_info_Click(object sender, EventArgs e)
        {
            //检查文件路径
            string filepath = linebasefilepath.Text;
            if (!IsFilePathExists(filepath))
                return;
            if (filepath.Substring(filepath.IndexOf('.'), 4).CompareTo(".xml") == 0)
            {
                ImprotLineBaseDataFromXmlFile(filepath);
            }
        }      
        private void import_code_table_info_Click(object sender, EventArgs e)
        {
            //检查文件路径
            string filepath = codetablefilepath.Text;
            if (!IsFilePathExists(filepath))
                return;
            if (filepath.Substring(filepath.IndexOf('.'), 4).CompareTo(".xml") == 0)
            {
                ImprotCodeTableDataFromXmlFile(filepath);
            }
        }
        
        private void EnableControl(TextBox tb, Button bt1, Button bt2, bool bEnable)
        {
            tb.Enabled = bEnable;
            bt1.Enabled = bEnable;
            bt2.Enabled = bEnable;
        }
        private void IsEnableBdzImport_CheckStateChanged(object sender, EventArgs e)
        {
            if (IsEnableBdzImport.Checked)
            {
                EnableControl(bdzbasefilepath, open_bdz_base_file, import_bdz_info, true);
            }
            else
            {
                EnableControl(bdzbasefilepath, open_bdz_base_file, import_bdz_info, false);
            }
        }
        private void IsEnableLineInfoImport_CheckStateChanged(object sender, EventArgs e)
        {
            if (IsEnableLineInfoImport.Checked)
            {
                EnableControl(linebasefilepath, open_linebase_file, import_linebase_info, true);
            }
            else
            {
                EnableControl(linebasefilepath, open_linebase_file, import_linebase_info, false);
            }
        }
        private void IsEnableCodeInfoImport_CheckStateChanged(object sender, EventArgs e)
        {
            if (IsEnableCodeInfoImport.Checked)
            {
                EnableControl(codetablefilepath, open_code_table_file, import_code_table_info, true);
            }
            else
            {
                EnableControl(codetablefilepath, open_code_table_file, import_code_table_info, false);
            }
        }
  
        /// <summary>
        /// 导入xml文件格式的变电站基本信息
        /// </summary>
        /// <param name="strFilePath">xml文件路径</param>
        private void ImprotBdzBaseDataFromXmlFile(string strFilePath)
        {
            //记录集,用于读取XML文件
            DataSet ds = new DataSet();
            DataTableReader dtr;
            string strSql = "";

            //读取xml数据到数据集
            ds.ReadXml(strFilePath);
            dtr = ds.CreateDataReader();

            //先清空数据
            strSql = "delete from bdz_base";
            ExcuteSql(strSql);

            //导入
            while (dtr.Read())
            {
                strSql = "insert into bdz_base(bdz_code,bdz_name) values('" + dtr.GetValue(1).ToString() + "','" + dtr.GetValue(2).ToString() + "')";
                ExcuteSql(strSql);
            }
            //this.bdz_baseTableAdapter.Fill(qxpdaDataSet.bdz_base);
            this.bdz_baseBindingSource.ResetBindings(false);
            MessageBox.Show("变电站基本信息导入完毕!");
        }
        /// <summary>
        /// 导入xml文件格式的代码表基本信息
        /// </summary>
        /// <param name="strFilePath"></param>
        private void ImprotCodeTableDataFromXmlFile(string strFilePath)
        {
            //记录集,用于读取XML文件
            DataSet ds = new DataSet();
            DataTableReader dtr;
            string strSql = "";

            //先已有清空数据
            strSql = "delete from c_code";
            ExcuteSql(strSql);

            //读取xml数据到记录集中
            ds.ReadXml(strFilePath);
            dtr = ds.CreateDataReader();

            //导入
            while (dtr.Read())
            {
                strSql = "insert into c_code(code,name,code_lb) values('" + dtr.GetValue(1).ToString() + "','" + dtr.GetValue(2).ToString() + "','" + dtr.GetValue(3).ToString() + "')";
                ExcuteSql(strSql);
            }

            MessageBox.Show("代码表基本信息导入完毕!");

        }
        /// <summary>
        /// 导入xml文件格式的干线线路基本信息
        /// </summary>
        /// <param name="strFilePath"></param>
        private void ImprotLineBaseDataFromXmlFile(string strFilePath)
        {
            //记录集,用于读取XML文件
            DataSet ds = new DataSet();
            DataTableReader dtr;
            string strSql = "";

            //先已有清空数据
            strSql = "delete from line_base";
            ExcuteSql(strSql);

            //读取xml数据到记录集中
            ds.ReadXml(strFilePath);
            dtr = ds.CreateDataReader();

            //导入
            while (dtr.Read())
            {
                strSql = "insert into line_base(bdz_code,line_code,line_name) values('" + dtr.GetValue(1).ToString() + "','" + dtr.GetValue(2).ToString() + "','" + dtr.GetValue(3).ToString() + "')";
                ExcuteSql(strSql);
            }
            MessageBox.Show("干线线路基本信息导入完毕!");
        }
       
        //导出数据的处理
        private void output_xmlfile_Click(object sender, EventArgs e)
        {
            string strSql = "";
            strSql = "select * from bdz_base order by bdz_code";
            if (!OutputDataToXmlFile(strSql, "变电站基本信息.xml"))
            {
                MessageBox.Show("变电站基本信息导出失败!请检查后重试!");
            }
            strSql = "select * from pole_tower order by id";
            if (!OutputDataToXmlFile(strSql, "杆塔基本信息.xml"))
            {
                MessageBox.Show("杆塔基本信息导出失败!请检查后重试!");
            }
            strSql = "select * from line_cross order by lc_code";
            if (!OutputDataToXmlFile(strSql, "架空线基本信息.xml"))
            {
                MessageBox.Show("架空线基本信息导出失败!请检查后重试!");
            }
            MessageBox.Show("导出XML文件完毕!");
        }
        /// <summary>
        /// 导出xml格式数据
        /// </summary>
        /// <param name="strSql">提取要导出数据的sql语句</param>
        /// <param name="filename">导出的文件名</param>
        /// <returns></returns>
        private bool OutputDataToXmlFile(string strSql, string strFileName)
        {
            DataTable dt = new DataTable();
            SqlCeDataAdapter sda = new SqlCeDataAdapter(strSql, sqlconn);

            //默认导出到”我的文档“目录下的”GIS数据“文件夹
            string strFileDirectory = @"\My Documents\GIS数据\";
            if (!Directory.Exists(strFileDirectory))
            {
                Directory.CreateDirectory(strFileDirectory);
            }

            sda.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                dt.WriteXml(strFileDirectory + strFileName);
                return true;
            }
            else
            {
                return false;
            }
        }
    
        private void button6_Click(object sender, EventArgs e)
        {
            File.Copy(@"\Program Files\qxpda\code.xml", @"\My Documents\code.xml");
            File.Copy(@"\Program Files\qxpda\bdzbase.xml", @"\My Documents\bdzbase.xml");

        }

        //数据合法性校验
        private bool IsBdzDataReady()
        {
            if (bdz_bdz_name.SelectedValue == null)
            {
                MessageBox.Show("请选择变电站选项!");
                return false;
            }
            if (bdz_voltage_level.SelectedValue == null)
            {
                MessageBox.Show("请选择电压等级选项!");
                return false;
            }
            if (bdz_x1.TextLength < 0 || bdz_y1.TextLength < 0)
            {
                MessageBox.Show("第一点坐标不能为空,请重新获取!");
                return false;
            } 
            if (bdz_x2.TextLength < 0 || bdz_y2.TextLength < 0)
            {
                MessageBox.Show("第二点坐标不能为空,请重新获取!");
                return false;
            }
            if (bdz_x3.TextLength < 0 || bdz_y3.TextLength < 0)
            {
                MessageBox.Show("第三点坐标不能为空,请重新获取!");
                return false;
            }
            if (bdz_x4.TextLength < 0 || bdz_y4.TextLength < 0)
            {
                MessageBox.Show("第四点坐标不能为空,请重新获取!");
                return false;
            }
            return true;
        }
        private bool IsSublineBaseDataReady()
        {
            if (sub_bdz_name.SelectedValue==null)
            {
                MessageBox.Show("请选择变电站选项!");
                return false;
            }
            if (sub_line_name.SelectedValue==null)
            {
                MessageBox.Show("请选择线路选项!");
                return false;
            }
            if (sub_subline_name.TextLength < 4)
            {
                MessageBox.Show("支路名称太简单,请尽量使用规范的线路名称!");
                return false;
            }
            return true;
        }
        private enum OperType
        {
            Insert = 0,
            Update = 1,
        }
        private bool IsPoleTowerBaseDataReady(OperType ot)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -