Browse Source

更改xml文件格式,修改c++部分代码,国标导出部分还有问题尚未处理完,临时提交

zhangjiaxin 3 years ago
parent
commit
b316f35550

+ 17 - 0
OTSCPP/OTSData/XMLSerialization.cpp

@@ -493,7 +493,24 @@ namespace xmls
 		if (pos1 != s.length())
 			v.push_back(s.substr(pos1));
 	}
+	std::vector<std::string> SplitString(const std::string& s,  const std::string& c)
+	{
+		std::string::size_type pos1, pos2;
+		pos2 = s.find(c);
+		pos1 = 0;
+		std::vector<std::string> v;
+		while (std::string::npos != pos2)
+		{
+			v.push_back(s.substr(pos1, pos2 - pos1));
 
+			pos1 = pos2 + c.size();
+			pos2 = s.find(c, pos1);
+		}
+		if (pos1 != s.length())
+			v.push_back(s.substr(pos1));
+
+		return v;
+	}
 	void ReplaceAll(std::string& content, std::string searchFor, std::string replaceWith)
 	{
 		if (searchFor.empty())

+ 1 - 0
OTSCPP/OTSData/XMLSerialization.h

@@ -309,6 +309,7 @@ serializable Point
 		void Clear();
 	};
 	void __declspec(dllexport) SplitString(const std::string& s, std::vector<std::string>& v, const std::string& c);
+	std::vector<std::string>  __declspec(dllexport) SplitString(const std::string& s, const std::string& c);
 	void __declspec(dllexport) ReplaceAll(std::string& content, std::string searchFor, std::string replaceWith);
 	void __declspec(dllexport) ReplaceFirst(std::string& content, std::string searchFor, std::string replaceWith);
 

+ 2 - 0
OTSCPP/OTSData/otsdataconst.h

@@ -116,6 +116,8 @@ namespace OTSDATA
 		TimeMode = 3,
 		MAX = 3
 	} OTS_MEASURE_STOP_MODE;
+
+
 	typedef enum class __declspec(dllexport) OTS_MEASURE_FIELD_STOP_MODE
 	{
 		INVALID = -1,

+ 11 - 10
OTSCPP/OTSImagePro/OTSImageScanParam.cpp

@@ -1,5 +1,6 @@
 #include "stdafx.h"
 #include "OTSImageScanParam.h"
+#include <XMLSerialization.h>
 
 
 namespace OTSIMGPROC
@@ -84,13 +85,13 @@ namespace OTSIMGPROC
 
 	void COTSImageScanParam::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode)
 	{
-		xmls::xInt xnStopMode;
+		xmls::xString xnStopMode;
 		xmls::xInt xnStopParamMeasTime;
 		xmls::xInt xnStopParamFields;
 		xmls::xInt xnStopParamParticles;
-		xmls::xInt xnSatrtImageMode;
-		xmls::xInt xnScanImageSpeed;
-		xmls::xInt xnImagePixelSize;
+		xmls::xString xnSatrtImageMode;
+		xmls::xString xnScanImageSpeed;
+		xmls::xString xnImagePixelSize;
 
 
 		xmls::Slo slo;
@@ -106,7 +107,7 @@ namespace OTSIMGPROC
 
 		if (isStoring)
 		{
-			xnStopMode = (int)m_nStopMode;
+			/*xnStopMode = std::to_string((int)m_nStopMode);
 			xnStopParamMeasTime = m_nStopParamMeasTime;
 			xnStopParamFields = m_nStopParamFields;
 			xnStopParamParticles = m_nStopParamParticles;
@@ -115,18 +116,18 @@ namespace OTSIMGPROC
 			xnImagePixelSize = (int)m_nImagePixelSize;
 	
 
-			slo.Serialize(true, classDoc, rootNode);
+			slo.Serialize(true, classDoc, rootNode);*/
 		}
 		else
 		{
 			slo.Serialize(false, classDoc, rootNode);
 
-			m_nStopMode = (OTS_MEASURE_STOP_MODE)xnStopMode.value();
+			m_nStopMode = (OTS_MEASURE_STOP_MODE)stoi(xmls::SplitString(xnStopMode.value(),":")[0]);
 			m_nStopParamMeasTime = xnStopParamMeasTime.value();
 			m_nStopParamFields = xnStopParamFields.value();
-			m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)xnSatrtImageMode.value();
-			m_nScanImageSpeed = (OTS_THREE_TIES_OPTIONS)xnScanImageSpeed.value();
-			m_nImagePixelSize = (OTS_FIVE_TIES_OPTIONS)xnImagePixelSize.value();
+			m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)stoi(xmls::SplitString(xnSatrtImageMode.value(),":")[0]);
+			m_nScanImageSpeed = (OTS_THREE_TIES_OPTIONS)stoi(xmls::SplitString(xnScanImageSpeed.value(),":")[0]);
+			m_nImagePixelSize = (OTS_FIVE_TIES_OPTIONS)stoi(xmls::SplitString(xnImagePixelSize.value(), ":")[0]);
 
 		}
 

