diff --git a/foxbin2prg.cfg b/foxbin2prg.cfg
index 19b5a6f..5e8f253 100644
--- a/foxbin2prg.cfg
+++ b/foxbin2prg.cfg
@@ -55,7 +55,7 @@
*Debug: 1
*ExtraBackupLevels: 3
ClearUniqueID: 1
-*OptimizeByFilestamp: 0
+OptimizeByFilestamp: 0
* EN: Uncomment to activate the new value, comment to deactivate and use the default
diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index 118cd7c..e8d620f 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -480,7 +480,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
c_Type = ''
t_InputFile_TimeStamp = {//::}
t_OutputFile_TimeStamp = {//::}
- lFileMode = .F.
+ lFileMode = .T.
n_ExisteCapitalizacion = -1
l_ConfigEvaluated = .F.
l_Debug = .F.
@@ -3477,6 +3477,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, OBJECT ;
, RESERVED1 ;
, RESERVED2 ;
+ , SCCDATA ;
, LOCAL ;
, KEY ) ;
VALUES ;
@@ -3495,6 +3496,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, toProject._HomeDir + CHR(0) ;
, UPPER(THIS.c_OutputFile) ;
, toProject._ServerHead.getRowServerInfo() ;
+ , toProject._SccData ;
, .T. ;
, UPPER( JUSTSTEM( THIS.c_OutputFile) ) )
@@ -4099,6 +4101,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
lcPropsMemo = .objectProps2Memo( toObjeto, toClase )
lcMethodsMemo = .objectMethods2Memo( toObjeto, toClase )
+ IF EMPTY(toObjeto._TIMESTAMP)
+ toObjeto._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(toObjeto._UNIQUEID)
+ toObjeto._UNIQUEID = SYS(2015)
+ ENDIF
+
*-- Inserto el objeto
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -4125,8 +4134,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, USER) ;
VALUES ;
( 'WINDOWS' ;
- , IIF( toFoxBin2Prg.l_ClearUniqueID, '', toObjeto._UniqueID ) ;
- , IIF( toFoxBin2Prg.l_NoTimestamps, 0, toObjeto._TimeStamp ) ;
+ , toObjeto._UniqueID ;
+ , toObjeto._TimeStamp ;
, toObjeto._Class ;
, toObjeto._ClassLib ;
, toObjeto._BaseClass ;
@@ -4176,6 +4185,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
FOR X = 1 TO toClase._AddObject_Count
loObjeto = toClase._AddObjects( X )
+
+ IF EMPTY(loObjeto._TIMESTAMP)
+ loObjeto._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(loObjeto._UNIQUEID)
+ loObjeto._UNIQUEID = SYS(2015)
+ ENDIF
+
laObjNames( X, 1 ) = loObjeto._Nombre
laObjNames( X, 2 ) = loObjeto._ZOrder
loObjeto = NULL
@@ -5341,6 +5358,13 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
LOOP
ENDIF
+ IF EMPTY(loClase._TIMESTAMP)
+ loClase._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(loClase._UNIQUEID)
+ loClase._UNIQUEID = SYS(2015)
+ ENDIF
+
*-- Inserto la clase
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -5367,8 +5391,8 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
, USER) ;
VALUES ;
( 'WINDOWS' ;
- , IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ;
- , IIF( toFoxBin2Prg.l_NoTimestamps, 0, loClase._TimeStamp ) ;
+ , loClase._UniqueID ;
+ , loClase._TimeStamp ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -5637,6 +5661,13 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
LOOP
ENDIF
+ IF EMPTY(loClase._TIMESTAMP)
+ loClase._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(loClase._UNIQUEID)
+ loClase._UNIQUEID = SYS(2015)
+ ENDIF
+
*-- Inserto la clase
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -5663,8 +5694,8 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
, USER) ;
VALUES ;
( 'WINDOWS' ;
- , IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ;
- , IIF( toFoxBin2Prg.l_NoTimestamps, 0, loClase._TimeStamp ) ;
+ , loClase._UniqueID ;
+ , loClase._TimeStamp ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -5858,6 +5889,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG'
STORE NULL TO loFile, loServerHead
toProject._HomeDir = CHRTRAN( toProject._HomeDir, ['], [] )
+ toProject._SccData = CHR(3) + CHR(0) + CHR(1) + REPLICATE( CHR(0), 651 )
*-- Creo solo el registro de cabecera del proyecto
.createProject_RecordHeader( toProject )
@@ -5868,6 +5900,13 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
lcMainProg = LOWER( SYS(2014, toProject._MainProg, ADDBS(toProject._HomeDir) ) )
ENDIF
+ IF EMPTY(toProject._TIMESTAMP)
+ toProject._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(toProject._ID)
+ toProject._ID = INT(VAL(SYS(3)))
+ ENDIF
+
*-- Si hay ProjectHook de proyecto, lo inserto
IF NOT EMPTY(toProject._ProjectHookLibrary)
INSERT INTO TABLABIN ;
@@ -5900,6 +5939,14 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
*-- Agrego los ARCHIVOS
FOR EACH loFile IN toProject FOXOBJECT
+
+ IF EMPTY(loFile._TIMESTAMP)
+ loFile._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
+ ENDIF
+ IF EMPTY(loFile._ID)
+ loFile._ID = INT(VAL(SYS(3)))
+ ENDIF
+
INSERT INTO TABLABIN ;
( NAME ;
, TYPE ;
@@ -5920,8 +5967,8 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
, loFile._Comments ;
, .T. ;
, loFile._CPID ;
- , IIF( toFoxBin2Prg.l_ClearUniqueID, 0, loFile._ID ) ;
- , IIF( toFoxBin2Prg.l_NoTimestamps, 0, loFile._TimeStamp ) ;
+ , loFile._ID ;
+ , loFile._TimeStamp ;
, loFile._ObjRev ;
, UPPER(JUSTSTEM(loFile._Name)) )
ENDFOR
@@ -6629,11 +6676,17 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
*-- Agrego los registros
FOR EACH loReg IN toReport FOXOBJECT
- IF toFoxBin2Prg.l_NoTimestamps
- loReg.TIMESTAMP = 0
+ *IF toFoxBin2Prg.l_NoTimestamps
+ * loReg.TIMESTAMP = 0
+ *ENDIF
+ *IF toFoxBin2Prg.l_ClearUniqueID
+ * loReg.UNIQUEID = ''
+ *ENDIF
+ IF EMPTY(loReg.TIMESTAMP)
+ loReg.TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
- IF toFoxBin2Prg.l_ClearUniqueID
- loReg.UNIQUEID = ''
+ IF EMPTY(loReg.UNIQUEID) OR ALLTRIM(loReg.UNIQUEID) = '0'
+ loReg.UNIQUEID = SYS(2015)
ENDIF
*-- Ajuste de los tipos de dato
@@ -11450,6 +11503,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -11495,6 +11549,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
_SourceFile = ''
_TimeStamp = 0
_Version = ''
+ _SccData = ''
*-- Dev.info
_Author = ''