using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SunVoteARSPPT { public class ARSRushAnswer : IResponse { /// /// 选择类 /// public SunVote.RushAnswer RushAnswer = null; /// /// 构造函数 /// public ARSRushAnswer() { RushAnswer = new SunVote.RushAnswer(); //事件绑定 RushAnswer.KeyStatus += new SunVote.IRushAnswerEvents_KeyStatusEventHandler(RushAnswer_KeyStatus); //杨斌 2015-01-09 RushAnswer.KeyStatusSN += new SunVote.IRushAnswerEvents_KeyStatusSNEventHandler(RushAnswer_KeyStatusSN); //PVS事件。杨斌 2015-03-17 FrmPvsServer.GetFrmPvs().OnKeyVote += myPVS_KeyVote; TagSet = new TagSet(); } void RushAnswer_KeyStatusSN(string BaseTag, string KeySN, string KeyValue, double KeyTime) { ResponsePar ObjResponseValue = new ResponsePar(); ObjResponseValue.BaseTag = BaseTag; ObjResponseValue.KeyID = KeySN; ObjResponseValue.KeyValue = KeyValue; ObjResponseValue.Speed = KeyTime; if (ResponseEventHander != null) ResponseEventHander(ObjResponseValue); } void myPVS_KeyVote(int ID, int iMode, string sInfo) { string KeyValue = ""; double KeyTime = 0; ResponsePar ObjResponseValue = new ResponsePar(); //ObjResponseValue.BaseTag = BaseTag; ObjResponseValue.KeyID = ID.ToString(); string[] ary = sInfo.Split(new char[] { ',' }); KeyValue = ary[0]; if (ary.Length >= 2) double.TryParse(ary[1], out KeyTime); ObjResponseValue.KeyValue = KeyValue; ObjResponseValue.Speed = KeyTime; if (ResponseEventHander != null) ResponseEventHander(ObjResponseValue); } /// /// 键盘状态事件 /// /// /// /// /// void RushAnswer_KeyStatus(string BaseTag, int KeyID, string KeyValue, double KeyTime) { RushAnswer_KeyStatusSN(BaseTag, KeyID.ToString(), KeyValue, KeyTime); } #region IResponse 成员 public event ResponseEventHander ResponseEventHander; public TagSet TagSet { get; set; } /// /// 反馈类型 /// public ResponseType ResponseType { get; set; } /// /// 基站连接 /// public SunVote.BaseConnection BaseConnection { get; set; } /// /// 启用 /// public void Start() { if (GlobalInfo.GetSdkType() == 0) { //设置参数 RushAnswer.BaseConnection = (SunVote.BaseConnection)BaseConnection; RushAnswer.Mode = 0; RushAnswer.StartMode = 1; RushAnswer.Start(); } else if (GlobalInfo.GetSdkType() == 1) { int pvsVoteMode = 6; string pvsVoteSetting = "6"; FrmPvsServer.GetFrmPvs().VoteStart(pvsVoteMode, pvsVoteSetting); } } /// /// 停止 /// public void Stop() { if (GlobalInfo.GetSdkType() == 0) RushAnswer.Stop(); else if (GlobalInfo.GetSdkType() == 1) FrmPvsServer.GetFrmPvs().VoteStop(); } #endregion } }