|
|
@@ -15,6 +15,8 @@ namespace UAS_XmlAnalysor
|
|
|
|
|
|
DataTable dt;
|
|
|
|
|
|
+ string CachePath = Environment.GetEnvironmentVariable("windir").Substring(0, 1) + @":/Cache/Cache.xml";
|
|
|
+
|
|
|
public Form1()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
@@ -22,12 +24,25 @@ namespace UAS_XmlAnalysor
|
|
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
- FolderPath.Text = Properties.Settings.Default.FolderPath;
|
|
|
- BackUpFolderPath.Text = Properties.Settings.Default.BackUpFolderPath;
|
|
|
- Source.Text = Properties.Settings.Default.Source;
|
|
|
- Master.Text = Properties.Settings.Default.Master;
|
|
|
- AutoStart.Checked = Properties.Settings.Default.AutoStart;
|
|
|
- dt = (DataTable)dh.ExecuteSql("select ms_pwd,ma_user,ma_address from master ", "select");
|
|
|
+ List<string> CacheInf = new List<string>();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ XmlReader myReader = XmlReader.Create(CachePath);
|
|
|
+ while (myReader.Read())
|
|
|
+ {
|
|
|
+ if (myReader.NodeType == XmlNodeType.Text)
|
|
|
+ CacheInf.Add(myReader.Value);
|
|
|
+ }
|
|
|
+ myReader.Close();
|
|
|
+ string[] Info = CacheInf.ToArray();
|
|
|
+ FolderPath.Text = Info[0];
|
|
|
+ BackUpFolderPath.Text = Info[1];
|
|
|
+ Source.Text = Info[2];
|
|
|
+ Master.Text = Info[3];
|
|
|
+ AutoStart.Checked = (Info[4] == "True" ? true : false);
|
|
|
+ }
|
|
|
+ catch (Exception) { }
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_pwd,ma_user,ma_address from master", "select");
|
|
|
Master.DataSource = dt;
|
|
|
Master.DisplayMember = "ma_user";
|
|
|
Master.ValueMember = "ma_user";
|
|
|
@@ -36,12 +51,21 @@ namespace UAS_XmlAnalysor
|
|
|
|
|
|
private void StartWatch_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
+ if (FolderPath.Text == "" || BackUpFolderPath.Text == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("请选择监控文件夹和备份文件夹\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (FolderPath.Text == BackUpFolderPath.Text)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("监控文件夹和备份文件夹不能相同\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
{
|
|
|
if (Master.Text == dt.Rows[i]["ma_user"].ToString())
|
|
|
{
|
|
|
DataHelper.DBConnectionString = "Data Source=" + dt.Rows[i]["ma_address"] + ";User ID=" + dt.Rows[i]["ma_user"] + ";PassWord=" + dt.Rows[i]["ms_pwd"]; ;
|
|
|
- Console.WriteLine(DataHelper.DBConnectionString);
|
|
|
dh = new DataHelper();
|
|
|
}
|
|
|
}
|
|
|
@@ -54,12 +78,26 @@ namespace UAS_XmlAnalysor
|
|
|
XmlWatcher.Filter = "*.xml";
|
|
|
XmlWatcher.Created += new FileSystemEventHandler(XmlWatcher_Created);
|
|
|
XmlWatcher.EnableRaisingEvents = true;
|
|
|
- Properties.Settings.Default.FolderPath = FolderPath.Text;
|
|
|
- Properties.Settings.Default.BackUpFolderPath = BackUpFolderPath.Text;
|
|
|
- Properties.Settings.Default.Source = Source.Text;
|
|
|
- Properties.Settings.Default.Master = Master.Text;
|
|
|
- Properties.Settings.Default.AutoStart = AutoStart.Checked;
|
|
|
- Properties.Settings.Default.Save();
|
|
|
+ string CacheString = FolderPath.Text + "|" + BackUpFolderPath.Text + "|" + Source.Text + "|" + Master.Text + "|" + AutoStart.Checked;
|
|
|
+ //写入前先删除文件
|
|
|
+ try
|
|
|
+ {
|
|
|
+ File.Delete(CachePath);
|
|
|
+ }
|
|
|
+ catch (Exception) { }
|
|
|
+ XmlDocument xmlDoc = new XmlDocument();
|
|
|
+ //创建类型声明节点
|
|
|
+ XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
|
|
|
+ xmlDoc.AppendChild(node);
|
|
|
+ //创建根节点
|
|
|
+ XmlElement xeRoot = xmlDoc.CreateElement("CacheInf");
|
|
|
+ xmlDoc.AppendChild(xeRoot);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "FolderPath", FolderPath.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "BackUpFolderPath", BackUpFolderPath.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "Source", Source.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "Master", Master.Text);
|
|
|
+ CreateNode(xmlDoc, xeRoot, "AutoStart", AutoStart.Checked.ToString());
|
|
|
+ xmlDoc.Save(CachePath);
|
|
|
Source.Enabled = false;
|
|
|
StartWatch.Enabled = false;
|
|
|
ChooseFolder.Enabled = false;
|
|
|
@@ -68,6 +106,13 @@ namespace UAS_XmlAnalysor
|
|
|
OperateResult.AppendText("开始执行监控\n");
|
|
|
}
|
|
|
|
|
|
+ public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
|
|
|
+ {
|
|
|
+ XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
|
|
|
+ node.InnerText = value;
|
|
|
+ parentNode.AppendChild(node);
|
|
|
+ }
|
|
|
+
|
|
|
public void SetAutoRun()
|
|
|
{
|
|
|
if (AutoStart.Checked) //设置开机自启动
|
|
|
@@ -147,7 +192,7 @@ namespace UAS_XmlAnalysor
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- file.MoveTo(BackUpFolderPath.Text + @"\" + e.Name);
|
|
|
+ file.MoveTo(BackUpFolderPath.Text + @"\" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss") + "-" + e.Name);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|