105 lines
3.0 KiB
C#
105 lines
3.0 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Runtime.Serialization;
|
|||
|
using System.ServiceModel;
|
|||
|
using System.ServiceModel.Web;
|
|||
|
using System.Text;
|
|||
|
using DeiNiu.Utils;
|
|||
|
|
|||
|
namespace WcfService2
|
|||
|
{
|
|||
|
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。
|
|||
|
public class Service1 : IService1
|
|||
|
{
|
|||
|
public string GetData(int value)
|
|||
|
{
|
|||
|
return string.Format("You entered: {0}", value);
|
|||
|
}
|
|||
|
|
|||
|
public CompositeType GetDataUsingDataContract(CompositeType composite)
|
|||
|
{
|
|||
|
if (composite == null)
|
|||
|
{
|
|||
|
throw new ArgumentNullException("composite");
|
|||
|
}
|
|||
|
if (composite.BoolValue)
|
|||
|
{
|
|||
|
composite.StringValue += "Suffix";
|
|||
|
}
|
|||
|
return composite;
|
|||
|
}
|
|||
|
|
|||
|
public bool lightTables(int led_color, int port,
|
|||
|
string[] ele_lab_id, string[] ele_address, string[] Out_count )
|
|||
|
{
|
|||
|
elelab.pick.init_port(enumLabelPickType.pick);
|
|||
|
Util.WAVE_CURRENT_PICK_STATUS.Clear();
|
|||
|
Util.WAVE_CURRENT_LIGHTS_STATUS.Clear();
|
|||
|
|
|||
|
port = 10;
|
|||
|
ele_lab_id = new string[3];
|
|||
|
ele_address = new string[3];
|
|||
|
Out_count = new string[3];
|
|||
|
for (int i = 1; i < 4; i++)
|
|||
|
{
|
|||
|
ele_lab_id[i - 1] = i + "";
|
|||
|
ele_address[i - 1] = i + "";
|
|||
|
Out_count[i - 1] = i + "";
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
for (int i = 1; i < 4; i++)
|
|||
|
{
|
|||
|
led_color = i;
|
|||
|
|
|||
|
elelab.pick.make_data(null, get_byte(led_color + ""), get_byte(led_color + ""), get_byte(port + ""), ele_lab_id, ele_address, Out_count, 0);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
byte get_byte(string data)
|
|||
|
{
|
|||
|
int length = data.Length;
|
|||
|
List<string> str = new List<string>();
|
|||
|
for (int i = 0; i < length; i++)
|
|||
|
{
|
|||
|
string result = data.Substring(i, 1);
|
|||
|
char aaaq = Convert.ToChar(result);
|
|||
|
if ((aaaq >= 0x30) && (aaaq <= 0x39))
|
|||
|
{
|
|||
|
str.Add(data.Substring(i, 1));
|
|||
|
}
|
|||
|
}
|
|||
|
if (str.Count == 1)
|
|||
|
{
|
|||
|
return Convert.ToByte(str[0]);
|
|||
|
}
|
|||
|
else if (str.Count == 2)
|
|||
|
{
|
|||
|
int len = Convert.ToInt16(str[0]);
|
|||
|
int len1 = Convert.ToInt16(str[1]);
|
|||
|
len = len * 10 + len1;
|
|||
|
return Convert.ToByte(len);
|
|||
|
}
|
|||
|
else if (str.Count == 3)
|
|||
|
{
|
|||
|
int len = Convert.ToInt16(str[0]);
|
|||
|
int len1 = Convert.ToInt16(str[1]);
|
|||
|
int len2 = Convert.ToInt16(str[2]);
|
|||
|
|
|||
|
len = len * 100 + len1 * 10 + len2;
|
|||
|
return Convert.ToByte(len);
|
|||
|
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|