+ 6 - 6
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSImageProcParam.cs

@@ -108,18 +108,18 @@ namespace OTSDataType
 
             if (isStoring)
             {
-               
-                xnBGRemoveType.AssignValue(m_BGRemoveType.ToString());
-                xnautoBGRemoveType.AssignValue(m_autoBGRemoveType.ToString());
+
+                xnBGRemoveType.AssignValue((int)m_BGRemoveType+":"+m_BGRemoveType.ToString());
+                xnautoBGRemoveType.AssignValue((int)m_autoBGRemoveType+":"+m_autoBGRemoveType.ToString());
                 slo.Serialize(true, classDoc, rootNode);
             }
             else
             {
                 slo.Serialize(false, classDoc, rootNode);
                 //自动去背景设置
-                m_BGRemoveType = (OTS_BGREMOVE_TYPE)Enum.Parse(typeof(OTS_BGREMOVE_TYPE),xnBGRemoveType.value()) ;
-                m_autoBGRemoveType = (OTS_AUTOBGREMOVE_TYPE)Enum.Parse(typeof(OTS_AUTOBGREMOVE_TYPE),xnautoBGRemoveType.value());
-              
+                m_BGRemoveType = (OTS_BGREMOVE_TYPE)Convert.ToInt32( xnBGRemoveType.value().Split(':')[0]);
+                m_autoBGRemoveType = (OTS_AUTOBGREMOVE_TYPE)Convert.ToInt32( xnautoBGRemoveType.value().Split(':')[0]);
+
             }
         }
     }

+ 11 - 11
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSImageScanParam.cs

@@ -203,15 +203,15 @@ namespace OTSDataType
 
             if (isStoring)
             {
-                xnStopMode.AssignValue(m_nStopMode.ToString());
+                xnStopMode.AssignValue((int)m_nStopMode+":"+m_nStopMode.ToString());//
                 xnStopParamMeasTime.AssignValue( m_nStopParamMeasTime);
                 xnStopParamFields.AssignValue(m_nStopParamFields);
                 xnStopParamParticles.AssignValue(m_nStopParamParticles);
-                xnSatrtImageMode.AssignValue(m_nSatrtImageMode.ToString());
-                xnScanImageSpeed.AssignValue( m_nScanImageSpeed.ToString());
-                xnImageSize.AssignValue( m_nImageResulotion.ToString());
+                xnSatrtImageMode.AssignValue((int)m_nSatrtImageMode+":"+m_nSatrtImageMode.ToString());
+                xnScanImageSpeed.AssignValue((int)m_nScanImageSpeed+":"+ m_nScanImageSpeed.ToString());
+                xnImageSize.AssignValue( (int)m_nImageResulotion+":"+m_nImageResulotion.ToString());
 
-                xnFieldStopMode.AssignValue(m_nFieldStopMode.ToString());
+                xnFieldStopMode.AssignValue((int)m_nFieldStopMode+":"+m_nFieldStopMode.ToString());
                 xnFieldSmallParticles.AssignValue(m_nFieldSmallParticles);
                 xnFieldSmallParticlePercentage .AssignValue(m_nFieldSmallParticlesPercentage);
 
@@ -223,22 +223,22 @@ namespace OTSDataType
             {
                 slo.Serialize(false, classDoc, rootNode);
 
-                m_nStopMode =(OTS_MEASURE_STOP_MODE)Enum.Parse(typeof(OTS_MEASURE_STOP_MODE), xnStopMode.value());
+                m_nStopMode = (OTS_MEASURE_STOP_MODE)Convert.ToInt32(xnStopMode.value().Split(':')[0]);
                 m_nStopParamMeasTime = xnStopParamMeasTime.value();
                 m_nStopParamFields = xnStopParamFields.value();
                 m_nStopParamParticles = xnStopParamParticles.value();
-                m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)Enum.Parse(typeof(OTS_GET_IMAGE_MODE), xnSatrtImageMode.value());
-                m_nScanImageSpeed = (OTS_IMAGE_SCANSPEED_OPTIONS)Enum.Parse(typeof(OTS_IMAGE_SCANSPEED_OPTIONS), xnScanImageSpeed.value());
-                m_nImageResulotion = (OTS_IMAGE_RESULOTION_OPTIONS)Enum.Parse(typeof(OTS_IMAGE_RESULOTION_OPTIONS), xnImageSize.value());
+                m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)Convert.ToInt32(xnSatrtImageMode.value().Split(':')[0]);
+                m_nScanImageSpeed = (OTS_IMAGE_SCANSPEED_OPTIONS)Convert.ToInt32(xnScanImageSpeed.value().Split(':')[0]);
+                m_nImageResulotion = (OTS_IMAGE_RESULOTION_OPTIONS)Convert.ToInt32(xnImageSize.value().Split(':')[0]);
 
