Q&A

  • VC++ 코드인데여.. 파일을 여는 함수를 델파이로..
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;

.............
}

////////////////////////////////////////////////////////////////////////
위의 소스를 델파이로 포팅을 하려는데 어려움이 많습니다.
혹시 위의 소스를 고치실 수 있으신 분 없으신가요? 하다하다 막혀서 답답한 마음에 여기에 올려봅니다.
도와주세요~ ㅜ.ㅜ
2  COMMENTS
  • Profile
    최용일 2005.10.17 01:58
    안녕하세요. 최용일입니다.

    씨의 CFile객체는 델파이의 TFileStream과 같은 기능을 하는 객체입니다.

    TFileStream을 이용해서 포팅해보세요...

    ^^ 항상 즐코하세요...

  • Profile
    온스 2005.10.17 02:15
    전혀 감도 못 잡고 있었는데 감사합니다.
    찾아서 한번 해보도록 하겠습니다.
    즐거운 시간 되세요~