TestEGk 1.4a4 : sistemazioni varie per Logger, batch mode, Ini file, UTF-8.
This commit is contained in:
+161
@@ -0,0 +1,161 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2013
|
||||
//----------------------------------------------------------------------------
|
||||
// File : TegExecutor.cpp Data : 09.12.13 Versione : 1.4a4
|
||||
// Contenuto : Implementazione della classe TegExecutor.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 09.12.13 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "TegExecutor.h"
|
||||
#include "/EgtDev/Include/EgtPointerOwner.h"
|
||||
#include "/EgtDev/Include/EGnStringConverter.h"
|
||||
#include "/EgtDev/Include/EgnCmdParser.h"
|
||||
#include "/EgtDev/Include/EGkGeomDB.h"
|
||||
#include "/EgtDev/Include/EGkGdbExecutor.h"
|
||||
#include <io.h>
|
||||
|
||||
using namespace std ;
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
TegExecutor::TegExecutor( void)
|
||||
{
|
||||
m_pLogger = nullptr ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
TegExecutor::~TegExecutor( void)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void
|
||||
TegExecutor::Init( ILogger* pLogger)
|
||||
{
|
||||
m_pLogger = pLogger ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
TegExecutor::Execute( const string& sCmd1, const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
string sOut ;
|
||||
STRVECTOR::const_iterator theConstIter ;
|
||||
|
||||
|
||||
// output di debug
|
||||
sOut = "Cmd = [" + sCmd1 + "/" + sCmd2 + "] Par = [" ;
|
||||
for ( theConstIter = vsParams.begin() ; theConstIter != vsParams.end() ; ++theConstIter) {
|
||||
if ( theConstIter != vsParams.begin())
|
||||
sOut += "/" ;
|
||||
sOut += *theConstIter ;
|
||||
}
|
||||
sOut += "]" ;
|
||||
LOG_DEBUG( m_pLogger, sOut.c_str()) ;
|
||||
|
||||
// esecuzione comando
|
||||
if ( sCmd1 == "RUN") {
|
||||
ExecuteRun( sCmd2, vsParams) ;
|
||||
return true ;
|
||||
}
|
||||
else if ( sCmd1 == "DIR") {
|
||||
ExecuteDir( sCmd2, vsParams) ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
return false ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
TegExecutor::ExecuteRun( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
// analisi ed esecuzione dei comandi
|
||||
if ( sCmd2 == "") {
|
||||
|
||||
// 1 parametro : nome file di script da eseguire
|
||||
if ( vsParams.size() != 1)
|
||||
return false ;
|
||||
|
||||
// esecuzione script
|
||||
PtrOwner<IGeomDB> pGdb( CreateGeomDB()) ;
|
||||
PtrOwner<IGdbExecutor> pGdbExec( CreateGdbExecutor()) ;
|
||||
PtrOwner<ICmdParser> pCmdParser( CreateCmdParser()) ;
|
||||
|
||||
// controllo validità oggetti
|
||||
if ( ! IsValid( pGdb)) {
|
||||
LOG_ERROR( m_pLogger, "Error in CreateGeomDB") ;
|
||||
return false ;
|
||||
}
|
||||
if ( ! IsValid( pGdbExec)) {
|
||||
LOG_ERROR( m_pLogger, "Error in CreateGdbExecutor") ;
|
||||
return false ;
|
||||
}
|
||||
if ( ! IsValid( pCmdParser)) {
|
||||
LOG_ERROR( m_pLogger, "Error in CreateCmdParser") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
// inizializzazioni
|
||||
pGdb->Init( m_pLogger) ;
|
||||
pGdbExec->Init( Get( pGdb), m_pLogger) ;
|
||||
if ( ! pCmdParser->Init( vsParams[0], Get( pGdbExec), m_pLogger)) {
|
||||
string sOut = "Error on Parser.Init (" + vsParams[0] + ")" ;
|
||||
LOG_ERROR( m_pLogger, sOut.c_str()) ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
// esecuzione comandi
|
||||
if ( ! pCmdParser->Run()) {
|
||||
LOG_ERROR( m_pLogger, "Error on Parser.Run") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
return false ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
TegExecutor::ExecuteDir( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
// analisi ed esecuzione dei comandi
|
||||
if ( sCmd2 == "EMPTY") {
|
||||
|
||||
// 1 parametro : nome direttorio da svuotare
|
||||
if ( vsParams.size() != 1)
|
||||
return false ;
|
||||
|
||||
wstring sDir = stringtoW( vsParams[0]) ;
|
||||
wstring sFile = sDir + L"\\*.*" ;
|
||||
|
||||
_wfinddata_t c_file ;
|
||||
intptr_t hFile ;
|
||||
|
||||
// ciclo su tutti i file del direttorio
|
||||
if ( ( hFile = _wfindfirst( sFile.c_str(), &c_file)) != -1L) {
|
||||
do {
|
||||
if ( c_file.attrib != _A_SUBDIR) {
|
||||
sFile = sDir + L"\\" + c_file.name ;
|
||||
::DeleteFileW( sFile.c_str()) ;
|
||||
}
|
||||
} while( _wfindnext( hFile, &c_file) == 0) ;
|
||||
_findclose( hFile) ;
|
||||
errno = 0 ;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
return false ;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2013
|
||||
//----------------------------------------------------------------------------
|
||||
// File : GdbExecutor.h Data : 25.11.13 Versione : 1.3a1
|
||||
// Contenuto : Dichiarazione della classe GdbExecutor.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 27.03.13 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EgnCmdExecutor.h"
|
||||
#include "/EgtDev/Include/EgtILogger.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class TegExecutor : public ICmdExecutor
|
||||
{
|
||||
public :
|
||||
virtual bool Execute( const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams) ;
|
||||
|
||||
public :
|
||||
TegExecutor( void) ;
|
||||
~TegExecutor( void) ;
|
||||
void Init( ILogger* pLogger) ;
|
||||
|
||||
private :
|
||||
bool ExecuteRun( const std::string& sCmd2, const STRVECTOR& vsParams) ;
|
||||
bool ExecuteDir( const std::string& sCmd2, const STRVECTOR& vsParams) ;
|
||||
|
||||
private :
|
||||
ILogger* m_pLogger ;
|
||||
} ;
|
||||
+76
-51
@@ -13,27 +13,46 @@
|
||||
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "\EgtDev\Include\EGnVersion.h"
|
||||
#include "\EgtDev\Include\EGnStringConverter.h"
|
||||
#include "\EgtDev\Include\EgnCmdParser.h"
|
||||
#include "\EgtDev\Include\EGkVersion.h"
|
||||
#include "TegExecutor.h"
|
||||
#include "/EgtDev/Include/EgnGetModuleVer.h"
|
||||
#include "/EgtDev/Include/EGnVersion.h"
|
||||
#include "/EgtDev/Include/EGnStringUtils.h"
|
||||
#include "/EgtDev/Include/EGnStringConverter.h"
|
||||
#include "/EgtDev/Include/EgnCmdParser.h"
|
||||
#include "/EgtDev/Include/EGkVersion.h"
|
||||
#include "/EgtDev/Include/EGkGeomDB.h"
|
||||
#include "/EgtDev/Include/EGkGdbExecutor.h"
|
||||
#include "/EgtDev/Include/EgtPointerOwner.h"
|
||||
#include "/EgtDev/Include/EgtLogger.h"
|
||||
#include "/EgtDev/Include/EgtIniFile.h"
|
||||
|
||||
//--------------------------- Define -----------------------------------------
|
||||
#define STR_VER "1.4a1"
|
||||
|
||||
#if defined( _WIN64)
|
||||
#if defined( NDEBUG)
|
||||
#define STR_EXE "TestEGkR64.exe"
|
||||
#else
|
||||
#define STR_EXE "TestEGkD64.exe"
|
||||
#endif
|
||||
#else
|
||||
#if defined( NDEBUG)
|
||||
#define STR_EXE "TestEGkR32.exe"
|
||||
#else
|
||||
#define STR_EXE "TestEGkD32.exe"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
using namespace std ;
|
||||
using namespace egtlogger ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int
|
||||
wmain( int argc, wchar_t* argv[])
|
||||
{
|
||||
wstring sIn ;
|
||||
int nErr ;
|
||||
int nDebug ;
|
||||
string sIn ;
|
||||
string sDir ;
|
||||
string sFileIni ;
|
||||
|
||||
|
||||
// se debug, imposto stampe memory leaks all'uscita
|
||||
@@ -41,66 +60,72 @@ wmain( int argc, wchar_t* argv[])
|
||||
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) ;
|
||||
#endif
|
||||
|
||||
// recupero il direttorio del programma e costruisco path file INI
|
||||
GetModuleDirectory( NULL, sDir) ;
|
||||
sFileIni = sDir + "\\TestEgk.ini" ;
|
||||
|
||||
// imposto direttorio di lavoro
|
||||
SetCurrentDirectory( sDir) ;
|
||||
|
||||
// interpreto i parametri di linea
|
||||
// nome file di comandi
|
||||
if ( argc >= 2)
|
||||
sIn = argv[1] ;
|
||||
sIn = LPSTR( WtoA( argv[1])) ;
|
||||
else
|
||||
sIn = L"In.tsc" ;
|
||||
sIn = GetPrivateProfileStringUtf8( "General", "Batch", "In.btsc", sFileIni.c_str()) ;
|
||||
|
||||
// livello di debug
|
||||
nDebug = GetPrivateProfileInt( "General", "Debug", 0, sFileIni.c_str()) ;
|
||||
|
||||
// inizializzazioni del logger
|
||||
Logger logger( ( nDebug > 0 ? LL_DEBUG : LL_INFO), "TestEGk") ;
|
||||
logger.AddOutputStream( cout, false, LL_INFO) ;
|
||||
logger.AddOutputStream( new(nothrow) ofstream( "TestEgk.log"), true) ;
|
||||
|
||||
// inizio programma
|
||||
LOG_DATETIME( &logger, " Start Test") ;
|
||||
|
||||
// versione del programma
|
||||
#if defined( _WIN64)
|
||||
#if defined( NDEBUG)
|
||||
cout << "TestEGkR64.exe v." STR_VER << endl ;
|
||||
#else
|
||||
cout << "TestEGkD64.exe v." STR_VER << endl ;
|
||||
#endif
|
||||
#else
|
||||
#if defined( NDEBUG)
|
||||
cout << "TestEGkR32.exe v." STR_VER << endl ;
|
||||
#else
|
||||
cout << "TestEGkD32.exe v." STR_VER << endl ;
|
||||
#endif
|
||||
#endif
|
||||
{ string sVer ;
|
||||
GetModuleVersion( NULL, sVer) ;
|
||||
LOG_INFO( &logger, string( STR_EXE " v." + sVer).c_str()) ;
|
||||
}
|
||||
|
||||
// versione delle librerie
|
||||
cout << GetEGnVersion() << endl ;
|
||||
cout << GetEGkVersion() << endl ;
|
||||
LOG_INFO( &logger, GetEGnVersion()) ;
|
||||
LOG_INFO( &logger, GetEGkVersion()) ;
|
||||
|
||||
// esecuzione script
|
||||
PtrOwner<IGeomDB> pGdb( CreateGeomDB()) ;
|
||||
PtrOwner<IGdbExecutor> pGdbExec( CreateGdbExecutor()) ;
|
||||
// nessun errore
|
||||
nErr = 0 ;
|
||||
|
||||
// creazione oggetti per esecuzione script
|
||||
TegExecutor TegExec ;
|
||||
PtrOwner<ICmdParser> pCmdParser( CreateCmdParser()) ;
|
||||
|
||||
// controllo validità oggetti
|
||||
if ( ! IsValid( pGdb)) {
|
||||
cout << "Error in CreateGeomDB" << endl ;
|
||||
return 1 ;
|
||||
}
|
||||
if ( ! IsValid( pGdbExec)) {
|
||||
cout << "Error in CreateGdbExecutor" << endl ;
|
||||
return 2 ;
|
||||
}
|
||||
if ( ! IsValid( pCmdParser)) {
|
||||
cout << "Error in CreateCmdParser" << endl ;
|
||||
return 3 ;
|
||||
LOG_ERROR( &logger, "Error in CreateCmdParser") ;
|
||||
nErr = 1 ;
|
||||
goto END ;
|
||||
}
|
||||
|
||||
// inizializzazioni
|
||||
pGdb->Init() ;
|
||||
pGdbExec->Set( Get( pGdb)) ;
|
||||
if ( ! pCmdParser->Initialize( sIn, Get( pGdbExec))) {
|
||||
cout << "Error on Parser.Init (" << wstringtoA( sIn) << ")" << endl ;
|
||||
return 4 ;
|
||||
TegExec.Init( &logger) ;
|
||||
if ( ! pCmdParser->Init( sIn, &TegExec, &logger)) {
|
||||
string sout = "Error on Parser.Init (" + sIn + ")" ;
|
||||
LOG_ERROR( &logger, sout.c_str()) ;
|
||||
nErr = 2 ;
|
||||
goto END ;
|
||||
}
|
||||
|
||||
// esecuzione comandi
|
||||
if ( ! pCmdParser->Run()) {
|
||||
cout << "Error on Parser.Run" << endl ;
|
||||
return 5 ;
|
||||
LOG_ERROR( &logger, "Error on Parser.Run") ;
|
||||
nErr = 3 ;
|
||||
goto END ;
|
||||
}
|
||||
|
||||
return 0 ;
|
||||
}
|
||||
END :
|
||||
// fine programma
|
||||
LOG_DATETIME( &logger, " End Test") ;
|
||||
|
||||
|
||||
return nErr ;
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
+18
-13
@@ -56,6 +56,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -64,6 +65,9 @@
|
||||
<PostBuildEvent>
|
||||
<Command>copy $(TargetPath) \EgtProg\TestEGk\</Command>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
@@ -84,36 +88,37 @@
|
||||
<PostBuildEvent>
|
||||
<Command>copy $(TargetPath) \EgtProg\TestEGk\</Command>
|
||||
</PostBuildEvent>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\Include\EgkCurve.h" />
|
||||
<ClInclude Include="..\Include\EgkCurveArc.h" />
|
||||
<ClInclude Include="..\Include\EgkCurveBezier.h" />
|
||||
<ClInclude Include="..\Include\EgkCurveComposite.h" />
|
||||
<ClInclude Include="..\Include\EgkCurveLine.h" />
|
||||
<ClInclude Include="..\Include\EGkFrame3d.h" />
|
||||
<ClInclude Include="..\Include\EgkGdbExecutor.h" />
|
||||
<ClInclude Include="..\Include\EGkGeoConst.h" />
|
||||
<ClInclude Include="..\Include\EGkGeoObj.h" />
|
||||
<ClInclude Include="..\Include\EGkGeoObjType.h" />
|
||||
<ClInclude Include="..\Include\EGkGeoPoint3d.h" />
|
||||
<ClInclude Include="..\Include\EGkGeoVector3d.h" />
|
||||
<ClInclude Include="..\Include\EGkPoint3d.h" />
|
||||
<ClInclude Include="..\Include\EGkVector3d.h" />
|
||||
<ClInclude Include="..\Include\EGkGeomDB.h" />
|
||||
<ClInclude Include="..\Include\EGkVersion.h" />
|
||||
<ClInclude Include="..\Include\EgnCmdParser.h" />
|
||||
<ClInclude Include="..\Include\EGnStringConverter.h" />
|
||||
<ClInclude Include="..\Include\EGnStringUtils.h" />
|
||||
<ClInclude Include="..\Include\EGnVersion.h" />
|
||||
<ClInclude Include="..\Include\EgtILogger.h" />
|
||||
<ClInclude Include="..\Include\EgtIniFile.h" />
|
||||
<ClInclude Include="..\Include\EgtLogger.h" />
|
||||
<ClInclude Include="..\Include\EgtPointerOwner.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="TegExecutor.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TegExecutor.cpp" />
|
||||
<ClCompile Include="TestEGk.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="TestEGk.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
||||
+29
-39
@@ -18,27 +18,6 @@
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeoConst.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeoObj.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeoObjType.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeoPoint3d.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeoVector3d.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkPoint3d.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkVector3d.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkVersion.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
@@ -48,24 +27,6 @@
|
||||
<ClInclude Include="..\Include\EGnVersion.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkFrame3d.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkCurveLine.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkCurve.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkCurveArc.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkCurveBezier.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkCurveComposite.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgkGdbExecutor.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
@@ -75,6 +36,27 @@
|
||||
<ClInclude Include="..\Include\EGnStringConverter.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgtLogger.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgtPointerOwner.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkGeomDB.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TegExecutor.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgtILogger.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EgtIniFile.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
@@ -83,5 +65,13 @@
|
||||
<ClCompile Include="TestEGk.cpp">
|
||||
<Filter>File di origine</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TegExecutor.cpp">
|
||||
<Filter>File di origine</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="TestEGk.rc">
|
||||
<Filter>File di risorse</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user