Changeset: 113 - Condicionada la sobreescritura de los TXT (2) solo cuando el contenido sea distinto
- Agregado soporte de Debug con archivo LOG bandera
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2013/12/26 21:00:42" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||
*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2013/12/27 00:21:18" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||
*
|
||||
LPARAMETERS tcDir
|
||||
|
||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
||||
_ProductName = " FOXBIN2PRG"
|
||||
_MajorVer = "1"
|
||||
_MinorVer = "16"
|
||||
_Revision = " 130"
|
||||
_Revision = " 137"
|
||||
_LanguageID = "1034"
|
||||
_AutoIncrement = "1"
|
||||
*</DevInfo>
|
||||
@@ -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="1134208850" ID="1130644423" ObjRev="544" />
|
||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1134231778" ID="1130644423" ObjRev="544" />
|
||||
*</BuildProj>
|
||||
|
||||
.ITEM('__newproject.f2b').Remove()
|
||||
|
||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
@@ -446,7 +446,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
*-- Ejecuci<63>n normal
|
||||
THIS.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
||||
THIS.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
||||
THIS.l_Debug = (TRANSFORM(tcDebug)=='1')
|
||||
THIS.l_Debug = (TRANSFORM(tcDebug)=='1' OR FILE(FORCEEXT(THIS.c_Foxbin2prg_FullPath,'LOG')))
|
||||
|
||||
IF THIS.l_ShowProgress
|
||||
THIS.o_Frm_Avance = CREATEOBJECT("frm_avance")
|
||||
@@ -786,7 +786,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
LOCAL lcLog
|
||||
THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' )
|
||||
lcLog = ''
|
||||
DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog
|
||||
DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog, .T.
|
||||
toFSO.MoveFile( tcFileName, tcFileName )
|
||||
THIS.writeLog( ' => Se renombrar<61> a [' + tcFileName + ']' )
|
||||
ENDPROC
|
||||
@@ -7253,8 +7253,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE write_PROGRAM_HEADER
|
||||
LOCAL lcText
|
||||
lcText = ''
|
||||
|
||||
*-- Cabecera del PRG e inicio de DEF_CLASS
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||
@@ -7262,6 +7265,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
<<C_FB2PRG_META_I>> Version="<<TRANSFORM(THIS.n_FB2PRG_Version)>>" SourceFile="<<EVL( THIS.c_OriginalFileName, THIS.c_InputFile )>>" Generated="<<TTOC(DATETIME())>>" <<C_FB2PRG_META_F>> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||
*
|
||||
ENDTEXT
|
||||
|
||||
RETURN lcText
|
||||
ENDPROC
|
||||
|
||||
|
||||
@@ -7765,7 +7770,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
DODEFAULT( @toModulo, @toEx )
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ;
|
||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
|
||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
|
||||
STORE 0 TO lnCodError, lnLastClass
|
||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
||||
@@ -7776,7 +7781,7 @@ 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
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
|
||||
|
||||
@@ -7856,9 +7861,13 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -7900,7 +7909,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ;
|
||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
|
||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
|
||||
STORE 0 TO lnCodError, lnLastClass
|
||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
||||
@@ -7914,7 +7923,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
*toModulo = NULL
|
||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
|
||||
|
||||
@@ -8013,9 +8022,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -8055,7 +8068,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
DODEFAULT( @toModulo, @toEx )
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo ;
|
||||
LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo, lnLen ;
|
||||
, loEx AS EXCEPTION ;
|
||||
, loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ;
|
||||
, loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ;
|
||||
@@ -8121,7 +8134,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
ENDSCAN
|
||||
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
|
||||
*-- Directorio de inicio
|
||||
@@ -8308,9 +8321,13 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
*COMPILE ( THIS.c_outputFile )
|
||||
ENDIF
|
||||
|
||||
@@ -8355,7 +8372,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
||||
DODEFAULT( @toModulo, @toEx )
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, loRegCab, loRegDataEnv, loRegCur, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ;
|
||||
LOCAL lnCodError, loRegCab, loRegDataEnv, loRegCur, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
|
||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
|
||||
STORE 0 TO lnCodError, lnLastClass
|
||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
||||
@@ -8398,7 +8415,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
||||
USE IN (SELECT("TABLABIN_0"))
|
||||
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
*-- Recorro los registros y genero el texto
|
||||
IF VARTYPE(loRegCab) = "O"
|
||||
@@ -8425,9 +8442,13 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -8466,7 +8487,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
DODEFAULT( @toModulo, @toEx )
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1) ;
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen ;
|
||||
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
|
||||
LOCAL loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG'
|
||||
STORE 0 TO lnCodError
|
||||
@@ -8475,7 +8496,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
|
||||
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
*-- Header
|
||||
loTable = CREATEOBJECT('CL_DBF_TABLE')
|
||||
@@ -8486,9 +8507,13 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -8539,7 +8564,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1) ;
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen ;
|
||||
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
|
||||
STORE 0 TO lnCodError
|
||||
|
||||
@@ -8548,7 +8573,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
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
*-- Header
|
||||
toDatabase = CREATEOBJECT('CL_DBC')
|
||||
@@ -8559,9 +8584,13 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -8604,7 +8633,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1) ;
|
||||
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen ;
|
||||
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
|
||||
STORE 0 TO lnCodError
|
||||
|
||||
@@ -8613,7 +8642,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
||||
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
|
||||
|
||||
THIS.write_PROGRAM_HEADER()
|
||||
C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
|
||||
|
||||
*-- Header
|
||||
toDatabase = CREATEOBJECT('CL_DBC')
|
||||
@@ -8624,9 +8653,13 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
||||
IF THIS.l_Test
|
||||
toModulo = C_FB2PRG_CODE
|
||||
ELSE
|
||||
IF STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
lnLen = LEN( THIS.write_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.' )
|
||||
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||
ENDIF
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user