//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : ImportDxfHeader.cpp Data : 08.06.14 Versione : 1.5f3 // Contenuto : Implementazione di ImportDxf : gestione header. // // // // Modifiche : 08.06.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "ImportDxf.h" #include "DxfConst.h" #include "DllMain.h" #include "/EgtDev/Include/EGnStringUtils.h" using namespace std ; //---------------------------------------------------------------------------- bool ImportDxf::ReadHeader( bool& bFileEnd) { // ciclo di lettura bool bOk = true ; bool bSectEnd = false ; bool bCodePage = false ; bFileEnd = false ; int nCode = CODE_NULL ; do { // leggo un Item nCode = ReadNextItem() ; if ( nCode == CODE_NULL) { bFileEnd = true ; return false ; } switch ( nCode) { case 0 : if ( m_sCurrItem == "SECTION") { UngetItem() ; bSectEnd = true ; } else if ( m_sCurrItem == "ENDSEC") { bSectEnd = true ; } else if ( m_sCurrItem == "EOF") { bSectEnd = true ; bFileEnd = true ; } break ; case 3 : if ( bCodePage) { string sCodePage = m_sCurrItem ; ToUpper( sCodePage) ; ReplaceString( sCodePage, "ANSI_", "") ; ReplaceString( sCodePage, "DOS", "") ; int nVal ; if ( FromString( sCodePage, nVal) && nVal >= 111 && nVal <= 28606) m_nCodePage = nVal ; } break ; case 9 : if ( m_sCurrItem == "$DWGCODEPAGE") bCodePage = true ; break ; } } while ( ! bSectEnd) ; return bOk ; }