Esempio n. 1
0
 private void buttonOk_Click(object sender, EventArgs e)
 {
     if (addUserName.Text != "" && addUserPw.Text != "")
     {
         if (isUp.Text != "修改用户")
         {
             string sql = "insert into users(userName,password) values('" + addUserName.Text + "','" + addUserPw.Text + "');";
             DataBaseSys.ExecuteNonQuery(sql);
             MessageBox.Show("添加成功");
             this.DialogResult = DialogResult.OK;
             this.Close();
         }
         else
         {
             isUp.Text = "修改会员密码";
             string sql = "update users set `password`='" + addUserPw.Text + "'where userName='******'";
             DataBaseSys.ExecuteNonQuery(sql);
             MessageBox.Show("修改成功!");
             this.DialogResult = DialogResult.OK;
             this.Close();
         }
     }
     else
     {
         MessageBox.Show("用户名和密码不能为空!");
     }
 }
Esempio n. 2
0
        private void ManagerSystem_Load(object sender, EventArgs e)
        {
            this.tabControl1.SelectedIndex = 1;
            string getUsers    = "select * from users";
            string getMachines = "select * from machines";

            //显示管理员信息
            DataSet dsUser = DataBaseSys.GetDataSetValue(getUsers, "Tables");

            userDataView.DataSource            = dsUser.Tables[0];
            userDataView.Columns[0].HeaderText = "编号";
            userDataView.Columns[1].HeaderText = "管理员";
            userDataView.Columns[2].HeaderText = "密码";
            userDataView.ReadOnly = true;
            dsUser.Dispose();
            //显示机种信息
            DataSet dsMac = DataBaseSys.GetDataSetValue(getMachines, "Tables");

            dsMac.Tables[0].Columns[3].ReadOnly  = false;
            adressDataView.DataSource            = dsMac.Tables[0];
            adressDataView.Columns[0].HeaderText = "编号";
            adressDataView.Columns[1].HeaderText = "机种号";
            adressDataView.Columns[2].HeaderText = "点数";
            adressDataView.Columns[3].HeaderText = "坐标";
            adressDataView.ReadOnly = true;
            dsMac.Dispose();
        }
Esempio n. 3
0
        private void buttonLogin_Click(object sender, EventArgs e)
        {
            if (password.Text != "")
            {
                string          sql    = "select * from users where password='******';";
                MySqlDataReader reader = DataBaseSys.GetDataReaderValue(sql);

                //string[] array = new string[4];
                if (!reader.Read())
                {
                    MessageBox.Show("密码错误!");
                }
                else
                {
                    this.Hide();
                    Form1 f1 = new Form1(true);
                    f1.ShowDialog();
                    // ManagerSystem um = new ManagerSystem();
                    //MessageBox.Show("双击需要修改的坐标区域即可修改其中坐标地址!");
                    //um.ShowDialog();
                }
            }
            else
            {
                MessageBox.Show("密码不能为空!", "错误提示");
            }
        }
Esempio n. 4
0
 public void Init(Transform weaponContainer)
 {
     _Belt            = InitBelt(Config.WeaponBeltTypes);
     _Keys            = BuildSwitchKeyMapping(Config.WeaponBeltTypes);
     _WeaponContainer = weaponContainer;
     _WeaponInfoDic   = _WeaponInfoDic ?? QueryDic(DataBaseSys.GetTable(Config.WeaponInfoTableName));
     _Unarmed         = CreateWeaponObj(Config.UnarmedId);
     _Unarmed.TakeOut();
 }
Esempio n. 5
0
        private void Start()
        {
            // todo
            return;

            string message = (
                from row in DataBaseSys.GetTable("message")
                where row["Key"] == "flyingSaucerWelcome"
                select row["value"]).FirstOrDefault();

            LogPanel.Ins.LogSystem(message);
        }
Esempio n. 6
0
        private void buttonDele_Click(object sender, EventArgs e)
        {
            MessageBoxButtons msb = MessageBoxButtons.OKCancel;
            DialogResult      dr  = MessageBox.Show("确定删除该用户吗?", "提示", msb);

            if (dr == DialogResult.OK)
            {
                int    id  = int.Parse(userDataView.SelectedRows[0].Cells[0].Value.ToString());
                string sql = "delete from users where id='" + id + "';";
                DataBaseSys.ExecuteNonQuery(sql);
                MessageBox.Show("删除成功!");
                ManagerSystem_Load(null, null);
                this.tabControl1.SelectedIndex = 0;
            }
        }
