| 
					
				 | 
			
			
				@@ -99,19 +99,9 @@ bool TCLCommand::parse_pair_key(std::string& RetValue, std::string strLine, TCHA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int TCLCommand::parse_cmds_from_file(const TCHAR* file_name, std::vector<CommandParam>& vtCommandParams) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR buf[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR name[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR option[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR head[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR code[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR param[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR multicode[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR cmd_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR read_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int ret = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FILE* fp = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR buf[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!file_name || file_name[0] == '\0') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ret; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -131,40 +121,9 @@ int TCLCommand::parse_cmds_from_file(const TCHAR* file_name, std::vector<Command 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#if _MSC_VER >= 1200 && _MSC_VER < 1500 // VC6.0~8.0  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (sscanf(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, option, head, code, param, multicode, read_wait_time, cmd_wait_time) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#elif _MSC_VER >= 1500  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //if ( _stscanf_s(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) // 等价下面; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (_stscanf_s(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%s", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CommandParam cp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.name, name, _T("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.head, head, _T("head")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.code, code, _T("cmd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.param, param, _T("param")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            std::string value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, option, _T("option")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!_tcsicmp(value.c_str(), _T("None"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (!_tcsicmp(value.c_str(), _T("Get"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_Get; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (!_tcsicmp(value.c_str(), _T("Set"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, multicode, _T("returnParam")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.returnParam = !_tcsicmp(value.c_str(), _T("true")) ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, read_wait_time, _T("readWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.read_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, cmd_wait_time, _T("cmdWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.cmd_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.UpdateRtnCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommandParam cp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ParseCommandFromString(buf, cp)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             vtCommandParams.push_back(cp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ret = 0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,14 +137,6 @@ void TCLCommand::parse_cmds_from_string(std::string str, std::vector<CommandPara 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int nPos(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TCHAR buf[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR name[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR option[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR head[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR code[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR param[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR multicode[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR cmd_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TCHAR read_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,41 +177,58 @@ void TCLCommand::parse_cmds_from_string(std::string str, std::vector<CommandPara 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             str = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommandParam cp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ParseCommandFromString(buf, cp)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vtCommandParams.push_back(cp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } while (str.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bool TCLCommand::ParseCommandFromString(std::string str, CommandParam &cmdParam) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR name[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR option[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR head[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR code[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR param[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR multicode[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR cmd_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TCHAR read_wait_time[MAX_PATH] = { 0 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #if _MSC_VER >= 1200 && _MSC_VER < 1500 // VC6.0~8.0  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (sscanf(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, option, head, code, param, multicode, read_wait_time, cmd_wait_time) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (sscanf(str.c_str(), "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, option, head, code, param, multicode, read_wait_time, cmd_wait_time) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #elif _MSC_VER >= 1500  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //if ( _stscanf_s(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) // 等价下面; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (_stscanf_s(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%s", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //if ( _stscanf_s(buf, "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;]", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) // 等价下面; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (_stscanf_s(str.c_str(), "%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];%s", name, MAX_PATH, option, MAX_PATH, head, MAX_PATH, code, MAX_PATH, param, MAX_PATH, multicode, MAX_PATH, read_wait_time, MAX_PATH, cmd_wait_time, MAX_PATH) == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CommandParam cp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.name, name, _T("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.head, head, _T("head")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.code, code, _T("cmd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(cp.param, param, _T("param")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            std::string value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, option, _T("option")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!_tcsicmp(value.c_str(), _T("None"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (!_tcsicmp(value.c_str(), _T("Get"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_Get; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (!_tcsicmp(value.c_str(), _T("Set"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cp.nOption = CMDOPT_Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, multicode, _T("returnParam")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.returnParam = !_tcsicmp(value.c_str(), _T("true")) ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, read_wait_time, _T("readWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.read_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            parse_pair_key(value, cmd_wait_time, _T("cmdWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.cmd_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cp.UpdateRtnCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(cmdParam.name, name, _T("name")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(cmdParam.head, head, _T("head")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(cmdParam.code, code, _T("cmd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(cmdParam.param, param, _T("param")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        std::string value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(value, option, _T("option")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!_tcsicmp(value.c_str(), _T("None"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cmdParam.nOption = CMDOPT_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if (!_tcsicmp(value.c_str(), _T("Get"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cmdParam.nOption = CMDOPT_Get; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if (!_tcsicmp(value.c_str(), _T("Set"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cmdParam.nOption = CMDOPT_Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(value, multicode, _T("returnParam")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmdParam.returnParam = !_tcsicmp(value.c_str(), _T("true")) ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(value, read_wait_time, _T("readWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmdParam.read_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_pair_key(value, cmd_wait_time, _T("cmdWaitTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmdParam.cmd_wait_time = pares_time_value(value.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cmdParam.UpdateRtnCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            vtCommandParams.push_back(cp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } while (str.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bool TCLCommand::GetCommandParams(std::string name, CommandParam& cmdPara) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -512,7 +480,7 @@ bool TCLCommand::TheSecondPartForFC(CommandParam& cmdPara, std::string data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 返回的数据; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ++nDataPos;// 返回码占一字节; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ++nDataPos;// code返回码占一字节; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #if 0 // FireTV的返回的指令参数与code没有规律对应;returnParam要外部根据协议来判断; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (cmdPara.returnParam) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 返回的指令参数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -592,8 +560,7 @@ void TCLCommand::PackingCommand(CommandParam& cmdPara, LPVOID data, const int& d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         szlen[0] = (len >> 8) & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         szlen[1] = len & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         command.insert(2, (char*)szlen, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 2位crc + 1位长度; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         len = command.size() + 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //if ( _tcsicmp(cmdPara.code.c_str(), "99 00") == 0 ) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -649,7 +616,10 @@ bool TCLCommand::ParseResultString(CommandParam& cmdPara, std::string data, cons 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case CMDOPT_Get: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case CMDOPT_Set: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return TheSecondPart(cmdPara, data.substr(5)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ( _tcsicmp(cmdPara.code.c_str(), _T("FC")) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return TheSecondPart(cmdPara, data.substr(5)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return TheSecondPartForFC(cmdPara, data.substr(5)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break; 
			 |