Скачиваний:
21
Добавлен:
01.05.2014
Размер:
1.77 Кб
Скачать
#include "RandchDoc.h"

IMPLEMENT_DYNCREATE(CRandchDoc, CDocument)

BEGIN_MESSAGE_MAP(CRandchDoc, CDocument)
	//{{AFX_MSG_MAP(CRandchDoc)	
	//}}AFX_MSG_MAP 	
	ON_COMMAND(ID_FILE_CLOSE, OnFileClose)
END_MESSAGE_MAP()

CRandchDoc::CRandchDoc() {}
CRandchDoc::~CRandchDoc() {}

// CSupportDoc serialization

void CRandchDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}


// CSupportDoc diagnostics

#ifdef _DEBUG
void CRandchDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CRandchDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

BOOL CRandchDoc::OnNewDocument()
{	
	n = 0;
	St = 1;
	Clear();	
	return CDocument::OnNewDocument();
}

void CRandchDoc::OnCloseDocument()
{		
	Clear();
	CDocument::OnCloseDocument();
}

BOOL CRandchDoc::OnOpenDocument(LPCTSTR fileName)
{	
	FILE *fin = fopen(fileName,"r");
	for (list<CCHPoint*>::iterator i = S.data.begin();!(i == S.data.end());i++)
		delete (*i); 
	S.data.clear();
	float x,y; 
	while(!feof(fin))
	{
		fscanf(fin,"%f %f\n", &x, &y);
		CCHPoint* p_pnt = new CCHPoint;

		p_pnt->p.x = x; 
		p_pnt->p.y = y; 
		S.data.push_back(p_pnt);
	} 
	St = 1;
	n = (int) S.data.size(); 
	fclose(fin);

	return TRUE;
}

BOOL CRandchDoc::OnSaveDocument(LPCTSTR fileName)
{	
	FILE *fout = fopen(fileName,"w");	
	for (list<CCHPoint*>::iterator i = S.data.begin(); i!=S.data.end(); ++i)
	{
		fprintf(fout,"%.0f %.0f\n", (*i)->p.x, (*i)->p.y);
	}
	fclose(fout); 
	return TRUE;	
}

void CRandchDoc::Clear(void)
{
	for(list<CCHPoint*>::iterator i=S.data.begin(); i != S.data.end(); i++) 
		delete (*i);
	S.data.clear();
}
Соседние файлы в папке program