📄 gmgdatamanager.cpp
字号:
// GMGDataManager.cpp: implementation of the CGMGDataManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "GMGDataManager.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CGMGDataManager::CGMGDataManager()
{
}
CGMGDataManager::~CGMGDataManager()
{
}
BOOL CGMGDataManager::GetWellCurveData(CCurveUnit* pWellCurveData)
{
char szLine[2048], s[50];
FILE* fp;
fp = fopen(m_strFileName, "r");
if(fp == NULL)
{
AfxMessageBox("Can't open the Curve File");
return FALSE;
}
float fEndDep, fStartDep, fSampleSpace;
fgets(szLine, 2048, fp);
fgets(szLine, 2048, fp);
fgets(szLine, 2048, fp);
fgets(szLine, 2048, fp);
sscanf(szLine, "%s %f", s, &fStartDep);
fgets(szLine, 2048, fp);
sscanf(szLine, "%s %f", s, &fEndDep);
fgets(szLine, 2048, fp);
sscanf(szLine, "%s %f", s, &fSampleSpace);
pWellCurveData->SetCurveName("AC");
float fTempStartDep = fStartDep;
pWellCurveData->SetDataProperty(fTempStartDep, fEndDep, fSampleSpace);
int num = int ((fEndDep - fStartDep) / fSampleSpace + 1);
float pp;
float fmax = -9999.0f;
float fmin = 9999.0f;
for(int j = 0; j < num; j ++)
{
fgets(szLine, 2048, fp);
sscanf(szLine, "%f", &pp);
pWellCurveData->AddDataPoint(pp);
if(pp > fmax) fmax = pp;
if(pp < fmin) fmin = pp;
}
pWellCurveData->SetDataMaxMin(fmax, fmin);
fclose(fp);
return TRUE;
}
void CGMGDataManager::InitFileName(CString strFileName)
{
m_strFileName = strFileName;
}
BOOL CGMGDataManager::GetOrigGmgsData(COrigGmgsData* pOrigGmgsData)
{
char szLine[2048];
FILE* fp;
fp = fopen(m_strFileName, "r");
if(fp == NULL)
{
AfxMessageBox("Can't open the Curve File");
return FALSE;
}
float fMax = -9999.0f;
float fMin = 9999.0f;
pOrigGmgsData->m_arrGmgsPoint.RemoveAll ();
int num;
GmgsPointStru pointStru;
fgets(szLine, 2048, fp);
sscanf(szLine, "%d", &num);
for(int i = 0; i < num; i++)
{
fgets(szLine, 2048, fp);
sscanf(szLine, "%f %f %f", &pointStru.fFreq, &pointStru.fValue, &pointStru.fAngle);
pOrigGmgsData->m_arrGmgsPoint.Add(pointStru);
if(fMax < pointStru.fValue)
fMax = pointStru.fValue;
if(fMin > pointStru.fValue)
fMin = pointStru.fValue;
}
pOrigGmgsData->m_fDataMax = fMax;
pOrigGmgsData->m_fDataMin = fMin;
fclose(fp);
return TRUE;
}
BOOL CGMGDataManager::GetWellSideTraceData(CSeisTraceData* pSeisTraceData)
{
char szLine[2048];
char s[1024];
FILE* fp;
fp = fopen(m_strFileName, "r");
if(fp == NULL)
{
AfxMessageBox("Can't open the Curve File");
return FALSE;
}
float fMax = -9999.0f;
float fMin = 9999.0f;
pSeisTraceData->m_arrPoint.RemoveAll ();
int num;
float fvalue = 0.0f;
fgets(szLine, 2048, fp);
fgets(szLine, 2048, fp);
sscanf(szLine, "%s %d", s, &num);
for(int i = 0; i < num; i++)
{
fgets(szLine, 2048, fp);
sscanf(szLine, "%f", &fvalue);
pSeisTraceData->m_arrPoint.Add(fvalue);
if(fMax < fvalue)
fMax = fvalue;
if(fMin > fvalue)
fMin = fvalue;
}
pSeisTraceData->m_fDataMax = fMax;
pSeisTraceData->m_fDataMin = fMin;
fclose(fp);
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -