void DownData(int mainkey) { string sql; //获取动作长度 sql = "SELECT mainKey FROM data" + mainkey + " ORDER BY mainKey DESC LIMIT 1;"; MySqlDataReader mySql = SQLManage.GetReader(sql); mySql.Read(); int size = (int)mySql[0]; SQLManage.closeConn(); //弹出加载窗口 Form9 form9 = new Form9("正在下载动作......"); form9.progressBar1.Maximum = size; form9.progressBar1.Step = 1; form9.Show(); //创建临时动作保存 List <Date1> date1 = new List <Date1>(); sql = "SELECT * FROM data" + mainkey + " ORDER BY mainKey;"; mySql = SQLManage.GetReader(sql); while (mySql.Read()) { //将数据库的动作读取出来 long x1 = (long)mySql[1]; Date1.IsMouseOrKeyboard x2 = (Date1.IsMouseOrKeyboard)mySql[2]; Date1.IsUpOrDown x3 = (Date1.IsUpOrDown)mySql[3]; if (x2 == Date1.IsMouseOrKeyboard.Keyboard) { Keys x4 = (Keys)mySql[4]; date1.Add(Date1.create( x1, x2, x3, new KeyEventArgs(x4) )); } if (x2 == Date1.IsMouseOrKeyboard.Mouse) { MouseButtons x5 = (MouseButtons)mySql[5]; int x6 = (int)mySql[6]; int x7 = (int)mySql[7]; int x8 = (int)mySql[8]; date1.Add(Date1.create( x1, x2, x3, new MouseEventArgs(x5, 0, x6, x7, x8) )); } //进度条往前一格 form9.progressBar1.PerformStep(); } //读取完毕 SQLManage.closeConn(); //读取动作名称长度介绍等信息 sql = "SELECT * FROM amainform WHERE mainKey = " + mainkey + ";"; mySql = SQLManage.GetReader(sql); mySql.Read(); formName = (string)mySql[1]; formTime = (string)mySql[2]; formMessage = (string)mySql[3]; SQLManage.closeConn(); form9.Close(); form9.Dispose(); //同步主窗口和本窗口的数据 dates = date1; mainForm.dates = date1; mainForm.formName = formName; mainForm.formTime = formTime; mainForm.formMessage = formMessage; MessageBox.Show(formName + "\n动作下载完成"); }
void duqu() { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "动作信息文件(*.dodata)|*.dodata|所有文件|*.*"; ofd.ValidateNames = true; ofd.CheckPathExists = true; ofd.CheckFileExists = true; if (ofd.ShowDialog() == DialogResult.OK) { string strFileName = ofd.FileName; //其他代码 string[] lines = System.IO.File.ReadAllLines(strFileName); int mod = 1; //MessageBox.Show("读取成功"); foreach (string line in lines) { if (mod == 1 && !"《未加密动作信息》".Equals(line)) { MessageBox.Show("警告!该文件非动作信息!"); return; } else if (mod == 1) { mod = 2; dates = new List <Date1>(); continue; } if (mod == 2) { formName = line; mod++; continue; } if (mod == 3) { formTime = line; formMessage = ""; mod++; continue; } string temp = "<!===================================!>"; if (mod == 4 && !temp.Equals(line)) { formMessage += line; continue; } else if (mod == 4) { mod = 5; continue; } if (mod == 5) { string[] str = line.Split(','); long x1 = long.Parse(str[0]); Date1.IsMouseOrKeyboard x2 = (Date1.IsMouseOrKeyboard) int.Parse(str[1]); Date1.IsUpOrDown x3 = (Date1.IsUpOrDown) int.Parse(str[2]); if (x2 == Date1.IsMouseOrKeyboard.Keyboard) { Keys x4 = (Keys)int.Parse(str[3]); dates.Add(Date1.create( x1, x2, x3, new KeyEventArgs(x4) )); } if (x2 == Date1.IsMouseOrKeyboard.Mouse) { MouseButtons x5 = (MouseButtons)int.Parse(str[3]); int x6 = int.Parse(str[4]); int x7 = int.Parse(str[5]); int x8 = int.Parse(str[6]); dates.Add(Date1.create( x1, x2, x3, new MouseEventArgs(x5, 0, x6, x7, x8) )); } } } } }