www.pudn.com > RMS2000_C.rar > CurveDoc.cpp
// CurveDoc.cpp : implementation file
//
#include "stdafx.h"
#include "DrawCli.h"
#include "CurveDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCurveDoc
IMPLEMENT_DYNCREATE(CCurveDoc, CDocument)
CCurveDoc::CCurveDoc()
{
}
CCurveDoc::CCurveDoc(char* title)
{
SetTitle(title);
m_sizeDoc=CSize(1024,768);
m_UseDat=(char *)new USEDATA[CURVE_NUM];
}
BOOL CCurveDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
return TRUE;
}
CCurveDoc::~CCurveDoc()
{
if (m_UseDat!=NULL)
{
delete[] m_UseDat;
m_UseDat=NULL;
}
}
BEGIN_MESSAGE_MAP(CCurveDoc, CDocument)
//{{AFX_MSG_MAP(CCurveDoc)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCurveDoc diagnostics
#ifdef _DEBUG
void CCurveDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CCurveDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCurveDoc serialization
void CCurveDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}
/////////////////////////////////////////////////////////////////////////////
// CCurveDoc commands
BOOL NewReadBinary(char *szFileName, char *szDate,char *lpReal,int iNum_yc)
{
int iRcdLen;
int i,j,k,m,d,OpenFileHandle;
REALDATA *lpRD;
char tmpD[12];
int point;
HOURDATA bData;
if ((OpenFileHandle=_lopen(szFileName,OF_READ|OF_SHARE_DENY_NONE))!=-1)
{ lstrcpy(tmpD,szDate);
if (tmpD[5]==' ') tmpD[5]='0';
if (tmpD[8]==' ') tmpD[8]='0';
m=(tmpD[5]-'0')*10+tmpD[6]-'0';
d=(tmpD[8]-'0')*10+tmpD[9]-'0';
lpRD=(REALDATA *)(lpReal);
iRcdLen=sizeof(HOURDATA);
for (i=0; i<24; i++)
{
for (j=0;j<4;j++)
{
point=(((m-1)*31*24+(d-1)*24+i)*4+j)*iRcdLen;
_llseek(OpenFileHandle,point,0);
_lread(OpenFileHandle,(LPSTR)&bData,iRcdLen);
if ((bData.month==m)&&(bData.day==d)&&(bData.hour==i)&&(bData.minute==j*15))
for (k=0; k