Esempio n. 7
0
        private void buttonSerach_Click(object sender, EventArgs e)
        {
            string  machineGet = textMessage.Text;
            string  sql        = "select * from machines where machineId like'" + machineGet + "%'";
            DataSet dsMoHu     = DataBaseSys.GetDataSetValue(sql, "Tables");

            adressDataView.DataSource = dsMoHu.Tables[0];
            if (machineGet == "" || textMessage.ForeColor == SystemColors.InactiveCaption)
            {
                ManagerSystem_Load(null, null);
            }
            if (adressDataView.Rows.Count == 0)
            {
                MessageBox.Show("无类似机种!");
            }
        }
Esempio n. 8
0
 private void buttonDelAdress_Click(object sender, EventArgs e)
 {
     try
     {
         MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
         DialogResult      dr         = MessageBox.Show("确定要删除吗?", "提示", messButton);
         if (dr == DialogResult.OK)
         {
             int    a   = adressDataView.CurrentRow.Index;
             string id  = adressDataView.Rows[a].Cells[0].Value.ToString();
             string sql = "delete from machines where id='" + id + "'";
             DataBaseSys.ExecuteNonQuery(sql);
             adressDataView.Rows.Remove(adressDataView.CurrentRow);
             MessageBox.Show("删除成功!");
         }
     }
     catch (Exception)
     {
         MessageBox.Show("出现异常,删除失败!");;
     }
 }
Esempio n. 9
0
 private void adressDataView_CellValidated(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (b == true)
         {
             b = false;
             adressDataView.ReadOnly = true;
             if (adressDataView.Rows.Count > 0)
             {
                 int    id          = Convert.ToInt32(adressDataView.CurrentRow.Cells[0].Value.ToString());
                 string adressPoint = adressDataView.CurrentRow.Cells[3].Value.ToString();
                 if (myPoint != adressPoint)
                 {
                     if (adressPoint.Equals(""))
                     {
                         MessageBox.Show("坐标不能为空!");
                         adressDataView.CurrentRow.Cells[3].Value = myPoint;
                         return;
                     }
                     string[] styleSet    = adressPoint.Split(',');
                     bool     b           = true;//标记是否为数字
                     bool     isSame      = true;
                     string   isSamePoint = "";
                     for (int i = 0; i < styleSet.Length; i++)
                     {
                         if (styleSet[i].Length < 2)
                         {
                             styleSet[i] = "0" + styleSet[i];
                         }
                         b = IsInt(styleSet[i]);
                     }
                     string newPoints = string.Join(",", styleSet);
                     if (styleSet.Length % 2 == 1 || !b)
                     {
                         MessageBox.Show("坐标及格式不正确!请重新填写!"); adressDataView.CurrentRow.Cells[3].Value = myPoint; return;
                     }
                     else
                     {
                         if (getTopUnder(styleSet))
                         {
                             for (int i = 0; i < styleSet.Length; i++)
                             {
                                 isSamePoint += styleSet[i];
                             }
                             string[]         isSamePoints = Regex.Replace(isSamePoint.Replace(",", ""), @"(\w{4})", "$1,").Trim(',').Split(',');
                             HashSet <string> hashSet      = new HashSet <string>();
                             for (int i = 0; i < isSamePoints.Length; i++)
                             {
                                 hashSet.Add(isSamePoints[i]);
                                 MessageBox.Show(hashSet.Count + "--" + isSamePoints.Length);
                             }
                             if (hashSet.Count != isSamePoints.Length)
                             {
                                 isSame = false;
                             }
                             if (isSame)
                             {
                                 MessageBoxButtons messButtonUpdate = MessageBoxButtons.OKCancel;
                                 DialogResult      dr = MessageBox.Show("确定修改吗?", "提示", messButtonUpdate);
                                 if (dr == DialogResult.OK)
                                 {
                                     string pointNum = (styleSet.Length / 2) < 10 ? "0" + (styleSet.Length / 2) : (styleSet.Length / 2).ToString();
                                     //更新语句
                                     string sql = "update machines set childNumber='" + pointNum + "' ,adressNumber='" + newPoints + "' where id= '" + id + "'";
                                     DataBaseSys.ExecuteNonQuery(sql);
                                     adressDataView.CurrentRow.Cells[2].Value    = pointNum;
                                     adressDataView.CurrentRow.Cells[3].Value    = newPoints;
                                     adressDataView.CurrentRow.Cells[3].ReadOnly = true;
                                     MessageBox.Show("修改成功!");
                                 }
                                 else
                                 {
                                     adressDataView.CurrentRow.Cells[3].Value = myPoint;
                                     isSame = true;
                                 }
                             }
                             else
                             {
                                 adressDataView.CurrentRow.Cells[3].Value = myPoint;
                                 isSame = true;
                                 MessageBox.Show("请您修改坐标,不能存在2组或多组一样坐标点!");
                             }
                         }
                         else
                         {
                             adressDataView.CurrentRow.Cells[3].Value = myPoint;
                             isSame = true;
                             MessageBox.Show("坐标过大或不能为0或负数!");
                         }
                     }
                 }
             }
         }
     }
     catch (Exception)
     {
         MessageBox.Show("修改失败!只支持修改坐标");
         adressDataView.CurrentRow.Cells[3].Value = myPoint;
         return;
     }
 }
