struct _Data
{
DOUBLE nX;
DOUBLE nY;
DOUBLE nZ;
};
void CPrjView::OnFileOpen(PCHAR szFileName)
{
CFile Data;
CFileDialog fd(TRUE);
_Data * m_pData;
int dwLineCount ,SizeX,SizeY;
///////////////////////////////////////////////
CFile iFile;
if(szFileName == NULL)
{
if( fd.DoModal() == IDCANCEL )
return;
Data.Open((LPCTSTR)fd.GetFileName(), CFile::modeRead);
}
else
Data.Open(szFileName, CFile::modeRead);
DOUBLE dTmp = 0;
Data.Read(&dTmp , sizeof(DOUBLE));
SizeX = dTmp;
Data.Read(&dTmp , sizeof(DOUBLE));
SizeY = dTmp;
dwLineCount = SizeX * SizeY;
if(m_pData)
{
HeapFree(GetProcessHeap(), HEAP_NO_SERIALIZE, m_pData);
m_pData= NULL;
}
m_pData= (_Data*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, m_dwLineCount * sizeof(_Data));
if( m_pData== NULL )
{
MessageBox("Out of Memory");
return;
}
Data.ReadHuge(m_pData, m_dwLineCount * sizeof(_Data));
DOUBLE nSX = m_pData[0].nX;
DOUBLE nSY = m_pData[0].nY;
.............
}
////////////////////////////////////////////////////////////////////////
위의 소스를 델파이로 포팅을 하려는데 어려움이 많습니다.
혹시 위의 소스를 고치실 수 있으신 분 없으신가요? 하다하다 막혀서 답답한 마음에 여기에 올려봅니다.
도와주세요~ ㅜ.ㅜ
씨의 CFile객체는 델파이의 TFileStream과 같은 기능을 하는 객체입니다.
TFileStream을 이용해서 포팅해보세요...
^^ 항상 즐코하세요...