Newer
Older
LSPipeline / FrmConnectServer.cs
wxn on 1 Dec 2016 5 KB first
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;
namespace WorldGIS
{
    public partial class FrmConnectServer : Form
    {
        public string m_strIP;
        public Int32 m_nPort;
        public string m_strUser;
        public string m_strPsw;
        public FrmConnectServer()
        {
            InitializeComponent();
        }

        private void FrmConnectServer_Load(object sender, EventArgs e)
        {
            ReadXML();
        }

        private void buttonOk_Click(object sender, EventArgs e)
        {
            m_strIP = textBoxIP.Text;
            m_strUser = textBoxUser.Text;
            m_strPsw = textBoxPsw.Text;
            int nResult = 0;
            Int32.TryParse(textBoxPort.Text, out nResult);
            m_nPort = nResult;
            
            WriteXML();
        }

        private void ReadXML()
        {
            string strFileName = Path.GetDirectoryName(Application.ExecutablePath) + "/serverConfig.xml";
            if (!File.Exists(strFileName))
            {
                return;
            }

            //初始化XML文档操作类
            XmlDocument myDoc = new XmlDocument();
            //加载XML文件
            try
            {
                myDoc.Load(strFileName);
            }
            catch (System.Exception e)
            {
                Log.PublishTxt(e);
            }
            //搜索指定的节点
            XmlNode serverRootNode = myDoc.SelectSingleNode("LocaSpace");
            XmlNodeList nodes = null;
            if (serverRootNode != null)
            {
                nodes = myDoc.SelectSingleNode("LocaSpace").ChildNodes;
            }
            if (nodes != null)
            {
                XmlNode bRecordNode = serverRootNode.SelectSingleNode("IsRecorded");
                bool bRecorded = false;
                if (bRecordNode != null)
                {
                    bool.TryParse(bRecordNode.InnerText, out bRecorded);
                    cbbRecordServerConfig.Checked = bRecorded;
                }

                if (bRecorded)
                {
                    foreach (System.Xml.XmlNode xn in nodes)
                    {
                        if (xn.Name == "IP")
                        {
                            textBoxIP.Text = xn.InnerText;
                        }
                        else if (xn.Name == "Port")
                        {
                            textBoxPort.Text = xn.InnerText;
                        }
                        else if (xn.Name == "UserName")
                        {
                            textBoxUser.Text = xn.InnerText;
                        }
                        else if (xn.Name == "UserPwd")
                        {
                            textBoxPsw.Text = xn.InnerText;
                        }
                    }
                }
            }
        }
        private void WriteXML()
        {
             string strFileName = Path.GetDirectoryName(Application.ExecutablePath) + "/serverConfig.xml";
             File.WriteAllText(strFileName, "<?xml version='1.0' encoding='utf-8' ?><LocaSpace></LocaSpace> ");
             XmlDocument myDoc = new XmlDocument();

             //加载XML文件
            
             //XmlElement serverRootElem = null;
             try
             {
                 myDoc.Load(strFileName);

             }
             catch (System.Exception e)
             {
                 Log.PublishTxt(e);
                 File.Delete(strFileName);
                 File.WriteAllText(strFileName, "<?xml version='1.0' encoding='utf-8' ?><LocaSpace></LocaSpace> ");
             }

             XmlNode serverRootNode = myDoc.SelectSingleNode("LocaSpace");
             if (serverRootNode == null)
             {
                 serverRootNode = myDoc.CreateElement("LocaSpace");
             }

             XmlElement ele0 = myDoc.CreateElement("IsRecorded");
             ele0.InnerText = cbbRecordServerConfig.Checked.ToString();
             serverRootNode.AppendChild(ele0);


             XmlElement ele1 = myDoc.CreateElement("IP");
             ele1.InnerText = m_strIP;
             serverRootNode.AppendChild(ele1);

             XmlElement ele2 = myDoc.CreateElement("Port");
             ele2.InnerText = textBoxPort.Text;
             serverRootNode.AppendChild(ele2);

             XmlElement ele3 = myDoc.CreateElement("UserName");
             ele3.InnerText = m_strUser;
             serverRootNode.AppendChild(ele3);


             XmlElement ele4 = myDoc.CreateElement("UserPwd");
             ele4.InnerText = m_strPsw;
             serverRootNode.AppendChild(ele4);

             try
             {
                 myDoc.Save(strFileName);
             }
             catch (System.Exception e)
             {
                 Log.PublishTxt(e);
             }            
        }

        private void buttonCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }      
    }
}