Esempio n. 10
0
 //下位机串口2接收数据
 private void sp2_DataReceived(object sender, EventArgs e)
 {
     System.Threading.Thread.Sleep(100);
     this.Invoke((EventHandler)(delegate
     {  System.Threading.Thread.Sleep(100);                             
         Byte[] rb = new Byte[sp2.BytesToRead];
         sp2.Read(rb, 0, rb.Length);
         //手动状态下
         if (radioHand.Checked)
         {
             //存储回复FF信号的板子编号(04)
             if (rb[3] == 0XFF)
             {
                 strs += rb[2].ToString();
             }
             else//(03)
             {
                 string xYPoints = childToPcPointChange(rb);
                 childRandnum += rb[2].ToString();                       
                 adressPoints += xYPoints;
                 MessageBox.Show("定位成功子板id为" + childRandnum + "+-------收到的板子ID为:" + strs);
                 if (strs == childRandnum&&RexvData.Text!="")
                 {
                     lightSet.ForeColor = Color.Green;
                     string pointDingWei = "";
                     for (int i = 0; i < adressPoints.Split(',').Length; i++)
                     {
                         pointDingWei += adressPoints.Split(',')[i];
                     }
                     string[] pointDingWeiStrs = Regex.Replace(pointDingWei, @"(\w{4})", "$1,").Trim(',').Split(',');
                     DataTable dt = new DataTable();
                     dt.Rows.Add();
                     for (int i = 0; i < pointDingWeiStrs.Length; i++)
                     {
                         dt.Columns.Add("P" + (i + 1), System.Type.GetType("System.String"));
                         dt.Rows[0][i] = pointDingWeiStrs[i];
                     }
                     DataSet ds2 = new DataSet();
                     ds2.Tables.Add(dt);
                     //sda.Fill(ds2);
                     dataAdressView1.DataSource = ds2.Tables[0];
                     dataAdressView1.ReadOnly = true;
                     string machineId = RexvData.Text;
                     string newAdrsssPints = adressPoints.TrimEnd(',');
                     int n = adressPoints.Split(',').Length / 2;
                     string pointNumber = n > 10 ? n.ToString() : "0" + n;
                     String sqlHandMes = "select id from machines where machineId='" + RexvData.Text + "';";
                     MySqlDataReader msdrHand=DataBaseSys.GetDataReaderValue(sqlHandMes);
                     if (msdrHand.HasRows)
                     {
                         MessageBoxButtons ButtonHandAdress = MessageBoxButtons.OKCancel;
                         DialogResult drHand = MessageBox.Show("定位成功,存在相关的机种,需要修改吗?", "提示", ButtonHandAdress);
                         if (drHand == DialogResult.OK) {
                             if (!vip) MessageBox.Show("您没有管理员权限无法修改!");
                             else
                             {
                                 string sql = "update machines set childNumber='" + pointNumber + "' ,adressNumber='" + newAdrsssPints + "' where machineId= '" + RexvData.Text + "'";
                                 DataBaseSys.ExecuteNonQuery(sql);
                                 MessageBox.Show("修改成功!");
                             }                                                              }
                     }
                     else
                     {                         
                     MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
                     DialogResult dr = MessageBox.Show("定位成功,无相关的机种,确定添加吗?", "提示", messButton);
                     if (dr == DialogResult.OK)//如果点击“确定”按钮
                     {
                         string addSql = "insert into machines(machineId,childNumber,adressNumber) values('" + machineId + "','" + pointNumber + "','" + newAdrsssPints + "')";
                         DataBaseSys.ExecuteNonQuery(addSql);
                         MessageBox.Show("添加成功!");
                         }                                
                     }
                     adressPoints = "";
                     MessageBoxButtons messButtonAdd = MessageBoxButtons.OKCancel;
                     DialogResult dr2 = MessageBox.Show("需要继续手动添加新机种吗?", "提示", messButtonAdd);
                     if (dr2 == DialogResult.OK)
                     {
                         insertButton.Enabled = false;
                         radioHand_MouseClick(null, null);                              
                     }
                     else radioAuto.Checked = true;
                 }
             }
         }
         //自动状态下
         else
         {
             b++;
             if (rb[3] == 0X00)//纠错成功回复00(05)
             {
                 childNumList.Remove("0" + rb[2]);
                 b = b - 1;                    
                 if (childNumList.Count==0)
                 {
                     for (int k = 0; k < dataAdressView1.ColumnCount; k++)
                     {
                         dataAdressView1.Rows[0].Cells[k].Style.ForeColor = Color.Black;                                                                                              
                     }
                     lightSet.ForeColor = Color.Green;
                     timer1.Enabled = false;
                     timer1.Stop();
                     childNumList.Clear();
                     return;
                 }                                                 
                 }
             else//有错误子板回复带坐标的(05)
             {
                 string[] pointNums = Regex.Replace(dataBasePoints, @"(\w{4})", "$1,").Trim(',').Split(',');//把数据库查的坐标以一组4位以逗号分隔
                 string xYPoints = childToPcPointChange(rb);
                 autoAdressPoints += xYPoints;
                 string[] autoPoints= Regex.Replace(autoAdressPoints.Replace(",",""), @"(\w{4})", "$1,").Trim(',').Split(',');//把下位机传来查的坐标以一组4位以逗号分隔                                  
                 for (int i = 0; i < pointNums.Length; i++)
                 {
                     for (int j = 0; j < autoPoints.Length; j++)
                     {
                         if (pointNums[i] == autoPoints[j])
                         {
                             sameMesList.Add(autoPoints[j]);
                             break ;
                         }
                     }
                 }
                 /*去重
                 for (int i = 0; i < sameMesList.Count - 1; i++)
                 {
                     for (int j = i + 1; j < sameMesList.Count; j++)
                     {
                         if (sameMesList[i].Equals(sameMesList[j]))
                         {
                             sameMesList.RemoveAt(j);
                             j--;
                         }
                     }
                 }*/
             }
             if (b == childNumList.Count)
             {
                 string s = "";
                 foreach (var item in sameMesList)
                 {
                     s+= item.ToString()+",";
                 }
                 for (int k = 0; k < dataAdressView1.ColumnCount; k++)
                 {
                     //string strData = dataAdressView1[j, 0].Value.ToString();
                     for (int j = 0; j < sameMesList.Count; j++)
                     {
                         if (dataAdressView1.Rows[0].Cells[k].Value.ToString() == sameMesList[j].ToString())
                         {
                             dataAdressView1.Rows[0].Cells[k].Style.ForeColor = Color.Red;
                             lightSet.ForeColor = Color.Red;
                             break;
                         }
                         else dataAdressView1.Rows[0].Cells[k].Style.ForeColor = Color.Black;
                     }
                 }
                 autoAdressPoints = "";
                 sameMesList.Clear();
                 b = 0;
             }
         }
         sp2.DiscardInBuffer();
     }));
 }  
