Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

52 lines
3.4 KiB
C++

// OperUrfFile.h: interface for the COperUrfFile class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_OPERURFFILE_H__1A6F9CEA_94F5_40F5_B28B_805B378652A9__INCLUDED_)
#define AFX_OPERURFFILE_H__1A6F9CEA_94F5_40F5_B28B_805B378652A9__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class COperUrfFile
{
public:
COperUrfFile();
virtual ~COperUrfFile();
bool OpenUrfFileForWrite(const char* pFileName);
bool WriteUrfHeadInfo();
bool Write3DUrfHeadInfo();
bool WriteUrfPoleInfo(WORD wEamount, float fPoleSpace);
bool WriteUrfDataInfo(const CStringArray& strArrTxt);
bool WriteUrfDataInfo(const CString& strTxtContent);
void CloseFile();
bool WriteElecByWenSch(FILE* pFile, WORD wEamount, float fPoleSpace, int iStartElec, int iEndElec);
bool WriteElecByWenSch_AMN(FILE* pFile, WORD wEamount, float fPoleSpace, int iStartElec, int iEndElec);
bool WriteElecByWenSch_MNB(FILE* pFile, WORD wEamount, float fPoleSpace, int iStartElec, int iEndElec);
bool WriteElecByWenSch_AM(FILE* pFile, WORD wEamount, float fPoleSpace, int iStartElec, int iEndElec);
bool WriteElecByCrossHole(FILE* pFile, WORD wEamount, float fPoleSpace, float fHoleSpace, int iStartElec, int iEndElec);
//跨孔装置直接从数据库读取的电极编号,因此不需要传递起始电极和结束电极
bool WriteElecByCrossHoleGeomative(FILE* pFile, WORD wEamount, float fPoleSpace, CString strSCCN, CString strTaskID);
bool WriteElecByCrossHoleGeomativeAM(FILE* pFile, WORD wEamount, float fPoleSpace,CString strSCCN, CString strTaskID);
bool WriteElecByAR(FILE* pFile, int iAR, WORD wEAmount, float fPoleSpace, float fParam, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteUrfPoleInfo(int iAR, WORD wEamount, float fPoleSpace, float fParamVal, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
//3D urf文件导出
bool WriteElecByPolePole_AM_3D(FILE* pFile, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance, float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteElecByPoleDipole_AMN_3D(FILE* pFile, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance, float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteElecByDipoleDipole_MNB_3D(FILE* pFile, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance, float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteElecBySchlumberger_3D(FILE* pFile, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance, float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteElecByAR_3D(FILE* pFile, int iAR, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance, float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
bool WriteUrfPoleInfo_3D(int iAR, byte byTestLineDirection, int iXElecCount, int iYElecCount, float fXEDistance,float fYEDistance, int iStartElec, int iEndElec, CString strSCCN = _T(""), CString strTaskID = _T(""));
void SetExtParam(float fParam){m_fExtParam = fParam;}
protected:
FILE* m_pFile;
float m_fExtParam;
};
#endif // !defined(AFX_OPERURFFILE_H__1A6F9CEA_94F5_40F5_B28B_805B378652A9__INCLUDED_)