-                m_nFieldStopMode = (OTS_MEASURE_FIELD_STOP_MODE)Enum.Parse(typeof(OTS_MEASURE_FIELD_STOP_MODE),xnFieldStopMode.value());
+                m_nFieldStopMode = (OTS_MEASURE_FIELD_STOP_MODE)Convert.ToInt32(xnFieldStopMode.value().Split(':')[0]);
                 m_nFieldAreaPercentage = xnFieldAreaPercentage.value();
                 m_nFieldLargeParticles = xnFieldLargeParticles.value();
                 m_nFieldLargeParticlesPercentage = xnFieldLargeParticlePercentage.value();
                 m_nFieldSmallParticles = xnFieldSmallParticles.value();
                 m_nFieldSmallParticlesPercentage = xnFieldSmallParticlePercentage.value();
 
-              
+
             }
         }
 

+ 2 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSXRayParam.cs

@@ -166,7 +166,7 @@ namespace OTSDataType
 
             if (isStoring)
             {
-                xnScanMode.AssignValue(m_nScanMode.ToString());
+                xnScanMode.AssignValue((int)m_nScanMode+":"+m_nScanMode.ToString());
     
                 xnAnalyExpCount.AssignValue(m_nAnalyExpCount);
             
@@ -179,7 +179,7 @@ namespace OTSDataType
             {
                 slo.Serialize(false, classDoc, rootNode);
 
-                m_nScanMode = (OTS_X_RAY_SCAN_MODE)Enum.Parse(typeof(OTS_X_RAY_SCAN_MODE),xnScanMode.value());
+                m_nScanMode = (OTS_X_RAY_SCAN_MODE)Convert.ToInt32( xnScanMode.value().Split(':')[0]);
          
                 m_nAnalyExpCount = xnAnalyExpCount.value();
              

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/CSampleParam.cs

@@ -84,7 +84,7 @@ namespace OTSDataType
                 xstrName.AssignValue(m_strName);
                 xSteelTech.AssignValue((int)m_SteelTech);
                 xstrSTDName.AssignValue(m_strSTDName);
-                xSystype.AssignValue(m_nPackId.ToString());
+                xSystype.AssignValue((int)m_nPackId+":"+m_nPackId.ToString());
                 slo.Serialize(true, classDoc, rootNode);
             }
             else

+ 4 - 4
OTSIncAMeasureApp/0-OTSModel/OTSDataType/SEMStageData.cs

@@ -282,8 +282,8 @@ namespace OTSDataType
             if (isStoring)
             {
                 xscanFieldSize100.AssignValue(m_nScanFieldSize100);
-                xbXAxisDir.AssignValue(m_bXAxisDir.ToString());
-                xbYAxisDir.AssignValue(m_bYAxisDir.ToString());
+                xbXAxisDir.AssignValue((int)m_bXAxisDir + ":" + m_bXAxisDir.ToString());
+                xbYAxisDir.AssignValue((int)m_bYAxisDir + ":" + m_bYAxisDir.ToString());
                 xMinMag.AssignValue(m_dMinMag);
 
                 slo.Serialize(true, classDoc, rootNode);
@@ -292,8 +292,8 @@ namespace OTSDataType
             {
                 slo.Serialize(false, classDoc, rootNode);
                 m_nScanFieldSize100 = xscanFieldSize100.value();
-                m_bXAxisDir = (OTS_X_AXIS_DIRECTION)Enum.Parse(typeof(OTS_X_AXIS_DIRECTION),xbXAxisDir.value());
-                m_bYAxisDir = (OTS_Y_AXIS_DIRECTION)Enum.Parse(typeof(OTS_Y_AXIS_DIRECTION),xbYAxisDir.value());
+                m_bXAxisDir = (OTS_X_AXIS_DIRECTION)Convert.ToInt32( xbXAxisDir.value().Split(':')[0]);
+                m_bYAxisDir = (OTS_Y_AXIS_DIRECTION)Convert.ToInt32( xbYAxisDir.value().Split(':')[0]);
                 m_dMinMag = xMinMag.value();
             }
         }