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:
fernando
2013-12-27 00:25:35 +01:00
parent 3f4d8acb4e
commit bf101ef41e
4 changed files with 67 additions and 34 deletions

View File

@@ -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!! * (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!! * (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 LPARAMETERS tcDir
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
_ProductName = " FOXBIN2PRG" _ProductName = " FOXBIN2PRG"
_MajorVer = "1" _MajorVer = "1"
_MinorVer = "16" _MinorVer = "16"
_Revision = " 130" _Revision = " 137"
_LanguageID = "1034" _LanguageID = "1034"
_AutoIncrement = "1" _AutoIncrement = "1"
*</DevInfo> *</DevInfo>
@@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx')
WITH loProject.FILES WITH loProject.FILES
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" /> .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> *</BuildProj>
.ITEM('__newproject.f2b').Remove() .ITEM('__newproject.f2b').Remove()

Binary file not shown.

Binary file not shown.

View File

@@ -446,7 +446,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
*-- Ejecuci<63>n normal *-- Ejecuci<63>n normal
THIS.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1') THIS.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
THIS.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '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 IF THIS.l_ShowProgress
THIS.o_Frm_Avance = CREATEOBJECT("frm_avance") THIS.o_Frm_Avance = CREATEOBJECT("frm_avance")
@@ -786,7 +786,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
LOCAL lcLog LOCAL lcLog
THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' ) THIS.writeLog( '- Se ha solicitado capitalizar el archivo [' + tcFileName + ']' )
lcLog = '' lcLog = ''
DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog DO (tcEXE_CAPS) WITH tcFileName, '', 'F', lcLog, .T.
toFSO.MoveFile( tcFileName, tcFileName ) toFSO.MoveFile( tcFileName, tcFileName )
THIS.writeLog( ' => Se renombrar<61> a [' + tcFileName + ']' ) THIS.writeLog( ' => Se renombrar<61> a [' + tcFileName + ']' )
ENDPROC ENDPROC
@@ -7253,8 +7253,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
******************************************************************************************************************* *******************************************************************************************************************
PROCEDURE write_PROGRAM_HEADER PROCEDURE write_PROGRAM_HEADER
LOCAL lcText
lcText = ''
*-- Cabecera del PRG e inicio de DEF_CLASS *-- 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!! * (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!! * (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) <<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 ENDTEXT
RETURN lcText
ENDPROC ENDPROC
@@ -7765,7 +7770,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx ) DODEFAULT( @toModulo, @toEx )
TRY 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) , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
STORE 0 TO lnCodError, lnLastClass STORE 0 TO lnCodError, lnLastClass
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) 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 INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE
SET ORDER TO 0 IN TABLABIN 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 ) 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF
@@ -7900,7 +7909,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
#ENDIF #ENDIF
TRY 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) , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
STORE 0 TO lnCodError, lnLastClass STORE 0 TO lnCodError, lnLastClass
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) 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 = NULL
*toModulo = CREATEOBJECT('CL_MODULO') *toModulo = CREATEOBJECT('CL_MODULO')
THIS.write_PROGRAM_HEADER() C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
THIS.get_NombresObjetosOLEPublic( @la_NombresObjsOle ) 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF
@@ -8055,7 +8068,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx ) DODEFAULT( @toModulo, @toEx )
TRY TRY
LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo ; LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo, lnLen ;
, loEx AS EXCEPTION ; , loEx AS EXCEPTION ;
, loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ; , loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ;
, loServerHead AS CL_PROJ_SRV_HEAD 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 ENDSCAN
THIS.write_PROGRAM_HEADER() C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
*-- Directorio de inicio *-- Directorio de inicio
@@ -8308,9 +8321,13 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
IF THIS.l_Test IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
*COMPILE ( THIS.c_outputFile ) *COMPILE ( THIS.c_outputFile )
ENDIF ENDIF
@@ -8355,7 +8372,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx ) DODEFAULT( @toModulo, @toEx )
TRY 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) , laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
STORE 0 TO lnCodError, lnLastClass STORE 0 TO lnCodError, lnLastClass
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1) 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")) 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 *-- Recorro los registros y genero el texto
IF VARTYPE(loRegCab) = "O" 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF
@@ -8466,7 +8487,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
DODEFAULT( @toModulo, @toEx ) DODEFAULT( @toModulo, @toEx )
TRY 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 , ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
LOCAL loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' LOCAL loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG'
STORE 0 TO lnCodError 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 ) THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
THIS.write_PROGRAM_HEADER() C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
*-- Header *-- Header
loTable = CREATEOBJECT('CL_DBF_TABLE') 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF
@@ -8539,7 +8564,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
#ENDIF #ENDIF
TRY 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 , ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
STORE 0 TO lnCodError 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 USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
THIS.write_PROGRAM_HEADER() C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
*-- Header *-- Header
toDatabase = CREATEOBJECT('CL_DBC') 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF
@@ -8604,7 +8633,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
#ENDIF #ENDIF
TRY 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 , ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name
STORE 0 TO lnCodError 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 USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
THIS.write_PROGRAM_HEADER() C_FB2PRG_CODE = C_FB2PRG_CODE + THIS.write_PROGRAM_HEADER()
*-- Header *-- Header
toDatabase = CREATEOBJECT('CL_DBC') 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 IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE 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' ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
ENDIF ENDCASE
ENDIF ENDIF