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