diff --git a/TESTS/DATOS_READONLY/FB2P_DBC.DC2 b/TESTS/DATOS_READONLY/FB2P_DBC.DC2
index 8310436..2179979 100644
--- a/TESTS/DATOS_READONLY/FB2P_DBC.DC2
+++ b/TESTS/DATOS_READONLY/FB2P_DBC.DC2
@@ -38,7 +38,7 @@
- DRIVER={Oracle en OraClient11g_home1};SERVER=CARTERA;UID=STROSNC;PWD=STROSNC;DBQ=CARTERA;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;MLD=0;ODA=
+ DRIVER={Oracle en OraClient11g_home1};SERVER=BDDServer;UID=BDDUser;PWD=BDDPwd;DBQ=CARTERA;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;MLD=0;ODA
.F.
.T.
15
diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dbc b/TESTS/DATOS_READONLY/fb2p_dbc.dbc
index 08c5fa2..e663ef9 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dbc and b/TESTS/DATOS_READONLY/fb2p_dbc.dbc differ
diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dct b/TESTS/DATOS_READONLY/fb2p_dbc.dct
index bf41563..2efee30 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dct and b/TESTS/DATOS_READONLY/fb2p_dbc.dct differ
diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2
index 942d439..0c6eca2 100644
--- a/foxbin2prg.pj2
+++ b/foxbin2prg.pj2
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
_ProductName = " FOXBIN2PRG"
_MajorVer = "1"
_MinorVer = "19"
-_Revision = " 220"
+_Revision = " 226"
_LanguageID = "1034"
_AutoIncrement = "1"
*
@@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx')
WITH loProject.FILES
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
- .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1144997514" ID="1130644423" ObjRev="544" />
+ .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145212368" ID="1130644423" ObjRev="544" />
*
.ITEM('__newproject.f2b').Remove()
diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt
index 56a4f9b..b05d3d2 100644
Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ
diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx
index 5a3a0e7..5e305c5 100644
Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ
diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index 10fc4d1..0688a03 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -66,7 +66,9 @@
* 08/01/2014 FDBOZZO v1.19.3 Cambio en los timestamps de los TXT para mantener los valores vacíos que generaban muchísimas diferencias
* 22/01/2014 FDBOZZO v1.19.4 Nuevo parámetro Recompile para forzar la recompilación. Ahora por defecto el binario no se recompila para ganar velocidad y evitar errores. Debe recompilar manualmente.
* 22/01/2014 FDBOZZO v1.19.4 DBC: Agregado soporte para comentarios multilínea (propiedad Comment)
-* 30/01/2014 FDBOZZO v1.19.5 Agregada compatibilidad con SourceSafe para Diff y Merge
+* 26/01/2014 FDBOZZO v1.19.5 Agregado soporte multiidioma y traducción al Inglés
+* 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge
+* 02/02/2014 FDBOZZO v1.19.7 Encapsulación de objetos OLE en el propio control o clase // Blocksize ajustado
*
*
*---------------------------------------------------------------------------------------------------
@@ -83,7 +85,6 @@
* 14/12/2013 Fidel Charny REPORTE BUG scx v1.13: La regeneración de los forms (SCX) no regenera el último registro COMMENT (arreglado en v.1.14)
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El menú no siempre respeta la posición original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cláusula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
-* 07/01/2014 F.D.Bozzo BUG vcx/scx v1.18: Los *métodos deben ir siempre al final en el Reserved3, si no los eventos ACCESS no se disparan
*
*
*---------------------------------------------------------------------------------------------------
@@ -111,7 +112,7 @@
*
* Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX"
*---------------------------------------------------------------------------------------------------
-LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName, tcRecompile
+LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName, tcRecompile, tcNoTimestamps
*-- Internacionalización / Internationalization
*-- Fin / End
@@ -310,7 +311,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb
*******************************************************************************************************************
LOCAL loCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
-LOCAL lnResp, loEx as Exception
+LOCAL lnResp, loEx AS EXCEPTION
*SYS(2030,1)
*SYS(2335,0)
@@ -322,7 +323,7 @@ LOCAL lnResp, loEx as Exception
loCnv = CREATEOBJECT("c_foxbin2prg")
loEx = NULL
lnResp = loCnv.ejecutar( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug ;
- , '', NULL, @loEx, .F., tcOriginalFileName, tcRecompile )
+ , '', NULL, @loEx, .F., tcOriginalFileName, tcRecompile, tcNoTimestamps )
ADDPROPERTY(_SCREEN, 'ExitCode', lnResp)
*IF _VFP.STARTMODE <= 1
@@ -383,6 +384,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -411,6 +413,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
l_ShowErrors = .F.
l_ShowProgress = .F.
l_Recompile = .F.
+ l_UseTimestamps = .T.
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
@@ -464,7 +467,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
* Using Win32 Functions in Visual FoxPro
* example=103
* Changing file attributes
- LPARAMETERS tcFilename, tcAttrib
+ LPARAMETERS tcFileName, tcAttrib
tcAttrib = UPPER(tcAttrib)
#DEFINE FILE_ATTRIBUTE_READONLY 1
@@ -480,7 +483,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
DECLARE INTEGER GetFileAttributes IN kernel32 STRING tcFileName
* read current attributes for this file
- dwFileAttributes = GetFileAttributes(tcFilename)
+ dwFileAttributes = GetFileAttributes(tcFileName)
IF dwFileAttributes = -1
* the file does not exist
@@ -539,32 +542,32 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDIF
* setting selected attributes
- =SetFileAttributes(tcFilename, dwFileAttributes)
+ =SetFileAttributes(tcFileName, dwFileAttributes)
ENDIF
ENDPROC
PROCEDURE compileFoxProBinary
- LPARAMETERS tcFilename
+ LPARAMETERS tcFileName
LOCAL lcType
- tcFilename = EVL(tcFilename, THIS.c_OutputFile)
- lcType = UPPER(JUSTEXT(tcFilename))
+ tcFileName = EVL(tcFileName, THIS.c_OutputFile)
+ lcType = UPPER(JUSTEXT(tcFileName))
DO CASE
CASE lcType = 'VCX'
- COMPILE CLASSLIB (tcFilename)
+ COMPILE CLASSLIB (tcFileName)
CASE lcType = 'SCX'
- COMPILE FORM (tcFilename)
+ COMPILE FORM (tcFileName)
CASE lcType = 'FRX'
- COMPILE REPORT (tcFilename)
+ COMPILE REPORT (tcFileName)
CASE lcType = 'LBX'
- COMPILE LABEL (tcFilename)
+ COMPILE LABEL (tcFileName)
CASE lcType = 'DBC'
- COMPILE DATABASE (tcFilename)
+ COMPILE DATABASE (tcFileName)
ENDCASE
ENDPROC
@@ -582,7 +585,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -681,9 +684,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
* generar errores de compilación, típicamente los #include.
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usará como base para recompilar
+ * tcNoTimestamps (v? IN ) Indica si se deben vacar ('1') o no ['0'] los timestamps de registro
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
- , toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName, tcRecompile
+ , toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName, tcRecompile, tcNoTimestamps
TRY
LOCAL I, lcPath, lnCodError, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt ;
@@ -691,8 +695,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
, loEx AS EXCEPTION ;
, loFSO AS Scripting.FileSystemObject
- lnCodError = 0
- tcRecompile = EVL(tcRecompile,'')
+ lnCodError = 0
+ tcRecompile = EVL(tcRecompile,'1')
+ tcNoTimestamps = EVL(tcNoTimestamps,'0')
*SET DELETED ON
*SET DATE YMD
@@ -722,8 +727,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
*-- Ejecución normal
THIS.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
THIS.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
- *THIS.l_Recompile = (NOT EMPTY(tcRecompile) AND (TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile)))
THIS.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile))
+ THIS.l_UseTimestamps = (EMPTY(tcNoTimestamps) OR TRANSFORM(tcNoTimestamps) == '0')
THIS.l_Debug = (TRANSFORM(tcDebug)=='1' OR FILE(FORCEEXT(THIS.c_Foxbin2prg_FullPath,'LOG')))
IF THIS.l_ShowProgress
@@ -813,7 +818,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
OTHERWISE
lnCodError = -1
ENDCASE
-
+
ELSE
IF EVL(tcType,'0') <> '0' AND EVL(tcTextName,'0') <> '0'
@@ -856,7 +861,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDCASE
CATCH TO toEx
- lnCodError = toEx.ErrorNo
+ lnCodError = toEx.ERRORNO
lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + C_SOURCEFILE_LOC + THIS.c_InputFile
ADDPROPERTY(_SCREEN, 'ExitCode', toEx.ERRORNO)
@@ -1379,6 +1384,7 @@ DEFINE CLASS c_conversor_base AS SESSION
SET CENTURY ON
SET SAFETY OFF
SET TABLEPROMPT OFF
+ SET BLOCKSIZE TO 0
PUBLIC C_FB2PRG_CODE
C_FB2PRG_CODE = '' && Contendrá todo el código generado
@@ -1557,11 +1563,11 @@ DEFINE CLASS c_conversor_base AS SESSION
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase correspondiente con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
THIS.writeLog( '' )
THIS.writeLog( C_CONVERTING_FILE_LOC + ' ' + THIS.c_OutputFile + '...' )
@@ -2467,11 +2473,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase correspondiente con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
ENDPROC
@@ -2638,8 +2644,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*-- Validación
IF EMPTY(taBloquesExclusion(tnBloquesExclusion,2))
*ERROR 'No se ha encontrado el marcador de fin [' + ta_ID_Bloques(lnPrimerID,2) ;
- + '] que cierra al marcador de inicio [' + ta_ID_Bloques(lnPrimerID,1) ;
- + '] de la línea ' + TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))
+ + '] que cierra al marcador de inicio [' + ta_ID_Bloques(lnPrimerID,1) ;
+ + '] de la línea ' + TRANSFORM(taBloquesExclusion(tnBloquesExclusion,1))
ERROR (TEXTMERGE(C_END_MARKER_NOT_FOUND_LOC))
ENDIF
ENDIF
@@ -3327,7 +3333,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*******************************************************************************************************************
PROCEDURE insert_Object
- LPARAMETERS toClase, toObjeto
+ LPARAMETERS toClase, toObjeto, toFoxBin2Prg
+
+ #IF .F.
+ LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
+ #ENDIF
IF NOT THIS.l_Test
*-- Inserto el objeto
@@ -3357,7 +3369,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
VALUES ;
( 'WINDOWS' ;
, toObjeto._UniqueID ;
- , toObjeto._TimeStamp ;
+ , IIF( toFoxBin2Prg.l_UseTimestamps, toObjeto._TimeStamp, 0 ) ;
, toObjeto._Class ;
, toObjeto._ClassLib ;
, toObjeto._BaseClass ;
@@ -3386,10 +3398,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*-- Recorro primero los objetos con ZOrder definido, y luego los demás
*-- NOTA: Como consecuencia de una integración de código, puede que se hayan agregado objetos nuevos (desconocidos),
*-- pero todo lo demás tiene un ZOrder definido, que es el número de registro original * 100.
- LPARAMETERS toClase
+ LPARAMETERS toClase, toFoxBin2Prg
#IF .F.
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -3419,7 +3432,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
IF loObjeto._WriteOrder = 0 AND loObjeto._Nombre == lcObjName
N = N + 1
loObjeto._WriteOrder = N
- THIS.insert_Object( toClase, loObjeto )
+ THIS.insert_Object( toClase, loObjeto, toFoxBin2Prg )
EXIT
ENDIF
ENDFOR
@@ -3429,7 +3442,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*-- Recorro los objetos Desconocidos
FOR EACH loObjeto IN toClase._AddObjects FOXOBJECT
IF loObjeto._WriteOrder = 0
- THIS.insert_Object( toClase, loObjeto )
+ THIS.insert_Object( toClase, loObjeto, toFoxBin2Prg )
ENDIF
ENDFOR
@@ -3491,13 +3504,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
CASE LEFT( tcLine + ' ', 10 ) == C_ENDDEFINE + ' ' && Fin de bloque (ENDDEFINE) encontrado
IF llEsProcedureDeClase
*ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ;
- + toClase._Nombre + ' (' + loProcedure._Nombre + ')' ;
- + ', línea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
+ + toClase._Nombre + ' (' + loProcedure._Nombre + ')' ;
+ + ', línea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC))
ELSE
*ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ;
- + toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ;
- + ', línea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
+ + toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ;
+ + ', línea ' + TRANSFORM(I) + ' del archivo ' + THIS.c_InputFile
ERROR (TEXTMERGE(C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC))
ENDIF
ENDCASE
@@ -3588,14 +3601,17 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
toObjeto._Ole2 = .get_ValueByName_FromListNamesWithValues( 'OLEObject', 'C', @laPropsAndValues )
toObjeto._ZOrder = .get_ValueByName_FromListNamesWithValues( 'ZOrder', 'I', @laPropsAndValues )
toObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
+ toObjeto._Ole = STRCONV( .get_ValueByName_FromListNamesWithValues( 'Value', 'C', @laPropsAndValues ), 14 )
IF NOT EMPTY( toObjeto._Ole2 ) && Le agrego "OLEObject = " delante
toObjeto._Ole2 = 'OLEObject = ' + toObjeto._Ole2 + CR_LF
ENDIF
*-- Ubico el objeto ole por su nombre (parent+objname), que no se repite.
- IF toModulo.existeObjetoOLE( toObjeto._Nombre, @Z )
- toObjeto._Ole = toModulo._Ole_Objs(Z)._Value
+ IF EMPTY(toObjeto._Ole) && Si _Ole está vacío es porque el propio control no tiene la info y está en la cabecera (antiguo guardado)
+ IF toModulo.existeObjetoOLE( toObjeto._Nombre, @Z )
+ toObjeto._Ole = toModulo._Ole_Objs(Z)._Value
+ ENDIF
ENDIF
EXIT
@@ -3846,9 +3862,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*-- Validación
IF EMPTY( toClase._Fin )
*ERROR 'No se ha encontrado el marcador de fin [ENDDEFINE] ' ;
- + 'que cierra al marcador de inicio [DEFINE CLASS] ' ;
- + 'de la línea ' + TRANSFORM( toClase._Inicio ) + ' ' ;
- + 'para el identificador [' + toClase._Nombre + ']'
+ + 'que cierra al marcador de inicio [DEFINE CLASS] ' ;
+ + 'de la línea ' + TRANSFORM( toClase._Inicio ) + ' ' ;
+ + 'para el identificador [' + toClase._Nombre + ']'
ERROR (TEXTMERGE(C_ENDDEFINE_MARKER_NOT_FOUND_LOC))
ENDIF
@@ -3975,6 +3991,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
toClase._ProjectClassIcon = .get_ValueByName_FromListNamesWithValues( 'ProjectClassIcon', 'C', @laPropsAndValues )
toClase._ClassIcon = .get_ValueByName_FromListNamesWithValues( 'ClassIcon', 'C', @laPropsAndValues )
toClase._Ole2 = .get_ValueByName_FromListNamesWithValues( 'OLEObject', 'C', @laPropsAndValues )
+ toClase._Ole = STRCONV( .get_ValueByName_FromListNamesWithValues( 'Value', 'C', @laPropsAndValues ), 14 )
ENDWITH && THIS
IF NOT EMPTY( toClase._Ole2 ) && Le agrego "OLEObject = " delante
@@ -4274,11 +4291,11 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -4292,7 +4309,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo la librería
THIS.createClasslib()
@@ -4303,7 +4320,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toModulo )
- THIS.escribirArchivoBin( @toModulo, toFoxbin2prg )
+ THIS.escribirArchivoBin( @toModulo, toFoxBin2Prg )
CATCH TO toEx
@@ -4323,7 +4340,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
*******************************************************************************************************************
PROCEDURE escribirArchivoBin
- LPARAMETERS toModulo, toFoxbin2prg
+ LPARAMETERS toModulo, toFoxBin2Prg
*-- Estructura del objeto toModulo generado:
*-- -----------------------------------------------------------------------------------------------------------
*-- Version Versión usada para generar la versión PRG analizada
@@ -4391,7 +4408,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
*-- -----------------------------------------------------------------------------------------------------------
#IF .F.
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -4413,8 +4430,8 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
loClase = toModulo._Clases(I)
*-- El dataenvironment debe estar primero, luego lo demás.
- IF X = 1 AND NOT loClase._baseclass == 'dataenvironment' ;
- OR X = 2 AND loClase._baseclass == 'dataenvironment'
+ IF X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ;
+ OR X = 2 AND loClase._BaseClass == 'dataenvironment'
LOOP
ENDIF
@@ -4445,7 +4462,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
VALUES ;
( 'WINDOWS' ;
, loClase._UniqueID ;
- , loClase._TimeStamp ;
+ , IIF( toFoxBin2Prg.l_UseTimestamps, loClase._TimeStamp, 0 ) ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -4467,7 +4484,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
, loClase._User )
- THIS.insert_AllObjects( @loClase )
+ THIS.insert_AllObjects( @loClase, toFoxBin2Prg )
*-- Inserto el COMMENT
@@ -4497,7 +4514,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
VALUES ;
( 'COMMENT' ;
, 'RESERVED' ;
- , loClase._TimeStamp ;
+ , 0 ;
, '' ;
, '' ;
, '' ;
@@ -4523,8 +4540,8 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
USE IN (SELECT("TABLABIN"))
- IF toFoxbin2prg.l_Recompile
- toFoxbin2prg.compileFoxProBinary()
+ IF toFoxBin2Prg.l_Recompile
+ toFoxBin2Prg.compileFoxProBinary()
ENDIF
@@ -4563,11 +4580,11 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -4581,7 +4598,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo el form
THIS.createForm()
@@ -4592,7 +4609,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toModulo )
- THIS.escribirArchivoBin( @toModulo, toFoxbin2prg )
+ THIS.escribirArchivoBin( @toModulo, toFoxBin2Prg )
CATCH TO toEx
@@ -4612,7 +4629,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
*******************************************************************************************************************
PROCEDURE escribirArchivoBin
- LPARAMETERS toModulo, toFoxbin2prg
+ LPARAMETERS toModulo, toFoxBin2Prg
*-- Estructura del objeto toModulo generado:
*-- -----------------------------------------------------------------------------------------------------------
*-- Version Versión usada para generar la versión PRG analizada
@@ -4680,7 +4697,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
*-- -----------------------------------------------------------------------------------------------------------
#IF .F.
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -4702,10 +4719,10 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
FOR I = 1 TO toModulo._Clases_Count
loClase = toModulo._Clases(I)
-
+
*-- El dataenvironment debe estar primero, luego lo demás.
- IF X = 1 AND NOT loClase._baseclass == 'dataenvironment' ;
- OR X = 2 AND loClase._baseclass == 'dataenvironment'
+ IF X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ;
+ OR X = 2 AND loClase._BaseClass == 'dataenvironment'
LOOP
ENDIF
@@ -4736,7 +4753,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
VALUES ;
( 'WINDOWS' ;
, loClase._UniqueID ;
- , loClase._TimeStamp ;
+ , IIF( toFoxBin2Prg.l_UseTimestamps, loClase._TimeStamp, 0 ) ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -4758,7 +4775,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
, loClase._User )
- THIS.insert_AllObjects( @loClase )
+ THIS.insert_AllObjects( @loClase, toFoxBin2Prg )
ENDFOR && I = 1 TO toModulo._Clases_Count
ENDFOR && X = 1 TO 2
@@ -4813,8 +4830,8 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
USE IN (SELECT("TABLABIN"))
- IF toFoxbin2prg.l_Recompile
- toFoxbin2prg.compileFoxProBinary()
+ IF toFoxBin2Prg.l_Recompile
+ toFoxBin2Prg.compileFoxProBinary()
ENDIF
@@ -4860,14 +4877,14 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toProject (@! OUT) Objeto generado de clase CL_PROJECT con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toProject, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toProject, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toProject, @toEx )
#IF .F.
LOCAL toProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -4880,7 +4897,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo solo la cabecera del proyecto
THIS.createProject()
@@ -4891,7 +4908,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toProject )
- THIS.escribirArchivoBin( @toProject )
+ THIS.escribirArchivoBin( @toProject, toFoxBin2Prg )
CATCH TO toEx
@@ -4911,10 +4928,11 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
*******************************************************************************************************************
PROCEDURE escribirArchivoBin
- LPARAMETERS toProject
+ LPARAMETERS toProject, toFoxBin2Prg
*-- -----------------------------------------------------------------------------------------------------------
#IF .F.
LOCAL toProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -4986,7 +5004,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
, .T. ;
, loFile._CPID ;
, loFile._ID ;
- , loFile._TimeStamp ;
+ , IIF( toFoxBin2Prg.l_UseTimestamps, loFile._TimeStamp, 0 ) ;
, loFile._ObjRev ;
, UPPER(JUSTSTEM(loFile._Name)) )
ENDFOR
@@ -5583,14 +5601,14 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toReport (@! OUT) Objeto generado de clase CL_REPORT con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toReport, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toReport, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toReport, @toEx )
#IF .F.
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -5603,7 +5621,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo el reporte
THIS.createReport()
@@ -5611,7 +5629,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toReport )
- THIS.escribirArchivoBin( @toReport, toFoxbin2prg )
+ THIS.escribirArchivoBin( @toReport, toFoxBin2Prg )
CATCH TO loEx
@@ -5633,11 +5651,11 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
*******************************************************************************************************************
PROCEDURE escribirArchivoBin
- LPARAMETERS toReport, toFoxbin2prg
+ LPARAMETERS toReport, toFoxBin2Prg
*-- -----------------------------------------------------------------------------------------------------------
#IF .F.
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -5649,6 +5667,10 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
*-- Agrego los registros
FOR EACH loReg IN toReport FOXOBJECT
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loReg.TIMESTAMP = 0
+ ENDIF
+
*-- Ajuste de los tipos de dato
FOR I = 1 TO AMEMBERS(laProps, loReg, 0)
lnNumCampo = ASCAN( laFieldTypes, laProps(I), 1, -1, 1, 1+2+4+8 )
@@ -5686,8 +5708,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
USE IN (SELECT("TABLABIN"))
- IF toFoxbin2prg.l_Recompile
- toFoxbin2prg.compileFoxProBinary()
+ IF toFoxBin2Prg.l_Recompile
+ toFoxBin2Prg.compileFoxProBinary()
ENDIF
@@ -5981,14 +6003,14 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toTable (@! OUT) Objeto generado de clase CL_TABLE con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toTable, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toTable, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toTable, @toEx )
#IF .F.
LOCAL toTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -6001,7 +6023,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toTable )
@@ -6249,14 +6271,14 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toDatabase (@! OUT) Objeto generado de clase CL_DBC con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toDatabase, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toDatabase, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toDatabase, @toEx )
#IF .F.
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -6269,7 +6291,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo la tabla
*THIS.createTable()
@@ -6277,7 +6299,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
*-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte
THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toDatabase )
- THIS.escribirArchivoBin( @toDatabase, toFoxbin2prg )
+ THIS.escribirArchivoBin( @toDatabase, toFoxBin2Prg )
CATCH TO loEx
@@ -6299,11 +6321,11 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
*******************************************************************************************************************
PROCEDURE escribirArchivoBin
- LPARAMETERS toDatabase, toFoxbin2prg
+ LPARAMETERS toDatabase, toFoxBin2Prg
*-- -----------------------------------------------------------------------------------------------------------
#IF .F.
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -6313,8 +6335,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
toDatabase.updateDBC( THIS.c_OutputFile )
- IF toFoxbin2prg.l_Recompile
- toFoxbin2prg.compileFoxProBinary()
+ IF toFoxBin2Prg.l_Recompile
+ toFoxBin2Prg.compileFoxProBinary()
ENDIF
@@ -6419,14 +6441,14 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toMenu (@! OUT) Objeto generado de clase CL_DBC con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toMenu, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toMenu, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toMenu, @toEx )
#IF .F.
LOCAL toMenu AS CL_MENU OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -6439,7 +6461,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
- toFoxbin2prg.doBackup( .F., .T., '', '', '' )
+ toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
*-- Creo la tabla
THIS.createMenu()
@@ -6624,11 +6646,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase correspondiente con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
ENDPROC
@@ -7208,8 +7230,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*-- Agrego metainformación para objetos OLE
IF toRegObj.BASECLASS == 'olecontrol'
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
- OLEObject="<>" CheckSum="<>" <<>>
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
+ <<>> Nombre="<>"
+ Parent="<>"
+ ObjName="<>"
+ OLEObject="<>"
+ Value="<>" <<>>
ENDTEXT
ENDIF
@@ -7539,7 +7565,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
<<>>
ENDTEXT
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+8
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
<<>> <>
Baseclass="<>"
Timestamp="<>"
@@ -7548,8 +7574,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDTEXT
IF NOT EMPTY(toRegClass.OLE2)
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
- OLEObject="<>" CheckSum="<>" <<>>
+ TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
+ <<>> Nombre="<>"
+ Parent="<>"
+ ObjName="<>"
+ OLEObject="<>"
+ Value="<>"
ENDTEXT
ENDIF
@@ -7937,8 +7967,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*******************************************************************************************************************
PROCEDURE write_DefinicionObjetosOLE
*-- Crea la definición del tag *< OLE: /> con la información de todos los objetos OLE
+ LPARAMETERS toFoxBin2Prg
+
LOCAL lnOLECount, lcOLEChecksum, llOleExistente, loReg
+ #IF .F.
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ #ENDIF
+
TRY
SELECT TABLABIN
SET ORDER TO PARENT_OBJ
@@ -7946,6 +7982,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" AND BASECLASS = 'olecontrol'
SCATTER MEMO NAME loReg
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loReg.TIMESTAMP = 0
+ ENDIF
+
lcOLEChecksum = SYS(2007, loReg.OLE, 0, 1)
llOleExistente = .F.
@@ -7961,25 +8002,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
<<>>
ENDTEXT
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8
- <>
- Nombre="<>"
- Parent="<>"
- ObjName="<>"
- OLEObject="<>"
- Checksum="<>" <<>>
- ENDTEXT
-
- IF NOT llOleExistente
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
- Value="<>" <<>>
- ENDTEXT
- ENDIF
-
- TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
- <>
- ENDTEXT
-
ENDSCAN
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
@@ -8079,11 +8101,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -8101,11 +8123,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE
SET ORDER TO 0 IN TABLABIN
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
- THIS.write_DefinicionObjetosOLE()
+ THIS.write_DefinicionObjetosOLE( toFoxBin2Prg )
*-- Escribo los métodos ordenados
lnLastClass = 0
@@ -8118,6 +8140,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" AND TABLABIN.RESERVED1=="Class"
SCATTER MEMO NAME loRegClass
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegClass.TIMESTAMP = 0
+ ENDIF
+
lcObjName = ALLTRIM(loRegClass.OBJNAME)
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
@@ -8141,6 +8168,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
SCATTER MEMO NAME loRegObj
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegObj.TIMESTAMP = 0
+ ENDIF
+
ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios
THIS.write_ADD_OBJECTS_WithProperties( @loRegObj )
ENDSCAN
@@ -8167,6 +8199,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
WHILE ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
SCATTER MEMO NAME loRegObj
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegObj.TIMESTAMP = 0
+ ENDIF
+
THIS.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
ENDSCAN
@@ -8181,13 +8218,13 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -8224,14 +8261,14 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toModulo, @toEx )
#IF .F.
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -8251,11 +8288,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
*toModulo = NULL
*toModulo = CREATEOBJECT('CL_MODULO')
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
- THIS.write_DefinicionObjetosOLE()
+ THIS.write_DefinicionObjetosOLE( toFoxBin2Prg )
*-- Escribo los métodos ordenados
lnLastObj = 0
@@ -8284,7 +8321,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
*loRegClass = NULL
SCATTER MEMO NAME loRegClass
- *toModulo.add_Class( loRegClass )
+
lcObjName = ALLTRIM(loRegClass.OBJNAME)
THIS.write_ENDDEFINE_SiCorresponde( lnLastClass )
@@ -8308,6 +8345,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
SCATTER MEMO NAME loRegObj
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegObj.TIMESTAMP = 0
+ ENDIF
+
ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios
THIS.write_ADD_OBJECTS_WithProperties( @loRegObj )
ENDSCAN
@@ -8336,6 +8378,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
WHILE ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
SCATTER MEMO NAME loRegObj
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegObj.TIMESTAMP = 0
+ ENDIF
+
THIS.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
ENDSCAN
@@ -8350,13 +8397,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -8395,11 +8442,11 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_PROJECT con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -8422,6 +8469,11 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
*-- Obtengo los archivos del proyecto
loProject = CREATEOBJECT('CL_PROJECT')
SCATTER MEMO NAME loReg
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loReg.TIMESTAMP = 0
+ ENDIF
+
loProject._HomeDir = ['] + ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.HOMEDIR ) ) + [']
loProject._ServerInfo = loReg.RESERVED2
@@ -8458,6 +8510,11 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
*-- Escaneo el proyecto
SCAN ALL FOR NOT INLIST(TYPE, 'H','W','i' )
SCATTER FIELDS NAME,TYPE,EXCLUDE,COMMENTS,CPID,TIMESTAMP,ID,OBJREV MEMO NAME loReg
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loReg.TIMESTAMP = 0
+ ENDIF
+
loReg.NAME = LOWER( ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.NAME ) ) )
loReg.COMMENTS = ALLTRIM( THIS.get_ValueFromNullTerminatedValue( loReg.COMMENTS ) )
@@ -8474,7 +8531,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
ENDSCAN
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
*-- Directorio de inicio
@@ -8661,13 +8718,13 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -8711,11 +8768,11 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_PROJECT con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -8849,7 +8906,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
ENDFOR
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
*-- Directorio de inicio
@@ -9033,13 +9090,13 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -9088,11 +9145,11 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Objeto generado de clase CL_PROJECT con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -9111,18 +9168,30 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
LOCATE FOR ObjType = 1
IF FOUND()
SCATTER MEMO NAME loRegCab
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegCab.TIMESTAMP = 0
+ ENDIF
ENDIF
*-- Dataenvironment
LOCATE FOR ObjType = 25
IF FOUND()
SCATTER MEMO NAME loRegDataEnv
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegDataEnv.TIMESTAMP = 0
+ ENDIF
ENDIF
*-- Cursor1 (¿puede haber más de 1 cursor?)
LOCATE FOR ObjType = 26
IF FOUND()
SCATTER MEMO NAME loRegCur
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegCur.TIMESTAMP = 0
+ ENDIF
ENDIF
IF THIS.l_ReportSort_Enabled
@@ -9142,7 +9211,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
USE IN (SELECT("TABLABIN_0"))
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
*-- Recorro los registros y genero el texto
IF VARTYPE(loRegCab) = "O"
@@ -9154,6 +9223,11 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
SCAN ALL
SCATTER MEMO NAME loRegObj
+
+ IF NOT toFoxBin2Prg.l_UseTimestamps
+ loRegObj.TIMESTAMP = 0
+ ENDIF
+
THIS.write_DETALLE_REPORTE( @loRegObj )
ENDSCAN
@@ -9170,13 +9244,13 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -9214,11 +9288,11 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toModulo (@! OUT) Contenido del texto generado
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
#IF .F.
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
DODEFAULT( @toModulo, @toEx )
@@ -9237,7 +9311,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
*-- Header
loTable = CREATEOBJECT('CL_DBF_TABLE')
@@ -9248,13 +9322,13 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -9266,11 +9340,11 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
DO CASE
CASE toEx.ERRORNO = 13 && Alias not found
*toEx.USERVALUE = 'WARNING!!' + CR_LF ;
- + 'MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on ' ;
- + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
- + '¡¡ATENCIÓN!!' + CR_LF ;
- + 'ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on ' ;
- + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
+ + 'MAKE SURE YOU ARE NOT USING A TABLE ALIAS ON INDEX KEY EXPRESSIONS!! (ex: index on ' ;
+ + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.field tag keyname)' + CR_LF + CR_LF ;
+ + '¡¡ATENCIÓN!!' + CR_LF ;
+ + 'ASEGÚRESE DE QUE NO ESTÁ USANDO UN ALIAS DE TABLA EN LAS EXPRESIONES DE LOS ÍNDICES!! (ej: index on ' ;
+ + UPPER(JUSTSTEM(THIS.c_InputFile)) + '.campo tag nombreclave)'
toEx.USERVALUE = TEXTMERGE(C_WARN_TABLE_ALIAS_ON_INDEX_EXPRESSION_LOC)
*!* CASE toEx.ErrorNo = 1976 && Cannot resolve backlink
@@ -9319,14 +9393,14 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* toDatabase (@! OUT) Objeto generado de clase CL_DBC con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toDatabase, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toDatabase, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toDatabase, @toEx )
#IF .F.
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -9339,7 +9413,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
*-- Header
toDatabase = CREATEOBJECT('CL_DBC')
@@ -9350,13 +9424,13 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toModulo = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -9394,14 +9468,14 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
* PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
* totoMenu (@! OUT) Objeto generado de clase CL_MENU con la información leida del texto
* toEx (@! OUT) Objeto con información del error
- * toFoxbin2prg (v! IN ) Referencia al objeto principal
+ * toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
- LPARAMETERS toMenu, toEx AS EXCEPTION, toFoxbin2prg
+ LPARAMETERS toMenu, toEx AS EXCEPTION, toFoxBin2Prg
DODEFAULT( @toMenu, @toEx )
#IF .F.
LOCAL toMenu AS CL_MENU OF 'FOXBIN2PRG.PRG'
- LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
+ LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY
@@ -9419,7 +9493,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
ENDIF
*-- Header
- C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
+ C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
toMenu = CREATEOBJECT('CL_MENU')
toMenu.get_DataFromTablabin()
@@ -9430,13 +9504,13 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test
toMenu = C_FB2PRG_CODE
ELSE
- lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
+ lnLen = LEN( toFoxBin2Prg.get_PROGRAM_HEADER() )
DO CASE
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
*THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
THIS.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
- CASE toFoxbin2prg.doBackup( .F., .T., '', '', '' ) ;
- AND toFoxBin2prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
+ CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
+ AND toFoxBin2Prg.ChangeFileAttribute( THIS.c_OutputFile, '-R' ) ;
AND STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
*ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
@@ -9757,7 +9831,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
_ProtectedMethods = ''
_MetaData = ''
_BaseClass = ''
- _TimeStamp = ''
+ _TimeStamp = 0
_Scale = ''
_Defined_PAM = ''
_includeFile = ''
@@ -15503,7 +15577,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE
ELSE
IF THIS.l_Debug
*toConversor.writeLog( REPLICATE(C_TAB,tnNivel) ;
- + 'Objeto [' + toObj.CLASS + '] no contiene el objeto oReg (nivel ' + TRANSFORM(tnNivel) + ')' )
+ + 'Objeto [' + toObj.CLASS + '] no contiene el objeto oReg (nivel ' + TRANSFORM(tnNivel) + ')' )
toConversor.writeLog( REPLICATE(C_TAB,tnNivel) + TEXTMERGE(C_OBJECT_NAME_WITHOUT_OBJECT_OREG_LOC) )
ENDIF