www.pudn.com > ISODATA.rar > ISODATADoc.cpp


// ISODATADoc.cpp : implementation of the CISODATADoc class 
// 
 
#include "stdafx.h" 
#include "ISODATA.h" 
 
#include "ISODATADoc.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CISODATADoc 
 
IMPLEMENT_DYNCREATE(CISODATADoc, CDocument) 
 
BEGIN_MESSAGE_MAP(CISODATADoc, CDocument) 
	//{{AFX_MSG_MAP(CISODATADoc) 
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen) 
	ON_COMMAND(ID_MENU_ISODATACLASSIFIER, OnMenuIsodataclassifier) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CISODATADoc construction/destruction 
 
CISODATADoc::CISODATADoc() 
{ 
	// TODO: add one-time construction code here 
 
} 
 
CISODATADoc::~CISODATADoc() 
{ 
} 
 
BOOL CISODATADoc::OnNewDocument() 
{ 
	if (!CDocument::OnNewDocument()) 
		return FALSE; 
 
	// TODO: add reinitialization code here 
	// (SDI documents will reuse this document) 
 
	return TRUE; 
} 
 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CISODATADoc serialization 
 
void CISODATADoc::Serialize(CArchive& ar) 
{ 
	if (ar.IsStoring()) 
	{ 
		// TODO: add storing code here 
	} 
	else 
	{ 
		// TODO: add loading code here 
	} 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CISODATADoc diagnostics 
 
#ifdef _DEBUG 
void CISODATADoc::AssertValid() const 
{ 
	CDocument::AssertValid(); 
} 
 
void CISODATADoc::Dump(CDumpContext& dc) const 
{ 
	CDocument::Dump(dc); 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CISODATADoc commands 
 
void CISODATADoc::OnFileOpen()  
{ 
	// TODO: Add your command handler code here 
	char strPath[100]; 
	::GetModuleFileName(NULL, strPath, 100); 
	CString strInput; 
	strInput.Format("%s", strPath); 
	strInput.Delete(strInput.GetLength()-17, 17); 
	CString strDataPath("Data"); 
	strInput += strDataPath; 
	CFileDialog InputDlg(TRUE, ".txt", NULL, 0, "(*.txt)|*.txt||"); 
 
	InputDlg.m_ofn.lpstrInitialDir = strInput.LockBuffer(); 
	strInput.UnlockBuffer(); 
 
	// TODO: Add your specialized creation code here 
	if(InputDlg.DoModal() == IDOK) 
	{ 
		//读文件 
		CString strFile = InputDlg.GetFileName(); 
		FILE* Infp = fopen(strFile.LockBuffer(), "rt"); 
		strFile.UnlockBuffer(); 
		int iPattDimen = 0; 
		int iSwatchNum = 0; 
		fscanf(Infp, "%d", &iPattDimen); 
		fscanf(Infp, "%d", &iSwatchNum); 
		int iSize = iPattDimen*iSwatchNum; 
		double* pdData = new double[iSize]; 
		for(int i=0; i