private void OnReceive(IAsyncResult ar) { try { clientSocket.EndReceive(ar); CNetData msgReceived = new CNetData(byteData); if (_event_devnetdata != null) { _event_devnetdata(msgReceived); } byteData = new byte[1024]; clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, new AsyncCallback(OnReceive), null); } catch (ObjectDisposedException) { } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "CNetClient_OnReceive", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } }
private void ExamForm_FormClosing(object sender, FormClosingEventArgs e) { timer1.Stop(); //if (videoTimer != null) // videoTimer.Stop(); //if (Directory.Exists(tempBmpDir)) // foreach (string file in Directory.GetFiles(tempBmpDir)) // File.Delete(file); cm.Close(); StateManager.Close(); if (_isExam) { student.Close(); idcardinfo.CloseIDcardDev(); if (settings.IsNetwork) { CNetData data = new CNetData(); data.cmdCommand = Command.Logout; data.intDevnum = 0; data.strZjbh = null; Client.SendData(data); Client.Close(); } } this.camera.CloseCamera(); //displaycomm.Close(); }
private void buttonX3_Click(object sender, EventArgs e) { if (settings.IsNetwork) { CNetData data = new CNetData(); data.cmdCommand = Command.Updatelist; data.intDevnum = settings.Devnum; Client.SendData(data); } }
private void OnReceive(IAsyncResult ar) { try { clientSocket.EndReceive(ar); bool wexit = false; int tmpcp = 0;//数组位置指针 int tmpsize = 0; while (!wexit) { tmpsize = BitConverter.ToInt32(byteData, tmpcp); if ((tmpsize == 0) || (tmpsize > 100)) { wexit = true; } else { byte[] tmpdata = new byte[tmpsize]; Array.Copy(byteData, tmpcp, tmpdata, 0, tmpsize); tmpcp = tmpcp + tmpsize; CNetData msgReceived = new CNetData(tmpdata); if (_event_devnetdata != null) { _event_devnetdata(msgReceived); } } } //CNetData msgReceived = new CNetData(byteData); //if (_event_devnetdata != null) //{ // _event_devnetdata(msgReceived); //} byteData = new byte[1024]; clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, new AsyncCallback(OnReceive), null); } catch (ObjectDisposedException) { } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "CNetClient_OnReceive", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } }
public void SendData(CNetData datasend) { byte[] b = datasend.ToByte(); try { clientSocket.Send(b, 0, b.Length, SocketFlags.None); } catch { } }
private void buttonX2_Click(object sender, EventArgs e) { if (settings.IsNetwork) { CNetData data = new CNetData(); data.cmdCommand = Command.Jjks; data.intDevnum = settings.Devnum; data.strZjbh = student.Zkzmbh; Client.SendData(data); } InitStudent(); ButtonStart.Text = "申请考试"; buttonX2.Enabled = false; //displaycomm.ShowText("准备考试"); }
private void ExamForm_Load(object sender, EventArgs e) { camera = new zhuangkao.video.Camera(settings.YuntaiChannel); camera.Dock = DockStyle.Fill; this.panelExCameraWhole.Controls.Add(camera); this.Move += camera.Camera_Move; this.Resize += camera.Camera_Resize; if (_isExam) { //同步排队列表 if (settings.IsNetwork) { CNetData data = new CNetData(); data.cmdCommand = Command.Updatelist; data.intDevnum = settings.Devnum; Client.SendData(data); } } }
private void OnConnect(IAsyncResult ar) { try { clientSocket.EndConnect(ar); //We are connected so we login into the server CNetData msgToSend = new CNetData(); msgToSend.cmdCommand = Command.Login; msgToSend.intDevnum = intDevnum; msgToSend.strZjbh = null; byte[] b = msgToSend.ToByte(); //Send the message to the server clientSocket.BeginSend(b, 0, b.Length, SocketFlags.None, new AsyncCallback(OnSend), null); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "CNetClient_OnConnect", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } }
private void StartButton_Click(object sender, EventArgs e) { if (_isExam) { if (ButtonStart.Text == "申请考试") { if (settings.IsNetwork) { CNetData GetStudent_data = new CNetData(); GetStudent_data.cmdCommand = Command.GetStudent; GetStudent_data.intDevnum = settings.Devnum; Client.SendData(GetStudent_data); } else { getStudentInfoFromLocal(); } return; } //TextBox_Input.Enabled = false; } for (int i = 0; i < 6; i++) { //gan[i].Stat = cm.CurrData.gan[i]; //xian[i].Stat = cm.CurrData.xian[i]; //if (i == 3) //{ // xian[6].Stat = cm.CurrData.xian[3];//4线隔断的水平线段,只用于显示 // xian[7].Stat = cm.CurrData.xian[3]; // xian[8].Stat = cm.CurrData.xian[3]; //} //if (cm.CurrData.gan[i] == 0) if (gan[i].Stat == 0) { MessageBox.Show("请检查第" + (i + 1).ToString() + "杆信号是否正常!", "提示"); return; } //if (cm.CurrData.xian[i] == 0) if (xian [i].Stat == 0) { MessageBox.Show("请检查第" + (i + 1).ToString() + "线信号是否正常!", "提示"); return; } } isstart = true; CState.stopcount = 0; toolStripStatusLabel1.Text = "状态:开始考试"; myTrace.Initial(che); Hkey.StartHotkey(); pictureBox1.Focus(); if (_isExam) { CVoice.Play(student.Xm + ",请上车"); ButtonStart.Enabled = false; //储存考生照片 if (!Directory.Exists(Environment.CurrentDirectory + @"\ScreenShot\")) { Directory.CreateDirectory(Environment.CurrentDirectory + @"\ScreenShot\"); } if (!camera.CaptureImage(Environment.CurrentDirectory + @"\ScreenShot\" + student.Sfzmhm + "_" + Guid.NewGuid().ToString(null) + ".bmp")) { MessageBox.Show("拍照失败!"); } if (settings.IsNetwork) { CNetData tmpdata = new CNetData(); tmpdata.cmdCommand = Command.Ksks; tmpdata.intDevnum = settings.Devnum; Client.SendData(tmpdata); } buttonX2.Enabled = false; } else { buttonX4.Enabled = true; CVoice.Play("请上车"); } camera.Channel = settings.GaoChannel; if (_isExam) { //在此处加摄像开始 //bmpCounter = 0; //if (Directory.Exists(tempBmpDir)) // foreach (string file in Directory.GetFiles(tempBmpDir)) // File.Delete(file); //videoTimer = new System.Windows.Forms.Timer(); //videoTimer.Interval = 100; //videoTimer.Tick += new EventHandler(videoTimer_Tick); //videoTimer.Start(); } //displaycomm.ShowText("正在考试"); StateManager.CurrState = statemanager.State0; StateManager.CurrState.Start(); ButtonStart.Enabled = false; }
public void KaoShiEndFun(int kscj, string sm)//考试结束处理函数 { //displaycomm.ShowText(sm); StateManager.Close(); isstart = false; Hkey.StopHotkey(); //MessageBox.Show(sm+"考试结束!"); //button1.Enabled = true; if (_isExam) { //在此处添加摄像停止并保存功能 //videoTimer.Stop(); //string videoDir = Environment.CurrentDirectory + @"\Video\"; //if (!Directory.Exists(videoDir)) // Directory.CreateDirectory(videoDir); //string destPath = videoDir + student.Lsh + Guid.NewGuid().ToString() + ".avi"; //makeVideo(tempBmpDir, destPath); if ((kscj == 1) || (student.HuiHeShu == 2)) { //打印合格 //清除输入内容,解除输入框只读 //此处为河南省考表打印格式,需根据地方需求而改变 //myprint.ksddstr = settings.Ksdd; //myprint.ksrqstr = System.DateTime.Now.ToString(); //myprint.ksxmstr = student.Xm; //myprint.ksyxmstr = student.Ksy1; //myprint.kscjstr = "1"; //myprint.Print(); //取消注释即可打印 //-----------写入考试结果到数据库-------------- if (student.HuiHeShu == 1) { student.KS1 = sm; label_ks1.Text = "第一回合考试:" + sm; } else { student.KS2 = sm; label_ks2.Text = "第二回合考试:" + sm; } //Bitmap bm = new Bitmap(pictureBoxTrace.Image); //bm.Save(@"C:\" + Guid.NewGuid().ToString(null) + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp); student.Kscj = kscj; //写入考试成绩 student.Kscs++; //考试次数加1 student.Ksy1 = comboBox1.Text; student.Ksy2 = comboBox2.Text; if (!student.SaveInfo()) { MessageBox.Show("数据库写错误!"); } else { //考试完成,发送kswc命令到点名中心 if (settings.IsNetwork) { CNetData tmpdata = new CNetData(); tmpdata.cmdCommand = Command.Kswc; tmpdata.intDevnum = settings.Devnum; tmpdata.strZjbh = student.Zkzmbh; Client.SendData(tmpdata); ButtonStart.Text = "申请考试"; ButtonStart.Enabled = true; } InitStudent(); } CVoice.Play(student.Xm + "?" + sm + "?考试结束"); MessageBox.Show(sm + "! 考试结束!"); //------------初始化输入信息---------------- //TextBox_Input.Enabled = true; //TextBox_Input.Text = ""; //for (int i = 1; i < 7; i++) //{ // StudentText[i].ReadOnly = false; // StudentText[i].Text = ""; //} //StudentText[0].Focus(); student.Clear(); label_ks1.Text = "第一回合考试:"; label_ks2.Text = "第二回合考试:"; student.GetKsNumber(); //得到考试人数 label_pass.Text = "合格:" + student.PassNumber.ToString() + "人"; label_nopass.Text = "不合格:" + student.NoPassNumber.ToString() + "人"; label_sum.Text = "共计:" + Convert.ToString(student.PassNumber + student.NoPassNumber) + "人"; } else { label_ks1.Text = "第一回合考试:" + sm; CVoice.Play(student.Xm + "?" + sm + "?第一回合结束"); MessageBox.Show(sm + "! 第一回合结束!"); student.KS1 = sm; student.HuiHeShu = 2; ButtonStart.Enabled = true; } if (!Directory.Exists(Environment.CurrentDirectory + @"\Trace\")) { Directory.CreateDirectory(Environment.CurrentDirectory + @"\Trace\"); } SaveTrace(Environment.CurrentDirectory + @"\Trace\" + student.Sfzmhm + "_" + Guid.NewGuid().ToString(null) + ".bmp"); } else { if (kscj == 1) { MessageBox.Show(sm + "!"); } else { CVoice.Play(sm + ",练习考试不合格"); MessageBox.Show(sm + ",练习考试不合格!"); } buttonX4.Enabled = false; } ChangDiInit(); }
private void netclient_Event_Devnetdata(CNetData data) { switch (data.cmdCommand) { case Command.Zkzhm: if (label_xm.InvokeRequired || label_lsh.InvokeRequired || label_zkzhm.InvokeRequired) { label_xm.BeginInvoke(new Labelinvoke(netclient_Event_Devnetdata), data); } else { if (student.GetStudentInfo(data.strZjbh)) { label_xm.Text = "姓名:" + student.Xm; label_lsh.Text = "流水号:" + student.Lsh; label_zkzhm.Text = "准考证:" + student.Zkzmbh; label_sfzhm.Text = "身份证:" + student.Sfzmhm; label_kscx.Text = "考试车型:" + student.Kscx; label_kscs.Text = "考试次数:" + student.Kscs.ToString(); label_jbr.Text = "经办人:" + student.Jbr; ButtonStart.Text = "开始考试"; //displaycomm.ShowText(student.Xm); buttonX2.Enabled = true; ButtonStart.Focus(); } } break; case Command.AddStudent: if (StudentlistView.InvokeRequired) { StudentlistView.BeginInvoke(new Labelinvoke(netclient_Event_Devnetdata), data); } else { AddStudentforlistview(data.strZjbh, data.Xm); } break; case Command.DeleteStudent: if (StudentlistView.InvokeRequired) { StudentlistView.BeginInvoke(new Labelinvoke(netclient_Event_Devnetdata), data); } else { DeleteStudentforlistview(data.strZjbh); } break; case Command.ClearStudent: if (StudentlistView.InvokeRequired) { StudentlistView.BeginInvoke(new Labelinvoke(netclient_Event_Devnetdata), data); } else { ClearStudentlistview(); } break; } }