Changeset: 504 fdbozzo - 21/11/2014 18:37:11:
This commit is contained in:
@@ -12,7 +12,7 @@ Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
|
|||||||
Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
|
Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
|
||||||
foxbin2prg_exe = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
foxbin2prg_exe = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
||||||
nExitCode = 0
|
nExitCode = 0
|
||||||
cOrigFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg_ge.h")
|
cOrigFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg_de.h")
|
||||||
cDestFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.h")
|
cDestFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.h")
|
||||||
cPath = FileSystemObject.GetParentFolderName( cOrigFile )
|
cPath = FileSystemObject.GetParentFolderName( cOrigFile )
|
||||||
nRet = FileSystemObject.CopyFile( cOrigFile, cDestFile, True )
|
nRet = FileSystemObject.CopyFile( cOrigFile, cDestFile, True )
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
* FOXBIN2PRG v1.19.26
|
* FOXBIN2PRG v1.19.26
|
||||||
* CONFIGURATION FILE / ARCHIVO DE CONFIGURACI<43>N
|
* CONFIGURATION FILE / ARCHIVO DE CONFIGURACI<43>N
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* EN: DON'T MODIFY THIS DOCUMENTATION SECTION, MODIFY *UNDER* THIS SECTION
|
* DON'T MODIFY THIS DOCUMENTATION SECTION / NO MODIFIQUE ESTA SECCI<43>N DE DOCUMENTACI<43>N
|
||||||
* ES: NO MODIFIQUE ESTA SECCI<43>N DE DOCUMENTACI<43>N, MODIFIQUE *DEBAJO* DE ESTA SECCI<43>N
|
|
||||||
*
|
*
|
||||||
* DETAIL OF SUPPORTED VALUES / DETALLE DE VALORES SOPORTADOS
|
* DETAIL OF SUPPORTED VALUES / DETALLE DE VALORES SOPORTADOS
|
||||||
* If no values given, this are the defaults / Si no se proporcionan valores, estos son los predeterminados
|
* If no values given, this are the defaults / Si no se proporcionan valores, estos son los predeterminados
|
||||||
@@ -15,6 +14,7 @@
|
|||||||
* Debug: 0 && Don't Activate individual <file>.Log by default / No Activar <archivo>.Log por defecto
|
* Debug: 0 && Don't Activate individual <file>.Log by default / No Activar <archivo>.Log por defecto
|
||||||
* ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none / Por defecto 1 BAK es creado. Con esto puede crear m<>s .N.BAK, o ninguno
|
* ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none / Por defecto 1 BAK es creado. Con esto puede crear m<>s .N.BAK, o ninguno
|
||||||
* ClearUniqueID: 1 && 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge
|
* ClearUniqueID: 1 && 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge
|
||||||
|
* ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. / 0=Mantener DBF LastDate, , 1=Borrar DBF LastDate. Util para Diff.
|
||||||
* OptimizeByFilestamp: 0 && Optimize file regeneration depending on file timestamp / Optimizar la regeneraci<63>n de archivos dependiendo del timestamp de archivo
|
* OptimizeByFilestamp: 0 && Optimize file regeneration depending on file timestamp / Optimizar la regeneraci<63>n de archivos dependiendo del timestamp de archivo
|
||||||
* AllowMultiConfig: 1 && 1=Allow CFG files per directory. if no CFG found, then use Main CFG. 0=Only use Main CFG
|
* AllowMultiConfig: 1 && 1=Allow CFG files per directory. if no CFG found, then use Main CFG. 0=Only use Main CFG
|
||||||
* DropNullCharsFromCode: 1 && 1=Drop NULL chars from source code / 0=Leave Nulls in code, if any
|
* DropNullCharsFromCode: 1 && 1=Drop NULL chars from source code / 0=Leave Nulls in code, if any
|
||||||
@@ -53,3 +53,31 @@
|
|||||||
*extension: db2=dba
|
*extension: db2=dba
|
||||||
*extension: dc2=dca
|
*extension: dc2=dca
|
||||||
|
|
||||||
|
|
||||||
|
* EN: Uncomment to activate the new value, comment to deactivate and use the default
|
||||||
|
* ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
*DontShowProgress: 1
|
||||||
|
*DontShowErrors: 1
|
||||||
|
*NoTimestamps: 0
|
||||||
|
*Debug: 1
|
||||||
|
*ExtraBackupLevels: 0
|
||||||
|
*ClearUniqueID: 0
|
||||||
|
*ClearDBFLastUpdate: 0
|
||||||
|
*OptimizeByFilestamp: 0
|
||||||
|
*AllowMultiConfig: 0
|
||||||
|
*DropNullCharsFromCode: 0
|
||||||
|
|
||||||
|
|
||||||
|
* EN: Uncomment to activate the new value, comment to deactivate and use the default
|
||||||
|
* ES: Descomente para activar el nuevo valor, comente para desactivarlo y usar el predeterminado
|
||||||
|
* 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge), 4=Generate TXT with DATA for DIFF (DBF only)
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
*PJX_Conversion_Support: 2
|
||||||
|
*VCX_Conversion_Support: 2
|
||||||
|
*SCX_Conversion_Support: 2
|
||||||
|
*FRX_Conversion_Support: 2
|
||||||
|
*LBX_Conversion_Support: 2
|
||||||
|
*MNX_Conversion_Support: 2
|
||||||
|
*DBC_Conversion_Support: 2
|
||||||
|
*DBF_Conversion_Support: 4
|
||||||
|
|||||||
BIN
foxbin2prg.exe
BIN
foxbin2prg.exe
Binary file not shown.
@@ -26,7 +26,7 @@ _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa):
|
|||||||
_ProductName = "FOXBIN2PRG"
|
_ProductName = "FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "19"
|
_MinorVer = "19"
|
||||||
_Revision = "36"
|
_Revision = "37"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "0"
|
_AutoIncrement = "0"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
435
foxbin2prg.prg
435
foxbin2prg.prg
@@ -107,8 +107,11 @@
|
|||||||
* 19/09/2014 FDBOZZO v1.19.34 Arreglo bug: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay alg<6C>n archivo abierto o cacheado, se produce un error al intentar capitalizar el archivo de entrada (Jim Nelson)
|
* 19/09/2014 FDBOZZO v1.19.34 Arreglo bug: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay alg<6C>n archivo abierto o cacheado, se produce un error al intentar capitalizar el archivo de entrada (Jim Nelson)
|
||||||
* 26/09/2014 FDBOZZO v1.19.35 Mejora: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizar<61>a los cambios al regenerarlos (Marcio Gomez G.)
|
* 26/09/2014 FDBOZZO v1.19.35 Mejora: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizar<61>a los cambios al regenerarlos (Marcio Gomez G.)
|
||||||
* 08/10/2014 FDBOZZO v1.19.36 Arreglo bug: Al generar el mn2 el identificador queda vac<61>o (bug introducido en v1.19.35)
|
* 08/10/2014 FDBOZZO v1.19.36 Arreglo bug: Al generar el mn2 el identificador queda vac<61>o (bug introducido en v1.19.35)
|
||||||
* 21/10/2014 FDBOZZO v1.19.37 Mejora: Permitir generar una clase por archivo (Ryan Harris/Lutz Scheffler)
|
* 19/11/2014 FDBOZZO v1.19.37 Mejora: Las configuraciones de foxbin2prg.cfg no permiten comentarios && al final (edyshor)
|
||||||
* 30/10/2014 FDBOZZO v1.19.37 Mejora: Optimizaciones y condicionamiento de EXTERNAL
|
* 19/11/2014 FDBOZZO v1.19.37 Arreglo bug: "String is too long to fit" cuando se procesa un DBF grande con DBF_Conversion_Support = 4 (edyshor)
|
||||||
|
* 19/11/2014 FDBOZZO v1.19.37 Mejora dbf: Nuevo par<61>metro ClearDBFLastUpdate para evitar diferencias por este dato (edyshor)
|
||||||
|
* 21/10/2014 FDBOZZO v1.19.37 Mejora: Permitir generar una clase por archivo (Ryan Harris/Lutz Scheffler)
|
||||||
|
* 30/10/2014 FDBOZZO v1.19.37 Mejora: Optimizaciones
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -155,6 +158,9 @@
|
|||||||
* 28/08/2014 Peter Hipp REPORTE BUG mnx v1.19.32: Si una opci<63>n tiene asociado un Procedure de 1 l<>nea, no se mantiene como Procedure y se convierte a Command (solucionado en v1.19.33)
|
* 28/08/2014 Peter Hipp REPORTE BUG mnx v1.19.32: Si una opci<63>n tiene asociado un Procedure de 1 l<>nea, no se mantiene como Procedure y se convierte a Command (solucionado en v1.19.33)
|
||||||
* 19/09/2014 Jim Nelson REPORTE BUG v1.19.33: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay alg<6C>n archivo abierto o cacheado, se produce un error (solucionado en v1.19.34)
|
* 19/09/2014 Jim Nelson REPORTE BUG v1.19.33: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay alg<6C>n archivo abierto o cacheado, se produce un error (solucionado en v1.19.34)
|
||||||
* 26/09/2014 Marcio Gomez G. MEJORA v1.19.34: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizar<61>a los cambios al regenerarlos (Agregado en v1.19.35)
|
* 26/09/2014 Marcio Gomez G. MEJORA v1.19.34: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizar<61>a los cambios al regenerarlos (Agregado en v1.19.35)
|
||||||
|
* 19/11/2014 edyshor MEJORA cfg v1.19.36: DBF_Conversion_Excluded no permite comentarios && al final (Agregado en v1.19.37)
|
||||||
|
* 19/11/2014 edyshor REPORTE BUG dbf v1.19.36: "String is too long to fit" cuando se procesa un DBF grande con DBF_Conversion_Support = 4 (Agregado en v1.19.37)
|
||||||
|
* 19/11/2014 edyshor MEJORA dbf v1.19.36: Nuevo par<61>metro ClearDBFLastUpdate para evitar diferencias por este dato (Agregado en v1.19.37)
|
||||||
* 14/10/2014 Lutz Scheffler MEJORA v1.19.36: Permitir generar una clase por archivo (pregunta)
|
* 14/10/2014 Lutz Scheffler MEJORA v1.19.36: Permitir generar una clase por archivo (pregunta)
|
||||||
* 21/10/2014 Ryan Harris MEJORA v1.19.36: Permitir generar una clase por archivo (sugerencia)
|
* 21/10/2014 Ryan Harris MEJORA v1.19.36: Permitir generar una clase por archivo (sugerencia)
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
@@ -509,10 +515,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
|
+ [<memberdata name="evaluarconfiguracion" display="EvaluarConfiguracion"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
+ [<memberdata name="filenamefoundinfilter" display="FilenameFoundInFilter"/>] ;
|
+ [<memberdata name="filenamefoundinfilter" display="FilenameFoundInFilter"/>] ;
|
||||||
|
+ [<memberdata name="filescomparedareequal" display="FilesComparedAreEqual"/>] ;
|
||||||
+ [<memberdata name="get_l_cfg_cachedaccess" display="get_l_CFG_CachedAccess"/>] ;
|
+ [<memberdata name="get_l_cfg_cachedaccess" display="get_l_CFG_CachedAccess"/>] ;
|
||||||
+ [<memberdata name="get_l_configevaluated" display="get_l_ConfigEvaluated"/>] ;
|
+ [<memberdata name="get_l_configevaluated" display="get_l_ConfigEvaluated"/>] ;
|
||||||
+ [<memberdata name="get_ext2fromext" display="Get_Ext2FromExt"/>] ;
|
+ [<memberdata name="get_ext2fromext" display="Get_Ext2FromExt"/>] ;
|
||||||
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
|
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
|
||||||
|
+ [<memberdata name="get_separatedlineandcomment" display="get_SeparatedLineAndComment"/>] ;
|
||||||
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
|
||||||
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
|
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
|
||||||
+ [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ;
|
+ [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ;
|
||||||
@@ -521,6 +529,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="l_cfg_cachedaccess" display="l_CFG_CachedAccess"/>] ;
|
+ [<memberdata name="l_cfg_cachedaccess" display="l_CFG_CachedAccess"/>] ;
|
||||||
+ [<memberdata name="l_classperfilecheck" display="l_ClassPerFileCheck"/>] ;
|
+ [<memberdata name="l_classperfilecheck" display="l_ClassPerFileCheck"/>] ;
|
||||||
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
|
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
|
||||||
|
+ [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ;
|
||||||
+ [<memberdata name="l_configevaluated" display="l_ConfigEvaluated"/>] ;
|
+ [<memberdata name="l_configevaluated" display="l_ConfigEvaluated"/>] ;
|
||||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||||
+ [<memberdata name="l_dropnullcharsfromcode" display="l_DropNullCharsFromCode"/>] ;
|
+ [<memberdata name="l_dropnullcharsfromcode" display="l_DropNullCharsFromCode"/>] ;
|
||||||
@@ -541,6 +550,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="n_existecapitalizacion" display="n_ExisteCapitalizacion"/>] ;
|
+ [<memberdata name="n_existecapitalizacion" display="n_ExisteCapitalizacion"/>] ;
|
||||||
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
||||||
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
||||||
|
+ [<memberdata name="n_filehandle" display="n_FileHandle"/>] ;
|
||||||
+ [<memberdata name="normalizarcapitalizacionarchivos" display="normalizarCapitalizacionArchivos"/>] ;
|
+ [<memberdata name="normalizarcapitalizacionarchivos" display="normalizarCapitalizacionArchivos"/>] ;
|
||||||
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
||||||
+ [<memberdata name="o_frm_avance" display="o_Frm_Avance"/>] ;
|
+ [<memberdata name="o_frm_avance" display="o_Frm_Avance"/>] ;
|
||||||
@@ -558,6 +568,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="dbf_conversion_excluded" display="DBF_Conversion_Excluded"/>] ;
|
+ [<memberdata name="dbf_conversion_excluded" display="DBF_Conversion_Excluded"/>] ;
|
||||||
+ [<memberdata name="dbc_conversion_support" display="DBC_Conversion_Support"/>] ;
|
+ [<memberdata name="dbc_conversion_support" display="DBC_Conversion_Support"/>] ;
|
||||||
+ [<memberdata name="renamefile" display="RenameFile"/>] ;
|
+ [<memberdata name="renamefile" display="RenameFile"/>] ;
|
||||||
|
+ [<memberdata name="renametmpfile2tx2file" display="RenameTmpFile2Tx2File"/>] ;
|
||||||
|
+ [<memberdata name="set_line" display="set_Line"/>] ;
|
||||||
+ [<memberdata name="tienesoporte_bin2prg" display="TieneSoporte_Bin2Prg"/>] ;
|
+ [<memberdata name="tienesoporte_bin2prg" display="TieneSoporte_Bin2Prg"/>] ;
|
||||||
+ [<memberdata name="tienesoporte_prg2bin" display="TieneSoporte_Prg2Bin"/>] ;
|
+ [<memberdata name="tienesoporte_prg2bin" display="TieneSoporte_Prg2Bin"/>] ;
|
||||||
+ [<memberdata name="t_inputfile_timestamp" display="t_InputFile_TimeStamp"/>] ;
|
+ [<memberdata name="t_inputfile_timestamp" display="t_InputFile_TimeStamp"/>] ;
|
||||||
@@ -604,8 +616,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
l_ClassPerFileCheck = .F.
|
l_ClassPerFileCheck = .F.
|
||||||
l_RedirectClassPerFileToMain = .F.
|
l_RedirectClassPerFileToMain = .F.
|
||||||
l_NoTimestamps = .T.
|
l_NoTimestamps = .T.
|
||||||
l_ClearUniqueID = .T.
|
l_ClearUniqueID = .T.
|
||||||
l_OptimizeByFilestamp = .F.
|
l_ClearDBFLastUpdate = .T.
|
||||||
|
l_OptimizeByFilestamp = .F.
|
||||||
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
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_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
|
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
@@ -614,7 +627,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
n_ClassTimeStamp = 1130668032 && 2013/11/04 20:00:00
|
n_ClassTimeStamp = 1130668032 && 2013/11/04 20:00:00
|
||||||
n_CFG_Actual = 0
|
n_CFG_Actual = 0
|
||||||
n_ID = 0
|
n_ID = 0
|
||||||
o_Conversor = NULL
|
n_FileHandle = 0
|
||||||
|
o_Conversor = NULL
|
||||||
o_Frm_Avance = NULL
|
o_Frm_Avance = NULL
|
||||||
o_FSO = NULL
|
o_FSO = NULL
|
||||||
o_FNC = NULL && Filename_caps object
|
o_FNC = NULL && Filename_caps object
|
||||||
@@ -784,6 +798,15 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE l_ClearDBFLastUpdate_ACCESS
|
||||||
|
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||||
|
RETURN THIS.l_ClearDBFLastUpdate
|
||||||
|
ELSE
|
||||||
|
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_ClearDBFLastUpdate, THIS.l_ClearDBFLastUpdate )
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE l_OptimizeByFilestamp_ACCESS
|
PROCEDURE l_OptimizeByFilestamp_ACCESS
|
||||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||||
RETURN THIS.l_OptimizeByFilestamp
|
RETURN THIS.l_OptimizeByFilestamp
|
||||||
@@ -1146,17 +1169,17 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
tcOutputFile_Ext1 = FORCEEXT(tcOutputFile, lcExt_1)
|
tcOutputFile_Ext1 = FORCEEXT(tcOutputFile, lcExt_1)
|
||||||
|
|
||||||
IF FILE( tcOutputFile_Ext1 )
|
IF FILE( tcOutputFile_Ext1 )
|
||||||
*-- LOG
|
*-- LOG
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE EMPTY(lcExt_2)
|
CASE EMPTY(lcExt_2)
|
||||||
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 )
|
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 )
|
||||||
CASE EMPTY(lcExt_3)
|
CASE EMPTY(lcExt_3)
|
||||||
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 )
|
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 )
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 + '/' + lcExt_3 )
|
.writeLog( C_BACKUP_OF_LOC + tcOutputFile_Ext1 + '/' + lcExt_2 + '/' + lcExt_3 )
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
*-- COPIA BACKUP
|
*-- COPIA BACKUP
|
||||||
COPY FILE ( tcOutputFile_Ext1 ) TO ( tcBakFile_1 )
|
COPY FILE ( tcOutputFile_Ext1 ) TO ( tcBakFile_1 )
|
||||||
|
|
||||||
IF NOT EMPTY(lcExt_2)
|
IF NOT EMPTY(lcExt_2)
|
||||||
@@ -1164,7 +1187,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
IF FILE( tcOutputFile_Ext2 )
|
IF FILE( tcOutputFile_Ext2 )
|
||||||
COPY FILE ( tcOutputFile_Ext2 ) TO ( tcBakFile_2 )
|
COPY FILE ( tcOutputFile_Ext2 ) TO ( tcBakFile_2 )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF NOT EMPTY(lcExt_3)
|
IF NOT EMPTY(lcExt_3)
|
||||||
@@ -1172,11 +1195,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
IF FILE( tcOutputFile_Ext3 )
|
IF FILE( tcOutputFile_Ext3 )
|
||||||
COPY FILE ( tcOutputFile_Ext3 ) TO ( tcBakFile_3 )
|
COPY FILE ( tcOutputFile_Ext3 ) TO ( tcBakFile_3 )
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
CATCH TO toEx
|
CATCH TO toEx
|
||||||
@@ -1190,7 +1213,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3 ;
|
RELEASE toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3 ;
|
||||||
, lcNext_Bak, lcExt_1, lcExt_2, lcExt_3, tcOutputFile_Ext1, tcOutputFile_Ext2, tcOutputFile_Ext3 ;
|
, lcNext_Bak, lcExt_1, lcExt_2, lcExt_3, tcOutputFile_Ext1, tcOutputFile_Ext2, tcOutputFile_Ext3 ;
|
||||||
, tcOutputFile
|
, tcOutputFile
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -1207,7 +1230,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ;
|
LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ;
|
||||||
, tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile
|
, tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile
|
||||||
|
|
||||||
LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path ;
|
LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine ;
|
||||||
, lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
|
, lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
|
||||||
, lo_Configuration AS Collection ;
|
, lo_Configuration AS Collection ;
|
||||||
, loEx as Exception
|
, loEx as Exception
|
||||||
@@ -1254,10 +1277,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
||||||
laConfig(I) = LOWER( laConfig(I) )
|
*laConfig(I) = LOWER( laConfig(I) )
|
||||||
|
.set_Line( @lcConfigLine, @laConfig, I )
|
||||||
|
.get_SeparatedLineAndComment( @lcConfigLine )
|
||||||
|
laConfig(I) = LOWER( lcConfigLine )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" )
|
CASE EMPTY( laConfig(I) ) OR INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" )
|
||||||
LOOP
|
LOOP
|
||||||
|
|
||||||
CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:')
|
CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:')
|
||||||
@@ -1313,6 +1339,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) )
|
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
CASE LEFT( laConfig(I), 19 ) == LOWER('ClearDBFLastUpdate:')
|
||||||
|
lcValue = ALLTRIM( SUBSTR( laConfig(I), 20 ) )
|
||||||
|
IF INLIST( lcValue, '0', '1' ) THEN
|
||||||
|
lo_CFG.l_ClearDBFLastUpdate = ( TRANSFORM(lcValue) == '1' )
|
||||||
|
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearDBFLastUpdate: ' + TRANSFORM(lcValue) )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
|
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
|
||||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
|
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
|
||||||
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
|
||||||
@@ -1516,6 +1549,84 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION FilesComparedAreEqual
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
|
* tcFilename1 (v! IN ) Nombre del archivo1 a comparar
|
||||||
|
* tcFilename2 (v! IN ) Nombre del archivo2 a comparar
|
||||||
|
* tcStrFileName2 (v! IN ) ***NO IMPLEMENTADO*** Contenido del archivo2 a comparar
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcFilename1, tcFilename2, tcStrFileName2
|
||||||
|
|
||||||
|
LOCAL lnComparacion, lnLen1, lnLen2, lnHandle1, lnHandle2, lnTipoComp, lnChunkSize ;
|
||||||
|
, loEx as Exception
|
||||||
|
|
||||||
|
TRY
|
||||||
|
STORE -1 TO lnComparacion, lnHandle1, lnHandle2
|
||||||
|
lnTipoComp = 0
|
||||||
|
lnChunkSize = 65535
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE NOT EMPTY(tcFilename1) AND NOT EMPTY(tcFilename2)
|
||||||
|
lnTipoComp = 1
|
||||||
|
lnHandle1 = FOPEN( tcFilename1 )
|
||||||
|
|
||||||
|
IF lnHandle1 = -1
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnHandle2 = FOPEN( tcFilename2 )
|
||||||
|
|
||||||
|
IF lnHandle2 = -1
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnLen1 = FSEEK( lnHandle1, 0, 2 )
|
||||||
|
lnLen2 = FSEEK( lnHandle2, 0, 2 )
|
||||||
|
|
||||||
|
*-- Comparaci<63>n de tama<6D>o
|
||||||
|
IF lnLen1 <> lnLen2 THEN
|
||||||
|
lnComparacion = 0 && Son distintos
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Comparaci<63>n de contenido
|
||||||
|
FSEEK( lnHandle1, 0, 0 )
|
||||||
|
FSEEK( lnHandle2, 0, 0 )
|
||||||
|
|
||||||
|
DO WHILE NOT ( FEOF(lnHandle1) OR FEOF(lnHandle2) )
|
||||||
|
IF NOT SYS( 2007, FREAD( lnHandle1, lnChunkSize ), -1, 1 ) == SYS( 2007, FREAD( lnHandle2, lnChunkSize ), -1, 1 ) THEN
|
||||||
|
lnComparacion = 0 && Son distintos
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDDO
|
||||||
|
|
||||||
|
IF lnComparacion = 0 THEN
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnComparacion = 1 && Son iguales
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
lnComparacion = -1 && Error
|
||||||
|
THROW
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
DO CASE
|
||||||
|
CASE lnTipoComp = 1
|
||||||
|
FCLOSE( lnHandle1 )
|
||||||
|
FCLOSE( lnHandle2 )
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN lnComparacion
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
FUNCTION FilenameFoundInFilter
|
FUNCTION FilenameFoundInFilter
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
@@ -2330,6 +2441,26 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE get_SeparatedLineAndComment
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
|
* tcLine (!@ IN/OUT) L<>nea a separar del comentario
|
||||||
|
* tcComment (@? OUT) Comentario
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcLine, tcComment
|
||||||
|
LOCAL ln_AT_Cmt
|
||||||
|
tcComment = ''
|
||||||
|
ln_AT_Cmt = AT( '&'+'&', tcLine)
|
||||||
|
|
||||||
|
IF ln_AT_Cmt > 0
|
||||||
|
tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
|
||||||
|
tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, CHR(9) ) && Quito TABS
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
RETURN (ln_AT_Cmt > 0)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE normalizarCapitalizacionArchivos
|
PROCEDURE normalizarCapitalizacionArchivos
|
||||||
LPARAMETERS tl_NormalizeInputFile, tcFileName
|
LPARAMETERS tl_NormalizeInputFile, tcFileName
|
||||||
@@ -2344,7 +2475,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath )
|
lcEXE_CAPS = FORCEPATH( 'filename_caps.exe', lcPath )
|
||||||
loFSO = .o_FSO
|
loFSO = .o_FSO
|
||||||
llRelanzarError = NOT tl_NormalizeInputFile
|
llRelanzarError = NOT tl_NormalizeInputFile
|
||||||
|
|
||||||
IF tl_NormalizeInputFile
|
IF tl_NormalizeInputFile
|
||||||
tcFileName = EVL( tcFileName, .c_InputFile )
|
tcFileName = EVL( tcFileName, .c_InputFile )
|
||||||
lcType = UPPER( JUSTEXT( tcFileName ) )
|
lcType = UPPER( JUSTEXT( tcFileName ) )
|
||||||
@@ -2381,41 +2512,41 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
*-- Normalizar archivo(s) de entrada. El primero siempre se normaliza (??2, ??X, DBF, DBC)
|
*-- Normalizar archivo(s) de entrada. El primero siempre se normaliza (??2, ??X, DBF, DBC)
|
||||||
.RenameFile( tcFileName, lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( tcFileName, lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE lcType = 'PJX'
|
CASE lcType = 'PJX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'PJT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'PJT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'VCX'
|
CASE lcType = 'VCX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'VCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'VCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'SCX'
|
CASE lcType = 'SCX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'SCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'SCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'FRX'
|
CASE lcType = 'FRX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'FRT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'FRT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'LBX'
|
CASE lcType = 'LBX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'LBT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'LBT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'DBF'
|
CASE lcType = 'DBF'
|
||||||
IF FILE( FORCEEXT(tcFileName,'FPT') )
|
IF FILE( FORCEEXT(tcFileName,'FPT') )
|
||||||
.RenameFile( FORCEEXT(tcFileName,'FPT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'FPT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
ENDIF
|
ENDIF
|
||||||
IF FILE( FORCEEXT(tcFileName,'CDX') )
|
IF FILE( FORCEEXT(tcFileName,'CDX') )
|
||||||
.RenameFile( FORCEEXT(tcFileName,'CDX'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'CDX'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CASE lcType = 'DBC'
|
CASE lcType = 'DBC'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'DCX'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'DCX'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
.RenameFile( FORCEEXT(tcFileName,'DCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'DCT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
CASE lcType = 'MNX'
|
CASE lcType = 'MNX'
|
||||||
.RenameFile( FORCEEXT(tcFileName,'MNT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
.RenameFile( FORCEEXT(tcFileName,'MNT'), lcEXE_CAPS, loFSO, llRelanzarError )
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -2446,6 +2577,37 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE RenameTmpFile2Tx2File
|
||||||
|
LPARAMETERS tcFileName
|
||||||
|
|
||||||
|
LOCAL lcTmpFile, loFSO AS Scripting.FileSystemObject, loEx as Exception
|
||||||
|
|
||||||
|
TRY
|
||||||
|
*loFSO = THIS.o_FSO
|
||||||
|
lcTmpFile = tcFileName + '.TMP'
|
||||||
|
THIS.ChangeFileAttribute( tcFileName, '+N' )
|
||||||
|
ERASE (tcFileName)
|
||||||
|
RENAME (lcTmpFile) TO (tcFileName)
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THROW
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
*loFSO = NULL
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE set_Line
|
||||||
|
LPARAMETERS tcLine, taCodeLines, I
|
||||||
|
tcLine = LTRIM( taCodeLines(I), 0, ' ', CHR(9) )
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE writeErrorLog
|
PROCEDURE writeErrorLog
|
||||||
LPARAMETERS tcText
|
LPARAMETERS tcText
|
||||||
@@ -2714,7 +2876,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
* tnLEN_TAG_F (v! IN ) Longitud del tag de fin
|
* tnLEN_TAG_F (v! IN ) Longitud del tag de fin
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tcPropName, tcValue, taProps, tnProp_Count, I, tcTAG_I, tcTAG_F, tnLEN_TAG_I, tnLEN_TAG_F
|
LPARAMETERS tcPropName, tcValue, taProps, tnProp_Count, I, tcTAG_I, tcTAG_F, tnLEN_TAG_I, tnLEN_TAG_F
|
||||||
|
|
||||||
EXTERNAL ARRAY taProps
|
EXTERNAL ARRAY taProps
|
||||||
|
|
||||||
LOCAL llBloqueEncontrado, loEx AS EXCEPTION
|
LOCAL llBloqueEncontrado, loEx AS EXCEPTION
|
||||||
@@ -2897,7 +3059,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
IF INLIST( RIGHT( lcPrevLine,1 ), ';', ',' ) && Esta l<>nea es continuaci<63>n de la anterior
|
IF INLIST( RIGHT( lcPrevLine,1 ), ';', ',' ) && Esta l<>nea es continuaci<63>n de la anterior
|
||||||
llIsContinuation = .T.
|
llIsContinuation = .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
RELEASE taCodeLines, I, lcPrevLine
|
RELEASE taCodeLines, I, lcPrevLine
|
||||||
|
|
||||||
RETURN llIsContinuation
|
RETURN llIsContinuation
|
||||||
@@ -2950,7 +3112,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
llEncontrado = .T.
|
llEncontrado = .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcLine, ta_ID_Bloques, tnLen_IDFinBQ, X, tnIniFin, lcLine
|
RELEASE tcLine, ta_ID_Bloques, tnLen_IDFinBQ, X, tnIniFin, lcLine
|
||||||
ENDTRY
|
ENDTRY
|
||||||
@@ -4823,7 +4985,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
lnPos2 = AT( ']', tcSeparatedCommaVars, I )
|
lnPos2 = AT( ']', tcSeparatedCommaVars, I )
|
||||||
tcSeparatedCommaVars = STUFF( tcSeparatedCommaVars, lnPos1, lnPos2 - lnPos1 + 1, '' )
|
tcSeparatedCommaVars = STUFF( tcSeparatedCommaVars, lnPos1, lnPos2 - lnPos1 + 1, '' )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
RELEASE tcSeparatedCommaVars, lnPos1, lnPos2, I
|
RELEASE tcSeparatedCommaVars, lnPos1, lnPos2, I
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC
|
ENDPROC
|
||||||
@@ -4876,7 +5038,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
RELEASE tcMemo, tcPAM, tcPAM_Type, tcPAM_Visibility, lcPAM, I
|
RELEASE tcMemo, tcPAM, tcPAM_Type, tcPAM_Visibility, lcPAM, I
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -4953,7 +5115,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
, toObjeto._User )
|
, toObjeto._User )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
RELEASE toClase, toObjeto, toFoxBin2Prg, lcPropsMemo, lcMethodsMemo
|
RELEASE toClase, toObjeto, toFoxBin2Prg, lcPropsMemo, lcMethodsMemo
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC
|
ENDPROC
|
||||||
@@ -5125,7 +5287,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
FINALLY
|
FINALLY
|
||||||
loProcedure = NULL
|
loProcedure = NULL
|
||||||
RELEASE toClase, toObjeto, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto, tc_Comentario ;
|
RELEASE toClase, toObjeto, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto, tc_Comentario ;
|
||||||
, taLineasExclusion, tnBloquesExclusion, llEsProcedureDeClase, loProcedure
|
, taLineasExclusion, tnBloquesExclusion, llEsProcedureDeClase, loProcedure
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -6014,7 +6176,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*-- Defino el objeto de m<>dulo y sus propiedades
|
*-- Defino el objeto de m<>dulo y sus propiedades
|
||||||
*toModulo = NULL
|
*toModulo = NULL
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
*toModulo = CREATEOBJECT('CL_MODULO')
|
||||||
|
|
||||||
*IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
*IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
* llEXTERNAL_CLASS_Completed = .T.
|
||||||
*ENDIF
|
*ENDIF
|
||||||
@@ -6028,35 +6190,35 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
CASE .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ;
|
CASE .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ;
|
||||||
OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
||||||
|
|
||||||
*CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
*CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
* llFoxBin2Prg_Completed = .T.
|
* llFoxBin2Prg_Completed = .T.
|
||||||
|
|
||||||
*CASE NOT llEXTERNAL_CLASS_Completed AND .analizarBloque_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
*CASE NOT llEXTERNAL_CLASS_Completed AND .analizarBloque_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
*-- Puede haber varias clases externas
|
*-- Puede haber varias clases externas
|
||||||
|
|
||||||
*CASE NOT llLIBCOMMENT_Completed AND .analizarBloque_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
*CASE NOT llLIBCOMMENT_Completed AND .analizarBloque_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
* llLIBCOMMENT_Completed = .T.
|
* llLIBCOMMENT_Completed = .T.
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
* llEXTERNAL_CLASS_Completed = .T.
|
||||||
|
|
||||||
*CASE NOT llOLE_DEF_Completed AND .analizarBloque_OLE_DEF( @toModulo, @lcLine, @taCodeLines ;
|
*CASE NOT llOLE_DEF_Completed AND .analizarBloque_OLE_DEF( @toModulo, @lcLine, @taCodeLines ;
|
||||||
, @I, tnCodeLines, @lcProcedureAbierto )
|
, @I, tnCodeLines, @lcProcedureAbierto )
|
||||||
*-- Puede haber varios objetos OLE
|
*-- Puede haber varios objetos OLE
|
||||||
|
|
||||||
*CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analizarBloque_INCLUDE( @toModulo, @loClase, @lcLine ;
|
*CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analizarBloque_INCLUDE( @toModulo, @loClase, @lcLine ;
|
||||||
, @taCodeLines, @I, tnCodeLines, @lcProcedureAbierto )
|
, @taCodeLines, @I, tnCodeLines, @lcProcedureAbierto )
|
||||||
* Espec<65>fico para SCX que lo tiene al inicio
|
* Espec<65>fico para SCX que lo tiene al inicio
|
||||||
* llINCLUDE_SCX_Completed = .T.
|
* llINCLUDE_SCX_Completed = .T.
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
* llEXTERNAL_CLASS_Completed = .T.
|
||||||
|
|
||||||
CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
||||||
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
||||||
*-- Puede haber varias clases definidas
|
*-- Puede haber varias clases definidas
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
* llEXTERNAL_CLASS_Completed = .T.
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.verificar_CLASES_EXTERNAS( @toModulo, @toFoxBin2Prg )
|
.verificar_CLASES_EXTERNAS( @toModulo, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
@@ -6118,7 +6280,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*-- Defino el objeto de m<>dulo y sus propiedades
|
*-- Defino el objeto de m<>dulo y sus propiedades
|
||||||
*toModulo = NULL
|
*toModulo = NULL
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
*toModulo = CREATEOBJECT('CL_MODULO')
|
||||||
|
|
||||||
IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
||||||
llEXTERNAL_CLASS_Completed = .T.
|
llEXTERNAL_CLASS_Completed = .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -6151,15 +6313,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
llINCLUDE_SCX_Completed = .T.
|
llINCLUDE_SCX_Completed = .T.
|
||||||
llEXTERNAL_CLASS_Completed = .T.
|
llEXTERNAL_CLASS_Completed = .T.
|
||||||
|
|
||||||
*CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
*CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
||||||
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
||||||
*-- Puede haber varias clases definidas
|
*-- Puede haber varias clases definidas
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
* llEXTERNAL_CLASS_Completed = .T.
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -6211,14 +6373,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']'
|
*ERROR 'El conteo de clases externas (' + TRANSFORM(toModulo._ExternalClasses_Count) + ') no coincide con la cantidad encontrada (' + TRANSFORM(toModulo._Clases_Count) + ') en el archivo [' + toFoxBin2Prg.c_InputFile + ']'
|
||||||
ERROR (TEXTMERGE(C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES))
|
ERROR (TEXTMERGE(C_EXTERNAL_CLASS_COUNT_DOES_NOT_MATCH_FOUND_CLASSES))
|
||||||
|
|
||||||
*CASE toModulo._ExternalClasses_Count <> toModulo._Clases_Count THEN
|
*CASE toModulo._ExternalClasses_Count <> toModulo._Clases_Count THEN
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
FOR I = 1 TO toModulo._ExternalClasses_Count
|
FOR I = 1 TO toModulo._ExternalClasses_Count
|
||||||
lnItem = 0
|
lnItem = 0
|
||||||
|
|
||||||
FOR X = 1 TO toModulo._Clases_Count
|
FOR X = 1 TO toModulo._Clases_Count
|
||||||
IF LOWER( toModulo._Clases(X)._objname ) == LOWER( toModulo._ExternalClasses(I) )
|
IF LOWER( toModulo._Clases(X)._ObjName ) == LOWER( toModulo._ExternalClasses(I) )
|
||||||
lnItem = X
|
lnItem = X
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -6285,7 +6447,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
lcInputFile = FORCEPATH( JUSTSTEM( .c_InputFile ), JUSTPATH( .c_InputFile ) ) + '.*.' + JUSTEXT( .c_InputFile )
|
lcInputFile = FORCEPATH( JUSTSTEM( .c_InputFile ), JUSTPATH( .c_InputFile ) ) + '.*.' + JUSTEXT( .c_InputFile )
|
||||||
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
||||||
ASORT( laFiles, 1, 0, 0, 1)
|
ASORT( laFiles, 1, 0, 0, 1)
|
||||||
|
|
||||||
FOR I = 1 TO lnFileCount
|
FOR I = 1 TO lnFileCount
|
||||||
lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
||||||
|
|
||||||
@@ -8315,7 +8477,12 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
USE IN (SELECT(JUSTSTEM(.c_OutputFile)))
|
USE IN (SELECT(JUSTSTEM(.c_OutputFile)))
|
||||||
|
|
||||||
*-- La actualizaci<63>n de la fecha sirve para evitar diferencias al regenerar el DBF
|
*-- La actualizaci<63>n de la fecha sirve para evitar diferencias al regenerar el DBF
|
||||||
|
IF toFoxBin2Prg.l_ClearDBFLastUpdate THEN
|
||||||
|
ldLastUpdate = EVALUATE( '{^2013/11/04}' )
|
||||||
|
ELSE
|
||||||
ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
|
ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
loDBFUtils.write_DBC_BackLink( .c_OutputFile, toTable._Database, ldLastUpdate )
|
loDBFUtils.write_DBC_BackLink( .c_OutputFile, toTable._Database, ldLastUpdate )
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -8900,11 +9067,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount ;
|
RELEASE toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount ;
|
||||||
, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count ;
|
, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count ;
|
||||||
, toFoxBin2Prg, lcMethodName, lnMethodCount
|
, toFoxBin2Prg, lcMethodName, lnMethodCount
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -8972,7 +9139,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tnMethodCount, taMethods, taCode, taProtected, taPropsAndComments ;
|
RELEASE tnMethodCount, taMethods, taCode, taProtected, taPropsAndComments ;
|
||||||
, lcMethod, lcMethodName, lnProtectedItem, lnCommentRow, lcProcDef, lcMethods, lnLen
|
, lcMethod, lcMethodName, lnProtectedItem, lnCommentRow, lcProcDef, lcMethods, lnLen
|
||||||
@@ -9043,7 +9210,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMemo, tlSort, taPropsAndComments, tnPropsAndComments_Count, tcSortedMemo ;
|
RELEASE tcMemo, tlSort, taPropsAndComments, tnPropsAndComments_Count, tcSortedMemo ;
|
||||||
, laLines, I, lnPos, loEx
|
, laLines, I, lnPos, loEx
|
||||||
@@ -9160,7 +9327,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMemo, tnSort, taPropsAndValues, tnPropsAndValues_Count, tcSortedMemo ;
|
RELEASE tcMemo, tnSort, taPropsAndValues, tnPropsAndValues_Count, tcSortedMemo ;
|
||||||
, laItems, I, X, lnLenAcum, lnPosEQ, lcPropName, lnLenVal, lcValue, lcMethods
|
, laItems, I, X, lnLenAcum, lnPosEQ, lcPropName, lnLenVal, lcValue, lcMethods
|
||||||
@@ -9275,7 +9442,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMethod, tcIndentation, tlKeepProcHeader ;
|
RELEASE tcMethod, tcIndentation, tlKeepProcHeader ;
|
||||||
, I, X, llProcedure, lnInicio, lnFin, laLineas, lnOffset
|
, I, X, llProcedure, lnInicio, lnFin, laLineas, lnOffset
|
||||||
@@ -9307,7 +9474,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMethod, I
|
RELEASE tcMethod, I
|
||||||
ENDTRY
|
ENDTRY
|
||||||
@@ -9346,7 +9513,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE taPropsAndValues, tnPropCount, tcLeftIndentation, tlNormalizeLine ;
|
RELEASE taPropsAndValues, tnPropCount, tcLeftIndentation, tlNormalizeLine ;
|
||||||
, I, lcComentarios, laLines, lcFinDeLinea
|
, I, lcComentarios, laLines, lcFinDeLinea
|
||||||
@@ -9414,11 +9581,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
RELEASE tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
||||||
, taProtected, tnProtected_Count, toFoxBin2Prg ;
|
, taProtected, tnProtected_Count, toFoxBin2Prg ;
|
||||||
, I, I2, laMethods, lnDeleted, lcMethodName, lnMethodPos, lcMethodType, loEx
|
, I, I2, laMethods, lnDeleted, lcMethodName, lnMethodPos, lcMethodType, loEx
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -9637,13 +9804,13 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
RELEASE tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
||||||
, taProtected, tnProtected_Count, toFoxBin2Prg ;
|
, taProtected, tnProtected_Count, toFoxBin2Prg ;
|
||||||
, lnLineCount, laLine, I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
, lnLineCount, laLine, I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
||||||
, laLineasExclusion, lnBloquesExclusion ;
|
, laLineasExclusion, lnBloquesExclusion ;
|
||||||
, loEx
|
, loEx
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -9720,7 +9887,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE toRegObj, lcMemo, laPropsAndValues, lnPropsAndValues_Count
|
RELEASE toRegObj, lcMemo, laPropsAndValues, lnPropsAndValues_Count
|
||||||
ENDTRY
|
ENDTRY
|
||||||
@@ -9871,12 +10038,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
RELEASE toRegClass, taPropsAndValues, taPropsAndComments, taProtected ;
|
RELEASE toRegClass, taPropsAndValues, taPropsAndComments, taProtected ;
|
||||||
, tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count ;
|
, tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count ;
|
||||||
, lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd, I ;
|
, lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd, I ;
|
||||||
, lcPropName, lnProtectedItem, lcComentarios, loEx
|
, lcPropName, lnProtectedItem, lcComentarios, loEx
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -10533,9 +10700,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*!* ENDSCAN
|
*!* ENDSCAN
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
*
|
*
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
*!* CATCH TO loEx
|
*!* CATCH TO loEx
|
||||||
*!* IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
*!* IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -10561,9 +10728,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
LOCAL llFileExists
|
LOCAL llFileExists
|
||||||
|
|
||||||
llFileExists = FILE(tcOutputFile)
|
llFileExists = FILE(tcOutputFile)
|
||||||
|
|
||||||
IF llFileExists AND FILETOSTR( tcOutputFile ) == tcCodigo THEN
|
IF llFileExists AND FILETOSTR( tcOutputFile ) == tcCodigo THEN
|
||||||
@@ -10575,7 +10742,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '', tcOutputFile )
|
toFoxBin2Prg.doBackup( .F., .T., '', '', '', tcOutputFile )
|
||||||
toFoxBin2Prg.ChangeFileAttribute( tcOutputFile, '-R' )
|
toFoxBin2Prg.ChangeFileAttribute( tcOutputFile, '-R' )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF STRTOFILE( tcCodigo, tcOutputFile ) = 0
|
IF STRTOFILE( tcCodigo, tcOutputFile ) = 0
|
||||||
*ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly'
|
*ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly'
|
||||||
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
@@ -10876,7 +11043,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -11142,7 +11309,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -12092,14 +12259,49 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
*-- Header
|
*-- Header
|
||||||
loTable = CREATEOBJECT('CL_DBF_TABLE')
|
loTable = CREATEOBJECT('CL_DBF_TABLE')
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, .c_InputFile, lc_FileTypeDesc, @toFoxBin2Prg )
|
|
||||||
|
IF toFoxBin2Prg.DBF_Conversion_Support = 4
|
||||||
|
*-- Exportaci<63>n de estructura y datos (para Diff solamente)
|
||||||
|
ERASE (.c_OutputFile + '.TMP' )
|
||||||
|
toFoxBin2Prg.n_FileHandle = FCREATE( .c_OutputFile + '.TMP' )
|
||||||
|
|
||||||
|
IF toFoxBin2Prg.n_FileHandle = -1 THEN
|
||||||
|
ERROR 102, (.c_OutputFile)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, C_FB2PRG_CODE )
|
||||||
|
loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, .c_InputFile, lc_FileTypeDesc, @toFoxBin2Prg )
|
||||||
|
FCLOSE( toFoxBin2Prg.n_FileHandle )
|
||||||
|
|
||||||
|
|
||||||
*-- Genero el DB2
|
*-- Genero el DB2, renombrando el TMP
|
||||||
IF .l_Test
|
IF .l_Test
|
||||||
toModulo = C_FB2PRG_CODE
|
toModulo = C_FB2PRG_CODE
|
||||||
ELSE
|
ELSE
|
||||||
.write_OutputFile( (C_FB2PRG_CODE), .c_OutputFile, @toFoxBin2Prg )
|
DO CASE
|
||||||
|
CASE FILE(.c_OutputFile) AND toFoxBin2Prg.FilesComparedAreEqual( .c_OutputFile + '.TMP', .c_OutputFile ) = 1
|
||||||
|
ERASE (.c_OutputFile + '.TMP')
|
||||||
|
*.writeLog( 'El archivo de salida [' + .c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
.writeLog( TEXTMERGE(C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) )
|
||||||
|
CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ;
|
||||||
|
AND toFoxBin2Prg.ChangeFileAttribute( .c_OutputFile, '-R' ) ;
|
||||||
|
AND NOT toFoxBin2Prg.RenameTmpFile2Tx2File( .c_OutputFile )
|
||||||
|
*ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
|
||||||
|
ENDCASE
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, .c_InputFile, lc_FileTypeDesc, @toFoxBin2Prg )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Genero el DB2
|
||||||
|
IF .l_Test
|
||||||
|
toModulo = C_FB2PRG_CODE
|
||||||
|
ELSE
|
||||||
|
.write_OutputFile( (C_FB2PRG_CODE), .c_OutputFile, @toFoxBin2Prg )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Hook para permitir ejecuci<63>n externa (por ejemplo, para exportar datos)
|
*-- Hook para permitir ejecuci<63>n externa (por ejemplo, para exportar datos)
|
||||||
@@ -16841,7 +17043,7 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
|||||||
<<C_TABLE_I>>
|
<<C_TABLE_I>>
|
||||||
<<>> <MemoFile><<IIF( tl_FileHasMemo, FORCEEXT(tc_InputFile, 'FPT'), '' )>></MemoFile>
|
<<>> <MemoFile><<IIF( tl_FileHasMemo, FORCEEXT(tc_InputFile, 'FPT'), '' )>></MemoFile>
|
||||||
<<>> <CodePage><<CPDBF('TABLABIN')>></CodePage>
|
<<>> <CodePage><<CPDBF('TABLABIN')>></CodePage>
|
||||||
<<>> <LastUpdate><<LUPDATE('TABLABIN')>></LastUpdate>
|
<<>> <LastUpdate><<IIF( toFoxBin2Prg.l_ClearDBFLastUpdate, '', LUPDATE('TABLABIN') )>></LastUpdate>
|
||||||
<<>> <Database><<tc_DBC_Name>></Database>
|
<<>> <Database><<tc_DBC_Name>></Database>
|
||||||
<<>> <FileType><<TRANSFORM(tn_HexFileType, '@0')>></FileType>
|
<<>> <FileType><<TRANSFORM(tn_HexFileType, '@0')>></FileType>
|
||||||
<<>> <FileType_Descrip><<tc_FileTypeDesc>></FileType_Descrip>
|
<<>> <FileType_Descrip><<tc_FileTypeDesc>></FileType_Descrip>
|
||||||
@@ -16894,8 +17096,10 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
|||||||
|
|
||||||
*** DH 06/02/2014: added _Records
|
*** DH 06/02/2014: added _Records
|
||||||
loRecords = THIS._Records
|
loRecords = THIS._Records
|
||||||
lcText = lcText + loRecords.toText(@laFields, lnFieldCount, lc_DBF_Conversion_Condition)
|
*lcText = lcText + loRecords.toText(@laFields, lnFieldCount, lc_DBF_Conversion_Condition)
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, lcText )
|
||||||
|
loRecords.toText(@laFields, lnFieldCount, lc_DBF_Conversion_Condition, @toFoxBin2Prg)
|
||||||
|
lcText = ''
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
@@ -16903,6 +17107,11 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
IF toFoxBin2Prg.DBF_Conversion_Support = 4 && BIN2PRG (DATA EXPORT FOR DIFF)
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, lcText )
|
||||||
|
lcText = ''
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -17497,21 +17706,29 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE
|
|||||||
* taFields (@! IN ) Array de informaci<63>n de campos
|
* taFields (@! IN ) Array de informaci<63>n de campos
|
||||||
* tnField_Count (v! IN ) Cantidad de campos
|
* tnField_Count (v! IN ) Cantidad de campos
|
||||||
* tc_DBF_Conversion_Condition (v? IN ) Condici<63>n de filtro para la conversi<73>n. Solo se exporta lo que la cumpla.
|
* tc_DBF_Conversion_Condition (v? IN ) Condici<63>n de filtro para la conversi<73>n. Solo se exporta lo que la cumpla.
|
||||||
|
* toFoxBin2Prg (@! IN ) Referencia de toFoxBin2Prg
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taFields, tnField_Count, tc_DBF_Conversion_Condition
|
LPARAMETERS taFields, tnField_Count, tc_DBF_Conversion_Condition, toFoxBin2Prg
|
||||||
|
|
||||||
EXTERNAL ARRAY taFields
|
EXTERNAL ARRAY taFields
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lcText, loEx AS EXCEPTION ;
|
LOCAL lcText, loEx AS EXCEPTION, I ;
|
||||||
, loRecord AS CL_DBF_RECORD OF 'FOXBIN2PRG.PRG'
|
, loRecord AS CL_DBF_RECORD OF 'FOXBIN2PRG.PRG'
|
||||||
lcText = ''
|
lcText = ''
|
||||||
|
I = 0
|
||||||
|
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<>>
|
<<>>
|
||||||
<<>> <<C_RECORDS_I>>
|
<<>> <<C_RECORDS_I>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, lcText )
|
||||||
|
lcText = ''
|
||||||
loRecord = CREATEOBJECT('CL_DBF_RECORD')
|
loRecord = CREATEOBJECT('CL_DBF_RECORD')
|
||||||
|
|
||||||
IF EMPTY(tc_DBF_Conversion_Condition)
|
IF EMPTY(tc_DBF_Conversion_Condition)
|
||||||
@@ -17519,14 +17736,24 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
SCAN FOR &tc_DBF_Conversion_Condition.
|
SCAN FOR &tc_DBF_Conversion_Condition.
|
||||||
lcText = lcText + loRecord.toText(@taFields, tnField_Count)
|
I = I + 1
|
||||||
|
lcText = loRecord.toText(@taFields, tnField_Count)
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, lcText )
|
||||||
|
IF MOD(I,10000) = 0 THEN
|
||||||
|
FFLUSH( toFoxBin2Prg.n_FileHandle, .T. )
|
||||||
|
ENDIF
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
|
lcText = ''
|
||||||
|
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<>> <<C_RECORDS_F>>
|
<<>> <<C_RECORDS_F>>
|
||||||
<<>>
|
<<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
FWRITE( toFoxBin2Prg.n_FileHandle, lcText )
|
||||||
|
lcText = ''
|
||||||
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
loEx.UserValue = loEx.UserValue + 'tc_DBF_Conversion_Condition = [' + TRANSFORM(tc_DBF_Conversion_Condition) + ']' + CR_LF
|
loEx.UserValue = loEx.UserValue + 'tc_DBF_Conversion_Condition = [' + TRANSFORM(tc_DBF_Conversion_Condition) + ']' + CR_LF
|
||||||
@@ -20593,6 +20820,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
||||||
+ [<memberdata name="l_classperfilecheck" display="l_ClassPerFileCheck"/>] ;
|
+ [<memberdata name="l_classperfilecheck" display="l_ClassPerFileCheck"/>] ;
|
||||||
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
|
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
|
||||||
|
+ [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ;
|
||||||
+ [<memberdata name="l_configevaluated" display="l_ConfigEvaluated"/>] ;
|
+ [<memberdata name="l_configevaluated" display="l_ConfigEvaluated"/>] ;
|
||||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||||
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
||||||
@@ -20633,7 +20861,8 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
l_Recompile = NULL
|
l_Recompile = NULL
|
||||||
l_NoTimestamps = NULL
|
l_NoTimestamps = NULL
|
||||||
l_ClearUniqueID = NULL
|
l_ClearUniqueID = NULL
|
||||||
l_OptimizeByFilestamp = NULL
|
l_ClearDBFLastUpdate = NULL
|
||||||
|
l_OptimizeByFilestamp = NULL
|
||||||
l_RedirectClassPerFileToMain = NULL
|
l_RedirectClassPerFileToMain = NULL
|
||||||
l_UseClassPerFile = NULL
|
l_UseClassPerFile = NULL
|
||||||
l_ClassPerFileCheck = NULL
|
l_ClassPerFileCheck = NULL
|
||||||
|
|||||||
Reference in New Issue
Block a user