Files
EgtExchange/ImportDxfHeader.cpp
T
Dario Sassi 8c69460cb1 EgtExchange 1.5h2 :
- aggiunto esportatore STL
- aggiunto esportatore DXF.
2014-08-12 07:43:46 +00:00

74 lines
2.1 KiB
C++

//----------------------------------------------------------------------------
// 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 ;
}