ARSRushAnswer.cs
3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SunVoteARSPPT
{
public class ARSRushAnswer : IResponse
{
/// <summary>
/// 选择类
/// </summary>
public SunVote.RushAnswer RushAnswer = null;
/// <summary>
/// 构造函数
/// </summary>
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);
}
/// <summary>
/// 键盘状态事件
/// </summary>
/// <param name="BaseTag"></param>
/// <param name="KeyID"></param>
/// <param name="KeyValue"></param>
/// <param name="KeyTime"></param>
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; }
/// <summary>
/// 反馈类型
/// </summary>
public ResponseType ResponseType { get; set; }
/// <summary>
/// 基站连接
/// </summary>
public SunVote.BaseConnection BaseConnection { get; set; }
/// <summary>
/// 启用
/// </summary>
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);
}
}
/// <summary>
/// 停止
/// </summary>
public void Stop()
{
if (GlobalInfo.GetSdkType() == 0)
RushAnswer.Stop();
else if (GlobalInfo.GetSdkType() == 1)
FrmPvsServer.GetFrmPvs().VoteStop();
}
#endregion
}
}