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; | |||
|  |         } | |||
|  |     } | |||
|  | } |