Version.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace Welling_Motor_Debug_Tool
  13. {
  14. public partial class Version : Form
  15. {
  16. //修改记录
  17. string ChangeLog = "修改记录:\r\n" + "V2.1.6\r\n" +
  18. "1,修改控制器内阻校准指令,增加写入存储标志;\r\n" +
  19. "2,参数生成界面增加导入样机测试记录的文件功能;\r\n" +
  20. "3,参数生成界面增加锁,防止误触。\r\n\r\n" +
  21. mainForm.Version + "\r\n" +
  22. "1,解决系统显示缩放后,截图显示不完全的问题;\r\n" +
  23. "2,允许离线使用是关闭网络定时检测;\r\n" +
  24. "3,定时检测网络断开时不自动关闭,此时不允许使用,等待网络恢复;\r\n" +
  25. "4,启动登录密码错误时不自动关闭,重新进入登录;\r\n" +
  26. "5,部分提示框修改为自动关闭;\r\n" +
  27. "6,增加读取本机信息功能;\r\n" +
  28. "7,启动时自动上传登录日志,包含本机信息。\r\n"
  29. ;
  30. //存储路径文件
  31. LocalInfo localInfo = new LocalInfo();
  32. //服务器配置
  33. string IP, Port, User, PassWD;
  34. //FTP
  35. ftp myFtp = new ftp();
  36. public Version()
  37. {
  38. InitializeComponent();
  39. }
  40. private void Version_Load(object sender, EventArgs e)
  41. {
  42. //更新版本信息
  43. label_Ver.Text = "版本: V" + mainForm.Version;
  44. label_BT.Text = "编译时间:" + System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location).ToString("yyyy-MM-dd HH:mm:ss");
  45. //修改日志
  46. richTextBox_Log.Text = "";
  47. richTextBox_Log.AppendText(ChangeLog);
  48. //导入网络配置
  49. if (System.IO.File.Exists(localInfo.LocalPath + localInfo.ConfigFileName)) //存在配置文件,导入配置信息
  50. {
  51. //打开文件
  52. StreamReader objReader = new StreamReader(localInfo.LocalPath + localInfo.ConfigFileName);
  53. string sLine = "";
  54. ArrayList array_CfgInfo = new ArrayList();
  55. array_CfgInfo.Clear();
  56. while (sLine != null)
  57. {
  58. sLine = objReader.ReadLine();
  59. array_CfgInfo.Add(sLine);
  60. }
  61. objReader.Close();
  62. //解析配置文件
  63. try
  64. {
  65. //Server Set IP, Port, User, PassWS, ModelPath;
  66. IP = array_CfgInfo[12].ToString().Split(':')[1];
  67. Port = array_CfgInfo[13].ToString().Split(':')[1];
  68. User = array_CfgInfo[14].ToString().Split(':')[1];
  69. PassWD = array_CfgInfo[15].ToString().Split(':')[1];
  70. myFtp.FtpOption(IP, Port, User, PassWD, "admin", "ttium_admin");
  71. }
  72. catch (System.Exception)
  73. {
  74. MessageBox.Show("参数格式错误,写入默认值!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  75. }
  76. }
  77. else
  78. {
  79. MessageBox.Show("参数文件丢失!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  80. this.Close();
  81. }
  82. }
  83. private void button_CheckVersion_Click(object sender, EventArgs e)
  84. {
  85. //检查网络状态
  86. if (myFtp.CheckFtp() == false)
  87. {
  88. MessageBox.Show("网络断开", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  89. return;
  90. }
  91. else
  92. {
  93. //检查本地文件删除
  94. if (System.IO.File.Exists(localInfo.LocalPath + "\\Version"))
  95. System.IO.File.Delete(localInfo.LocalPath + "\\Version");
  96. //读取最新版本号
  97. myFtp.DownloadFile("/Tools/Welling_Motor_Debug_Tool/Version", localInfo.LocalPath);
  98. StreamReader objReader = new StreamReader(localInfo.LocalPath + "\\Version");
  99. string sLine = "";
  100. ArrayList arrText = new ArrayList();//创建一个动态数组
  101. while (sLine != null)
  102. {
  103. sLine = objReader.ReadLine();
  104. arrText.Add(sLine);
  105. }
  106. objReader.Close();
  107. System.IO.File.Delete(localInfo.LocalPath + "\\Version");
  108. //检查是否有最新版本
  109. string[] VerOld = mainForm.Version.Trim().Split('.');
  110. string[] VerNew = arrText[0].ToString().Trim().Split('.');
  111. if (Convert.ToInt16(VerNew[0]) <= Convert.ToInt16(VerOld[0]))
  112. {
  113. if (Convert.ToInt16(VerNew[1]) <= Convert.ToInt16(VerOld[1]))
  114. {
  115. if (Convert.ToInt16(VerNew[2]) <= Convert.ToInt16(VerOld[2]))
  116. {
  117. MessageBox.Show("版本已是最新", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  118. return;
  119. }
  120. }
  121. }
  122. //下载最新版本
  123. string SavePath = Directory.GetCurrentDirectory();
  124. string[] FileList = myFtp.GetFileNameList("/Tools/Welling_Motor_Debug_Tool");
  125. foreach (string file in FileList)
  126. {
  127. if (file.Contains(".exe"))
  128. {
  129. myFtp.DownloadFile("/Tools/Welling_Motor_Debug_Tool/" + file, SavePath);
  130. MessageBox.Show("最新版本下载完成,请手动删除旧版本\r\n最新版本:" + file, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  131. return;
  132. }
  133. }
  134. }
  135. }
  136. }
  137. }