Esempio n. 11
0
        string childRandnum = "";//手动定位成功的子板号
        //扫码枪串口1接收数据
        private void sp_DataReceived(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(100);
            this.Invoke((EventHandler)(delegate
            {
                try
                {
                    dataBasePoints = "";
                    lightSet.ForeColor = Color.Black;
                    if (radioAuto.Checked)
                    {
                        childNumList.Clear();
                        RexvData.Text = "";
                        Byte[] rb = new Byte[sp.BytesToRead];
                        UTF8Encoding utf = new UTF8Encoding();
                        sp.Read(rb, 0, rb.Length);//接收到数据从缓冲区以字节数组形式读出来                                                                      
                        string[] ds = utf.GetString(rb).Split(',');
                        string machineNum = ds[0];
                        string pointNumber = ds[1].Substring(0, 2);
                        string adressPoint = ds[1].Substring(2, (ds[1].Length) - 2);
                        string newStyle = Regex.Replace(adressPoint, @"(\w{2})", "$1,").Trim(',');
                        RexvData.Text = machineNum;
                        String sql = "select childNumber,adressNumber from machines where machineId='" + machineNum + "';";
                        MySqlDataReader rder = DataBaseSys.GetDataReaderValue(sql);
                        if (rder.Read())
                        {
                            string[] point = rder[1].ToString().Split(',');//4                      
                            string pointOld = "";
                            for (int i = 0; i < point.Length; i++)
                            {
                                pointOld += point[i];
                            }
                            dataBasePoints = pointOld;
                            string[] pointNums = Regex.Replace(pointOld, @"(\w{4})", "$1,").Trim(',').Split(',');
                            string[] twoPoint = Regex.Replace(adressPoint, @"(\w{4})", "$1,").Trim(',').Split(',');
                            if (!Enumerable.SequenceEqual(pointNums, twoPoint))
                            {
                                MessageBoxButtons messButton1 = MessageBoxButtons.OKCancel;
                                DialogResult dr1 = MessageBox.Show("已有该机种,坐标不一致!需要修改吗?", "提示", messButton1);
                                if (dr1 == DialogResult.OK)//如果点击“确定”按钮
                                {
                                    if (!vip) MessageBox.Show("您没有管理员权限无法修改!");
                                    else
                                    {
                                        string sqlAuto = "update machines set childNumber='" + pointNumber + "' ,adressNumber='" + newStyle + "' where machineId= '" + RexvData.Text + "'";
                                        DataBaseSys.ExecuteNonQuery(sqlAuto);
                                        pointNums = twoPoint;
                                        String sqlUpdate = "select childNumber,adressNumber from machines where machineId='" + RexvData.Text + "';";
                                        MySqlDataReader rderUpdate = DataBaseSys.GetDataReaderValue(sqlUpdate);
                                        rder = rderUpdate;
                                        if (rderUpdate.Read())
                                        {
                                            string[] pointUpdate = rderUpdate[1].ToString().Split(',');//4                      
                                            string pointOldUpdate = "";
                                            for (int i = 0; i < pointUpdate.Length; i++)
                                            {
                                                pointOldUpdate += pointUpdate[i];
                                            }
                                            dataBasePoints = pointOldUpdate;
                                            MessageBox.Show("修改成功!");
                                        }
                                    }
                                }
                            }
                            DataTable dt = new DataTable();
                            dt.Rows.Add();
                            for (int i = 0; i < pointNums.Length; i++)
                            {
                                dt.Columns.Add("P" + (i + 1), System.Type.GetType("System.String"));
                                dt.Rows[0][i] = pointNums[i];
                            }
                            DataSet ds2 = new DataSet();
                            ds2.Tables.Add(dt);
                            //sda.Fill(ds2);
                            dataAdressView1.DataSource = ds2.Tables[0];
                            dataAdressView1.ReadOnly = true;
                            //dataAdressView1.Rows[0].Cells[0].Style.BackColor = Color.Red;

                            //自动模式下解析数据库存放的坐标地址用来与子板通讯
                            string[] adressPointData = rder[1].ToString().Split(',');
                            // string pointNum = msr[0].ToString();
                            string[] adressPoint1 = getChildNum(adressPointData);
                            //adressPoint1 = adressPoint1.Where(sP => !string.IsNullOrEmpty(sP)).ToArray();
                            for (int i = 0; i < adressPoint1.Length; i++)
                            {
                                if (!string.IsNullOrEmpty(adressPoint1[i]))
                                {
                                    PortOrder po = new PortOrder(Direction.AB, "02", "0" + (i + 1), "0" + adressPoint1[i].Length / 4, adressPoint1[i]);
                                    childNumList.Add("0" + (i + 1));
                                    sp2.Write(hexToString(po.getConnOrder()), 0, hexToString(po.getConnOrder()).Length);
                                }
                            }
                            //定时向子板发送05自动读取命令以收到错误坐标指令
                            timer1.Enabled = true;
                            timer1.Start();
                        }
                        else
                        {
                            MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
                            DialogResult dr = MessageBox.Show("检测到是新机种!确定添加吗?", "提示", messButton);
                            if (dr == DialogResult.OK)//如果点击“确定”按钮
                            {
                                try
                                {
                                    string addSql = "insert into machines(machineId,childNumber,adressNumber) values('" + machineNum + "','" + pointNumber + "','" + newStyle + "')";
                                    DataBaseSys.ExecuteNonQuery(addSql);
                                    MessageBox.Show("添加成功!请重新扫描。");
                                }
                                catch (Exception)
                                {
                                    MessageBox.Show("添加失败!");
                                }
                            }
                            else {RexvData.Text = ""; dataAdressView1.DataSource = new DataTable(); }
                            sp.DiscardInBuffer();
                        }
                    }
                }
                catch (Exception x)
                {
                    MessageBox.Show("出现异常错误!" + x.ToString());
                }
            }));
        }