diff --git a/EgtGeneral.rc b/EgtGeneral.rc
index 8977ced..6f2a68f 100644
Binary files a/EgtGeneral.rc and b/EgtGeneral.rc differ
diff --git a/EgtGeneral.vcxproj b/EgtGeneral.vcxproj
index 66be3a0..499acda 100644
--- a/EgtGeneral.vcxproj
+++ b/EgtGeneral.vcxproj
@@ -105,7 +105,7 @@
Windows
true
- version.lib;shlwapi.lib;%(AdditionalDependencies)
+ version.lib;shlwapi.lib;Rpcrt4.lib;%(AdditionalDependencies)
copy $(TargetDir)$(TargetName).pdb \EgtDev\Lib\
@@ -126,7 +126,7 @@ copy $(TargetPath) \EgtProg\DllD32
Windows
true
- version.lib;shlwapi.lib;%(AdditionalDependencies)
+ version.lib;shlwapi.lib;Rpcrt4.lib;%(AdditionalDependencies)
copy $(TargetDir)$(TargetName).pdb \EgtDev\Lib\
@@ -155,7 +155,7 @@ copy $(TargetPath) \EgtProg\DllD64
false
true
true
- version.lib;shlwapi.lib;%(AdditionalDependencies)
+ version.lib;shlwapi.lib;Rpcrt4.lib;%(AdditionalDependencies)
copy $(TargetDir)$(TargetName).lib \EgtDev\Lib\
@@ -183,7 +183,7 @@ copy $(TargetPath) \EgtProg\Dll32
false
true
true
- version.lib;shlwapi.lib;%(AdditionalDependencies)
+ version.lib;shlwapi.lib;Rpcrt4.lib;%(AdditionalDependencies)
copy $(TargetDir)$(TargetName).lib \EgtDev\Lib\
@@ -201,8 +201,9 @@ copy $(TargetPath) \EgtProg\Dll64
-
+
+
@@ -229,6 +230,7 @@ copy $(TargetPath) \EgtProg\Dll64
+
@@ -240,7 +242,7 @@ copy $(TargetPath) \EgtProg\Dll64
false
-
+
Create
Create
@@ -248,6 +250,7 @@ copy $(TargetPath) \EgtProg\Dll64
Create
+
diff --git a/EgtGeneral.vcxproj.filters b/EgtGeneral.vcxproj.filters
index 5b41179..881ef88 100644
--- a/EgtGeneral.vcxproj.filters
+++ b/EgtGeneral.vcxproj.filters
@@ -21,9 +21,6 @@
File di intestazione
-
- File di intestazione
-
File di intestazione
@@ -66,6 +63,12 @@
File di intestazione
+
+ File di intestazione
+
+
+ File di intestazione
+
@@ -74,9 +77,6 @@
File di origine
-
- File di origine
-
File di origine
@@ -104,6 +104,15 @@
File di origine
+
+ File di origine
+
+
+ File di origine
+
+
+ File di origine
+
diff --git a/EgtUUID.cpp b/EgtUUID.cpp
new file mode 100644
index 0000000..a5ec091
--- /dev/null
+++ b/EgtUUID.cpp
@@ -0,0 +1,58 @@
+//----------------------------------------------------------------------------
+// EgalTech 2015-2015
+//----------------------------------------------------------------------------
+// File : EgtUUID.cpp Data : 01.06.15 Versione : 1.6f1
+// Contenuto : Funzioni per EgtUUID.
+//
+//
+//
+// Modifiche : 01.06.15 DS Creazione modulo.
+//
+//
+//----------------------------------------------------------------------------
+
+//--------------------------- Include ----------------------------------------
+#include "stdafx.h"
+#include "/EgtDev/Include/EGnEgtUUID.h"
+#include
+#include
+
+using namespace std ;
+
+//----------------------------------------------------------------------------
+bool
+CreateEgtUUID( EgtUUID& uuId)
+{
+ if ( UuidCreate( (UUID*)( &uuId)) != RPC_S_OK)
+ return false ;
+ return true ;
+}
+
+//----------------------------------------------------------------------------
+string
+ToString( const EgtUUID& uuId)
+{
+ static const int order[16] = {3,2,1,0, 5,4, 7,6, 8,9, 10,11,12,13,14,15} ;
+ static const int dash[16] = {0,0,0,1, 0,1, 0,1, 0,1, 0, 0, 0, 0, 0, 0} ;
+ static const char x[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'} ;
+ const unsigned char* b = (const unsigned char*) &uuId ;
+ char szBuff[40] ;
+ char* p = szBuff ;
+ for ( int i = 0 ; i < 16 ; ++i) {
+ *p++ = x[b[order[i]]>>4] ;
+ *p++ = x[b[order[i]]&0x0f] ;
+ if ( dash[i] != 0)
+ *p++ = '-' ;
+ }
+ *p = '\0' ;
+ return szBuff ;
+}
+
+//----------------------------------------------------------------------------
+bool
+FromString( const string& sVal, EgtUUID& uuId)
+{
+ if ( UuidFromStringA( (unsigned char*) sVal.c_str(), (UUID*)( &uuId)) != RPC_S_OK)
+ return false ;
+ return true ;
+}
\ No newline at end of file
diff --git a/FileCompare.cpp b/FileCompare.cpp
index 7ff2b9f..0d96cba 100644
--- a/FileCompare.cpp
+++ b/FileCompare.cpp
@@ -16,7 +16,7 @@
#include "stdafx.h"
#include "/EgtDEv/Include/EgnFileCompare.h"
#include "/EgtDEv/Include/EgtStringConverter.h"
-#include "/EgtDEv/Include/EGnScan.h"
+#include "/EgtDEv/Include/EGnScanner.h"
#include
#include
diff --git a/FileUtils.cpp b/FileUtils.cpp
index c7d88d1..8013552 100644
--- a/FileUtils.cpp
+++ b/FileUtils.cpp
@@ -40,6 +40,20 @@ ExistsFile( const string& sFile)
return true ;
}
+//-----------------------------------------------------------------------------
+bool
+CopyFileEgt( const string& sFile, const string& sNewFile)
+{
+ return ( ::CopyFileW( stringtoW( sFile), stringtoW( sNewFile), false) != 0) ;
+}
+
+//-----------------------------------------------------------------------------
+bool
+RenameFile( const string& sFile, const string& sNewFile)
+{
+ return ( ::MoveFileW( stringtoW( sFile), stringtoW( sNewFile)) != 0) ;
+}
+
//-----------------------------------------------------------------------------
bool
EraseFile( const string& sFile)
diff --git a/Scan.cpp b/Scanner.cpp
similarity index 90%
rename from Scan.cpp
rename to Scanner.cpp
index 4e5a618..7478eb4 100644
--- a/Scan.cpp
+++ b/Scanner.cpp
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
-// File : Scan.cpp Data : 17.06.14 Versione : 1.5f3
+// File : Scanner.cpp Data : 17.06.14 Versione : 1.5f3
// Contenuto : Implementazione della classe Scanner.
// Scansione di file di testo con codifica UTF-8 (anche con BOM)
// e quindi anche ASCII.
@@ -16,7 +16,7 @@
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
-#include "/EgtDEv/Include/EGnScan.h"
+#include "/EgtDEv/Include/EGnScanner.h"
#include "/EgtDEv/Include/EGnStringUtils.h"
#include "/EgtDEv/Include/EgtStringConverter.h"
#include "/EgtDev/Extern/Zlib/Include/zlib.h"
@@ -25,7 +25,7 @@ using namespace std ;
//----------------------------------------------------------------------------
bool
-Scanner::Init( const std::string& sFile, const char* szRemInit, bool bSkipEmptyLine)
+Scanner::Init( const string& sFile, const char* szRemInit, bool bSkipEmptyLine)
{
// apertura del file di ingresso
m_InFile = gzopen_w( stringtoW( sFile), "rb") ;
diff --git a/Writer.cpp b/Writer.cpp
new file mode 100644
index 0000000..344e21c
--- /dev/null
+++ b/Writer.cpp
@@ -0,0 +1,68 @@
+//----------------------------------------------------------------------------
+// EgalTech 2015-2015
+//----------------------------------------------------------------------------
+// File : Writer.cpp Data : 02.06.15 Versione : 1.6f1
+// Contenuto : Implementazione della classe Writer.
+// Scrittura di file di testo con codifica UTF-8.
+//
+//
+// Modifiche : 02.06.15 DS Creazione modulo.
+//
+//
+//
+//----------------------------------------------------------------------------
+
+//--------------------------- Include ----------------------------------------
+#include "stdafx.h"
+#include "/EgtDev/Include/EGnWriter.h"
+#include "/EgtDev/Include/EgtStringConverter.h"
+#include "/EgtDev/Extern/Zlib/Include/zlib.h"
+
+using namespace std ;
+
+//----------------------------------------------------------------------------
+bool
+Writer::Init( const string& sFileOut, bool bCompressed)
+{
+ // apertura del file di uscita
+ m_OutFile = gzopen_w( stringtoW( sFileOut), ( bCompressed ? "wb" : "wbT")) ;
+ if ( m_OutFile == nullptr)
+ return false ;
+ const int DIM_BUFFER = 65536 ;
+ if ( gzbuffer( m_OutFile, DIM_BUFFER) != Z_OK)
+ return false ;
+ const int COMPR_LEVEL = 3 ; // 0 = no compression ... 9 = max compression
+ if ( gzsetparams( m_OutFile, COMPR_LEVEL, Z_DEFAULT_STRATEGY) != Z_OK)
+ return false ;
+ return true ;
+}
+
+//----------------------------------------------------------------------------
+bool
+Writer::Close( void)
+{
+ if ( m_OutFile != nullptr) {
+ bool bOk = ( gzclose( m_OutFile) == Z_OK) ;
+ m_OutFile = nullptr ;
+ return bOk ;
+ }
+ return true ;
+}
+
+//----------------------------------------------------------------------------
+bool
+Writer::OutText( const string& sText, bool bEndL)
+{
+ // verifico apertura file
+ if ( m_OutFile == nullptr)
+ return false ;
+ // scrivo stringa
+ if ( gzputs( m_OutFile, sText.c_str()) == Z_ERRNO)
+ return false ;
+ // se richiesto, scrivo fine linea
+ if ( bEndL) {
+ if ( gzputs( m_OutFile, "\r\n") == Z_ERRNO)
+ return false ;
+ }
+ return true ;
+}