#pragma once #include #include enum EMarkType { MarkNormal, //符号(普通) MarkFill, //填充(曲线) MarkLithoMain, //岩性\主名 MarkLithoFront, //岩性\前缀 MarkLithoContent, //岩性\含有物 MarkLithoConstitution, //岩性\构造 MarkLithoOilGas, //岩性\含油气性 MarkLithoColor, //岩性\颜色 MarkResult1, //解释结果(方案1) MarkResult2, //解释结果(方案2) MarkResult3, //解释结果(方案3) MarkBreakStratum, //层尖灭样式(多井) MarkBreakLitho, //岩性过渡样式(多井) MarkStratumFluid, //连层(流体) MarkStratumLitho, //连层(岩性) MarkChart, //图表 MarkNonPinoutPattern, //非尖灭地层样式 MarkThicknessDef //厚度类型的符号定义 }; class AFX_EXT_CLASS CWellMarkNamesList { public: CWellMarkNamesList(void); ~CWellMarkNamesList(void); BOOL InitLib(LPCTSTR lpszLibName); CStringArray* GetWellMark(EMarkType type); EMarkType GetMarkType(CString str); CString GetMarkName(EMarkType type); void GetPerforationLayerType(CStringArray& strArr); CString GetResultFromValue(CString strValue); BOOL IsPinoutPattern(CString str); //判断一个地层样式是否尖灭的 CString GetThicknessSymbol(CString strId); CString GetSymbolForCommonData(CString table, CString colName); protected: CStringArray m_strArrNormal; CStringArray m_strArrFill; CStringArray m_strArrLithoMain; CStringArray m_strArrLithoFront; CStringArray m_strArrLithoContent; CStringArray m_strArrLithoConstitution; CStringArray m_strArrLithoOilGas; CStringArray m_strArrResult; CStringArray m_strArrBreakBend; CStringArray m_strArrBreakLitho; CStringArray m_strArrLithoColor; CStringArray m_strArrLayerFluid; CStringArray m_strArrLayerLitho; CStringArray m_strArrLayerChart; CStringArray m_strArrPerforationLayerType; CStringArray m_strArrNonpinoutPattern; //CStringArray m_strArrThicknessSybDefs; BOOL m_bInit; std::map*> m_ResultMaps; std::map m_ThicknessSybolMaps; std::map m_CommonDataSymbolMaps; protected: void ReadInterpretResultsOtherValue(); void ClearInterpretResultsOtherValue(); void ReadSymbolUsageDefinition(CString strPath); }; //井模块符号名 extern CWellMarkNamesList m_globalWellMark; extern "C" AFX_EXT_API CWellMarkNamesList * WINAPI AfxGetGlobalWellMarkNamesList();