diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index 9bb4e21..7e069c4 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -358,7 +358,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElReporte_FB2P_LBX_YValidarLosCamposDelRegistro *-- ETIQUETAS (LBX) LOCAL lnCodError, lnCodError_Esperado ; - , lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario, lnRecno ; + , lc_File, lc_InputFile, lc_OutputFile, lc_OutputFile2, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario, lnRecno ; , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; , loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; , loEx AS EXCEPTION @@ -380,17 +380,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg *-- DATOS DE ENTRADA STORE 0 TO lnCodError lc_File = 'FB2P_FOXUSER.LBX' - lc_InputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosReadOnly ) - lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ) + lc_InputFile = FULLPATH( FORCEPATH( lc_File, oFXU_LIB.cPathDatosReadOnly ) ) + lc_OutputFile = FULLPATH( FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ) ) + lc_OutputFile2 = FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) loCnv.EvaluarConfiguracion( '1', '1', '0', '0', SYS(5)+CURDIR(), '1', '0', '0' ) - *oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBX' ) ) oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBT' ) ) - loCnv.Convertir( lc_OutputFile, .F., .F., .T. ) - loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. ) + loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.Ejecutar( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN diff --git a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg index 21570d6..840eb8c 100644 --- a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg +++ b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg @@ -153,7 +153,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P_Esperado = CREATEOBJECT("EMPTY") loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -206,7 +206,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P_Esperado = CREATEOBJECT("EMPTY") loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -276,7 +276,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P_Esperado = CREATEOBJECT("EMPTY") loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -344,7 +344,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -382,7 +382,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('', 'TESTS\DATOS_TEST\foxbin2prg.cfg') STRTOFILE('', 'TESTS\DATOS_TEST\foxbin2prg.cfg.BAK') @@ -421,7 +421,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -459,7 +459,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') STRTOFILE('ExtraBackupLevels:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg.bak') @@ -498,7 +498,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -536,7 +536,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') STRTOFILE('ExtraBackupLevels:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg.bak') @@ -575,7 +575,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:2', 'TESTS\DATOS_TEST\foxbin2prg.cfg') STRTOFILE('ExtraBackupLevels:2', 'TESTS\DATOS_TEST\foxbin2prg.cfg.bak') @@ -615,7 +615,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ExtraBackupLevels:2', 'TESTS\DATOS_TEST\foxbin2prg.cfg') STRTOFILE('ExtraBackupLevels:2', 'TESTS\DATOS_TEST\foxbin2prg.cfg.bak') @@ -653,7 +653,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. @@ -690,7 +690,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('Debug:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -728,7 +728,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('Debug:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -766,7 +766,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. @@ -803,7 +803,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('NoTimestamps:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -841,7 +841,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('NoTimestamps:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -879,7 +879,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. @@ -916,7 +916,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ClearUniqueID:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -954,7 +954,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('ClearUniqueID:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -992,7 +992,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. @@ -1029,7 +1029,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('DontShowProgress:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1067,7 +1067,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) loFB2P.l_ShowErrors = .F. STRTOFILE('DontShowProgress:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1105,7 +1105,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1141,7 +1141,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('DontShowErrors:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1178,7 +1178,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('DontShowErrors:1', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1216,7 +1216,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1253,7 +1253,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:db2=dba', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1291,7 +1291,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1328,7 +1328,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:dc2=dca', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1366,7 +1366,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1403,7 +1403,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:fr2=fra', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1441,7 +1441,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1478,7 +1478,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:lb2=lba', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1516,7 +1516,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1553,7 +1553,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:mn2=mna', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1591,7 +1591,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1628,7 +1628,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:pj2=pja', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1666,7 +1666,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1703,7 +1703,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:sc2=sca', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1741,7 +1741,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1778,7 +1778,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('Extension:vc2=vca', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1816,7 +1816,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1853,7 +1853,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('DBF_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1891,7 +1891,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -1928,7 +1928,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('DBC_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -1966,7 +1966,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2003,7 +2003,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('PJX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2041,7 +2041,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2078,7 +2078,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('SCX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2116,7 +2116,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2153,7 +2153,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('VCX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2191,7 +2191,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2228,7 +2228,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('MNX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2266,7 +2266,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2303,7 +2303,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('FRX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2340,8 +2340,8 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O TRY loEx = NULL loFB2P = THIS.ioFB2P - loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.l_ShowErrors = .F. + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) *-- DATOS DE ENTRADA @@ -2378,7 +2378,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE('LBX_Conversion_Support:0', 'TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -2403,4 +2403,265 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_LBX_Como_1_CuandoExistaElArhivo_foxbin2prg_cfg_Secundario + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor, lcCFG_File ; + , laCFG_CachedAccess(3), laCFG_CachedAccess_Esperado(3), I ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loEx AS EXCEPTION + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + TRY + loEx = NULL + loFB2P = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.l_AllowMultiConfig = .T. + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) + lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'LBX_Conversion_Support:' + leValorEsperado = 1 + laCFG_CachedAccess_Esperado(1) = .F. + laCFG_CachedAccess_Esperado(2) = .T. + laCFG_CachedAccess_Esperado(3) = .T. + + + *-- TEST + loFB2P.EvaluarConfiguracion() && Carga config.Principal + + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() + + leValor = loFB2P.LBX_Conversion_Support + + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + + THIS.messageout( 'Configuración Principal: ' + loFB2P.c_Foxbin2prg_ConfigFile ) + THIS.messageout( 'Configuración Secundaria: ' + lcCFG_File ) + FOR I = 1 TO ALEN(laCFG_CachedAccess_Esperado) + THIS.assertequals( laCFG_CachedAccess_Esperado(I), laCFG_CachedAccess(I), 'CONFIGURACIÓN CACHEADA EN ACCESO ' + TRANSFORM(I) ) + ENDFOR + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_LBX_Como_0_CuandoNoHaya_CFG_Principal_Y_NoExista_CFG_Secundario_EnElDirEvaluado + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor, lcCFG_File ; + , laCFG_CachedAccess(3), laCFG_CachedAccess_Esperado(3), I ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loEx AS EXCEPTION + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + TRY + loEx = NULL + loFB2P = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.l_AllowMultiConfig = .T. + loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + 'noexiste' ) + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) + lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'LBX_Conversion_Support:' + leValorEsperado = 0 + laCFG_CachedAccess_Esperado(1) = .F. + laCFG_CachedAccess_Esperado(2) = .T. + laCFG_CachedAccess_Esperado(3) = .T. + + + *-- TEST + loFB2P.EvaluarConfiguracion() && Carga config.Principal + + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.LBX_Conversion_Support = 0 + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() + + leValor = loFB2P.LBX_Conversion_Support + + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + + THIS.messageout( 'Configuración Principal: ' + loFB2P.c_Foxbin2prg_ConfigFile ) + THIS.messageout( 'Configuración Secundaria: ' + lcCFG_File ) + + FOR I = 1 TO ALEN(laCFG_CachedAccess_Esperado) + THIS.messageout( 'Configuración cacheada en acceso ' + TRANSFORM(I) + ' esperada: ' + TRANSFORM( laCFG_CachedAccess_Esperado(I) ) ) + THIS.assertequals( laCFG_CachedAccess_Esperado(I), laCFG_CachedAccess(I), 'CONFIGURACIÓN CACHEADA EN ACCESO ' + TRANSFORM(I) ) + ENDFOR + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_LBX_Como_0_CuandoExista_CFG_Secundario_EnElDirEvaluado_Y_NoUsarValorCacheadoEnPrimerAcceso + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor, lcCFG_File ; + , laCFG_CachedAccess(3), laCFG_CachedAccess_Esperado(3), I ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loEx AS EXCEPTION + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + TRY + loEx = NULL + loFB2P = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.l_AllowMultiConfig = .T. + lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'LBX_Conversion_Support:' + leValorEsperado = 1 + laCFG_CachedAccess_Esperado(1) = .T. + laCFG_CachedAccess_Esperado(2) = .T. + laCFG_CachedAccess_Esperado(3) = .F. + + + *-- TEST + loFB2P.EvaluarConfiguracion() && Carga config.Principal + + loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() + + leValor = loFB2P.LBX_Conversion_Support + + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + + THIS.messageout( 'Configuración Principal: ' + loFB2P.c_Foxbin2prg_ConfigFile ) + THIS.messageout( 'Configuración Secundaria: ' + lcCFG_File ) + + FOR I = 1 TO ALEN(laCFG_CachedAccess_Esperado) + THIS.messageout( 'Configuración cacheada en acceso ' + TRANSFORM(I) + ' esperada: ' + TRANSFORM( laCFG_CachedAccess_Esperado(I) ) ) + THIS.assertequals( laCFG_CachedAccess_Esperado(I), laCFG_CachedAccess(I), 'CONFIGURACIÓN CACHEADA EN ACCESO ' + TRANSFORM(I) ) + ENDFOR + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_LBX_Como_0_CuandoExista_CFG_Secundario_EnElDirEvaluado_Y_UsarValorCacheadoDesdeSegundoAccesoConsecutivo + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor, lcCFG_File ; + , laCFG_CachedAccess(3), laCFG_CachedAccess_Esperado(3), I ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loEx AS EXCEPTION + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + TRY + loEx = NULL + loFB2P = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.l_AllowMultiConfig = .T. + *loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + 'noexiste' ) + *loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) + lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'LBX_Conversion_Support:' + leValorEsperado = 1 + laCFG_CachedAccess_Esperado(1) = .T. + laCFG_CachedAccess_Esperado(2) = .F. + laCFG_CachedAccess_Esperado(3) = .T. + + + *-- TEST + loFB2P.EvaluarConfiguracion() && Carga config.Principal + + *loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile + + loFB2P.c_InputFile = FORCEPATH( 'test1.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.c_InputFile = FORCEPATH( 'test2.vcx', oFXU_LIB.cPathDatosTest ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + + loFB2P.c_InputFile = FORCEPATH( 'test3.vcx', oFXU_LIB.cPathDatosTest ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() + + leValor = loFB2P.LBX_Conversion_Support + + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + + THIS.messageout( 'Configuración Principal: ' + loFB2P.c_Foxbin2prg_ConfigFile ) + THIS.messageout( 'Configuración Secundaria: ' + lcCFG_File ) + + FOR I = 1 TO ALEN(laCFG_CachedAccess_Esperado) + THIS.messageout( 'Configuración cacheada en acceso ' + TRANSFORM(I) + ' esperada: ' + TRANSFORM( laCFG_CachedAccess_Esperado(I) ) ) + THIS.assertequals( laCFG_CachedAccess_Esperado(I), laCFG_CachedAccess(I), 'CONFIGURACIÓN CACHEADA EN ACCESO ' + TRANSFORM(I) ) + ENDFOR + + ENDTRY + + ENDFUNC + + ENDDEFINE diff --git a/foxbin2prg.cfg b/foxbin2prg.cfg index 19b5a6f..0040927 100644 --- a/foxbin2prg.cfg +++ b/foxbin2prg.cfg @@ -14,7 +14,8 @@ * Debug: 0 && Don't Activate individual .Log by default / No Activar .Log por defecto * ExtraBackupLevels: 0 && 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: 0 && EXPERIMENTAL! - 0=Keep UniqueID, 1=Clear Unique ID. Useful for Diff and Merge / 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge -* OptimizeByFilestamp: 1 && Optimize file regeneration depending on file timestamp / Optimizar la regeneración de archivos dependiendo del timestamp de archivo +* OptimizeByFilestamp: 0 && Optimize file regeneration depending on file timestamp / Optimizar la regeneració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 * XXX_Conversion_Support: N && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) * PJX_Conversion_Support: 2 && Default value * VCX_Conversion_Support: 2 && Default value @@ -54,8 +55,9 @@ *NoTimestamps: 1 *Debug: 1 *ExtraBackupLevels: 3 -ClearUniqueID: 1 +*ClearUniqueID: 1 *OptimizeByFilestamp: 0 +*AllowMultiConfig: 0 * EN: Uncomment to activate the new value, comment to deactivate and use the default diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 76f8188..911494d 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -88,6 +88,7 @@ * 27/05/2014 FDBOZZO v1.19.23 Arreglo bug vcx/scx: Redimensionamiento incorrecto de imagenes en ciertas situaciones (props_image.txt y props_optiongroup.txt actualizados) * 09/06/2014 FDBOZZO v1.19.24 Arreglo bug vcx/scx: La falta de AGAIN en algunos comandos USE provoca error de "tabla en uso" si se usa el PRG desde la ventana de comandos * 14/06/2014 FDBOZZO v1.19.24 Arreglo bug vcx/scx: Un campo de tabla llamado "text" que comienza la línea puede confundirse con la estructura TEXT/ENDTEXT y reconocer mal el resto del código +* 16/06/2014 FDBOZZO v1.19.25 Mejora: Agregado soporte de configuraciones (CFG) por directorio que, si existen, se usan en lugar del principal (Mario Peschke) * 17/06/2014 FDBOZZO v1.19.25 Mejora: Si durante la generación de binarios o de textos se producen errores, mostrar un mensaje avisando de ello (Pedro Gutiérrez M.) * * @@ -121,6 +122,7 @@ * 27/05/2014 Kenny Vermassen REPORTE DE BUG img v1.19.22: La propiedad Stretch no estaba incluida en la lista de propiedades props_image.txt, lo que provocaba un mal redimensionamiento de las imagenes en ciertas situaciones (Arreglado en v1.19.23) * 09/06/2014 Matt Slay REPORTE BUG vcx/scx v1.19.23: La falta de AGAIN en algunos comandos USE provoca error de "tabla en uso" si se usa el PRG desde la ventana de comandos (Arreglado en v1.19.24) * 13/06/2014 Mario Peschke REPORTE BUG vcx/scx v1.19.23: Los campos de tabla con nombre "text" a veces provocan corrupción del binario generado (Arreglado en v1.19.24) +* 16/06/2014 Mario Peschke MEJORA v1.19.24: Agregado soporte de configuraciones (CFG) por directorio que, si existen, se usan en lugar del CFG principal (Agregado en v1.19.25) * 17/06/2014 Pedro Gutiérrez M. MEJORA v1.19.24: Si durante la generación de binarios o de textos se producen errores, mostrar un mensaje avisando de ello (Agregado en v1.19.25) * * @@ -432,15 +434,20 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -452,12 +459,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -477,6 +486,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] + PROTECTED l_ConfigEvaluated, n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess *-- n_FB2PRG_Version = 1.19 *-- @@ -493,6 +503,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM t_OutputFile_TimeStamp = {//::} lFileMode = .T. n_ExisteCapitalizacion = -1 + l_CFG_CachedAccess = .F. l_ConfigEvaluated = .F. l_Debug = .F. l_Error = .F. @@ -500,6 +511,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM l_Test = .F. l_ShowErrors = .T. l_ShowProgress = .T. + l_AllowMultiConfig = .T. l_Recompile = .T. l_NoTimestamps = .T. l_ClearUniqueID = .T. @@ -507,11 +519,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias + l_Main_CFG_Loaded = .F. n_ExtraBackupLevels = 1 - n_ClassTimeStamp = 0 + n_ClassTimeStamp = 0 + n_CFG_Actual = 0 o_Conversor = NULL o_Frm_Avance = NULL o_FSO = NULL + o_Configuration = NULL run_AfterCreateTable = '' run_AfterCreate_DB2 = '' c_VC2 = 'VC2' && VCX @@ -554,6 +569,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM THIS.c_Foxbin2prg_ConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' ) THIS.c_CurDir = SYS(5) + CURDIR() THIS.o_FSO = NEWOBJECT("Scripting.FileSystemObject") + THIS.o_Configuration = CREATEOBJECT("COLLECTION") ADDPROPERTY(_SCREEN, 'ExitCode', 0) RETURN ENDPROC @@ -564,9 +580,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM LOCAL lcFileCDX lcFileCDX = FORCEPATH( "TABLABIN.CDX", JUSTPATH(THIS.c_InputFile) ) - *IF FILE( lcFileCDX ) ERASE ( lcFileCDX ) - *ENDIF THIS.writeLog_Flush() @@ -580,6 +594,232 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + FUNCTION get_l_ConfigEvaluated + RETURN THIS.l_ConfigEvaluated + ENDFUNC + + + FUNCTION get_l_CFG_CachedAccess + RETURN THIS.l_CFG_CachedAccess + ENDFUNC + + + PROCEDURE l_Debug_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_Debug + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_Debug, THIS.l_Debug ) + ENDIF + ENDPROC + + + PROCEDURE l_ShowErrors_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_ShowErrors + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_ShowErrors, THIS.l_ShowErrors ) + ENDIF + ENDPROC + + + PROCEDURE l_ShowProgress_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_ShowProgress + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_ShowProgress, THIS.l_ShowProgress ) + ENDIF + ENDPROC + + + PROCEDURE l_Recompile_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_Recompile + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_Recompile, THIS.l_Recompile ) + ENDIF + ENDPROC + + + PROCEDURE l_NoTimestamps_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_NoTimestamps + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_NoTimestamps, THIS.l_NoTimestamps ) + ENDIF + ENDPROC + + + PROCEDURE l_ClearUniqueID_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_ClearUniqueID + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_ClearUniqueID, THIS.l_ClearUniqueID ) + ENDIF + ENDPROC + + + PROCEDURE l_OptimizeByFilestamp_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.l_OptimizeByFilestamp + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_OptimizeByFilestamp, THIS.l_OptimizeByFilestamp ) + ENDIF + ENDPROC + + + PROCEDURE n_ExtraBackupLevels_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.n_ExtraBackupLevels + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).n_ExtraBackupLevels, THIS.n_ExtraBackupLevels ) + ENDIF + ENDPROC + + + PROCEDURE c_VC2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_VC2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_VC2, THIS.c_VC2 ) + ENDIF + ENDPROC + + + PROCEDURE c_SC2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_SC2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_SC2, THIS.c_SC2 ) + ENDIF + ENDPROC + + + PROCEDURE c_PJ2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_PJ2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_PJ2, THIS.c_PJ2 ) + ENDIF + ENDPROC + + + PROCEDURE c_FR2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_FR2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_FR2, THIS.c_FR2 ) + ENDIF + ENDPROC + + + PROCEDURE c_LB2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_LB2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_LB2, THIS.c_LB2 ) + ENDIF + ENDPROC + + + PROCEDURE c_DB2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_DB2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_DB2, THIS.c_DB2 ) + ENDIF + ENDPROC + + + PROCEDURE c_DC2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_DC2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_DC2, THIS.c_DC2 ) + ENDIF + ENDPROC + + + PROCEDURE c_MN2_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.c_MN2 + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).c_MN2, THIS.c_MN2 ) + ENDIF + ENDPROC + + + PROCEDURE PJX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.PJX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).PJX_Conversion_Support, THIS.PJX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE VCX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.VCX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).VCX_Conversion_Support, THIS.VCX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE SCX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.SCX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).SCX_Conversion_Support, THIS.SCX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE FRX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.FRX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).FRX_Conversion_Support, THIS.FRX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE LBX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.LBX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).LBX_Conversion_Support, THIS.LBX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE MNX_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.MNX_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).MNX_Conversion_Support, THIS.MNX_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE DBF_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.DBF_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).DBF_Conversion_Support, THIS.DBF_Conversion_Support ) + ENDIF + ENDPROC + + + PROCEDURE DBC_Conversion_Support_ACCESS + IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) + RETURN THIS.DBC_Conversion_Support + ELSE + RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).DBC_Conversion_Support, THIS.DBC_Conversion_Support ) + ENDIF + ENDPROC + + PROCEDURE ChangeFileAttribute * Using Win32 Functions in Visual FoxPro * example=103 @@ -800,18 +1040,48 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; , tcClearUniqueID, tcOptimizeByFilestamp - LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue + LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue ; + , lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ; + , lo_Configuration AS Collection WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' - tcRecompile = EVL(tcRecompile,'1') + STORE 0 TO lnKey + tcRecompile = EVL(tcRecompile,'1') + lcConfigFile = .c_Foxbin2prg_ConfigFile + + IF .l_AllowMultiConfig AND .l_Main_CFG_Loaded + IF EMPTY(.c_InputFile) + ERROR C_FILE_NOT_FOUND_LOC + ': .c_InputFile = "' + .c_InputFile + '"' + ENDIF + lcConfigFile = FORCEPATH( 'foxbin2prg.cfg', JUSTPATH(.c_InputFile) ) + ENDIF + + lo_Configuration = .o_Configuration + .n_CFG_Actual = 0 + .l_CFG_CachedAccess = .F. + + IF .l_Main_CFG_Loaded AND lo_Configuration.Count > 0 + .n_CFG_Actual = lo_Configuration.GetKey( UPPER( JUSTPATH( lcConfigFile ) ) ) + .l_CFG_CachedAccess = (.n_CFG_Actual > 0) + ENDIF - IF NOT .l_ConfigEvaluated - lcConfigFile = .c_Foxbin2prg_ConfigFile + *IF NOT .l_ConfigEvaluated + lo_CFG = THIS + + IF .n_CFG_Actual = 0 THEN llExisteConfig = FILE( lcConfigFile ) + ENDIF - IF llExisteConfig + IF llExisteConfig AND .n_CFG_Actual = 0 .writeLog( C_CONFIGFILE_LOC + ' ' + lcConfigFile ) + IF .l_AllowMultiConfig AND .l_ConfigEvaluated AND .l_Main_CFG_Loaded + lo_CFG = CREATEOBJECT('CL_CFG') + lo_Configuration.Add( lo_CFG, UPPER( JUSTPATH( lcConfigFile ) ) ) + ELSE + lo_Configuration.Add( NULL, UPPER( JUSTPATH( lcConfigFile ) ) ) + ENDIF + FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 ) laConfig(I) = LOWER( laConfig(I) ) @@ -879,86 +1149,99 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .writeLog( JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(ALLTRIM( SUBSTR( laConfig(I), 21 )) ) ) ENDIF + CASE LEFT( laConfig(I), 17 ) == LOWER('AllowMultiConfig:') + lcValue = ALLTRIM( SUBSTR( laConfig(I), 18 ) ) + IF INLIST( lcValue, '0', '1' ) THEN + .l_AllowMultiConfig = ( TRANSFORM(lcValue) == '1' ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > AllowMultiConfig: ' + TRANSFORM(ALLTRIM( SUBSTR( laConfig(I), 18 )) ) ) + ENDIF + CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .PJX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(.PJX_Conversion_Support) ) + lo_CFG.PJX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(lo_CFG.PJX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('VCX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .VCX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(.VCX_Conversion_Support) ) + lo_CFG.VCX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(lo_CFG.VCX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('SCX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .SCX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(.SCX_Conversion_Support) ) + lo_CFG.SCX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(lo_CFG.SCX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('FRX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .FRX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(.FRX_Conversion_Support) ) + lo_CFG.FRX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(lo_CFG.FRX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('LBX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .LBX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(.LBX_Conversion_Support) ) + lo_CFG.LBX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(lo_CFG.LBX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('MNX_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .MNX_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(.MNX_Conversion_Support) ) + lo_CFG.MNX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(lo_CFG.MNX_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('DBF_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .DBF_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(.DBF_Conversion_Support) ) + lo_CFG.DBF_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(lo_CFG.DBF_Conversion_Support) ) ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('DBC_Conversion_Support:') lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN - .DBC_Conversion_Support = INT( VAL( lcValue ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(.DBC_Conversion_Support) ) + lo_CFG.DBC_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(lo_CFG.DBC_Conversion_Support) ) ENDIF ENDCASE ENDFOR + + IF .l_AllowMultiConfig AND .l_Main_CFG_Loaded AND lo_Configuration.Count > 0 + .n_CFG_Actual = lo_Configuration.Count &&lo_Configuration.GetKey( UPPER( JUSTPATH( lcConfigFile ) ) ) ENDIF + ENDIF && llExisteConfig IF INLIST( TRANSFORM(tcDontShowProgress), '0', '1' ) THEN - .l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1') + lo_CFG.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1') ENDIF IF NOT EMPTY(tcDontShowErrors) - .l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1') + lo_CFG.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1') + ENDIF + IF NOT .l_Main_CFG_Loaded + lo_CFG.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile)) ENDIF - .l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile)) IF INLIST( TRANSFORM(tcNoTimestamps), '0', '1' ) THEN - .l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0') + lo_CFG.l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0') ENDIF IF INLIST( TRANSFORM(tcClearUniqueID), '0', '1' ) THEN - .l_ClearUniqueID = NOT (TRANSFORM(tcClearUniqueID) == '0') + lo_CFG.l_ClearUniqueID = NOT (TRANSFORM(tcClearUniqueID) == '0') ENDIF IF INLIST( TRANSFORM(tcDebug), '0', '1' ) THEN - .l_Debug = (TRANSFORM(tcDebug)=='1') + lo_CFG.l_Debug = (TRANSFORM(tcDebug)=='1') ENDIF - tcExtraBackupLevels = EVL( tcExtraBackupLevels, TRANSFORM( .n_ExtraBackupLevels ) ) - .n_ExtraBackupLevels = INT( VAL( TRANSFORM(tcExtraBackupLevels) ) ) + tcExtraBackupLevels = EVL( tcExtraBackupLevels, TRANSFORM( lo_CFG.n_ExtraBackupLevels ) ) + lo_CFG.n_ExtraBackupLevels = INT( VAL( TRANSFORM(tcExtraBackupLevels) ) ) IF INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) THEN - .l_OptimizeByFilestamp = NOT (TRANSFORM(tcOptimizeByFilestamp) == '0') + lo_CFG.l_OptimizeByFilestamp = NOT (TRANSFORM(tcOptimizeByFilestamp) == '0') ENDIF .writeLog( '---' ) @@ -970,8 +1253,24 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .writeLog( '> l_Debug: ' + TRANSFORM(.l_Debug) ) .writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) ) .writeLog( '> l_OptimizeByFilestamp: ' + TRANSFORM(.l_OptimizeByFilestamp) ) + + lo_CFG = NULL + RELEASE lo_CFG + + *-- Si existe una configuración y es NULL, se usa la predeterminada + *IF .l_AllowMultiConfig AND .n_CFG_Actual > 0 AND ISNULL( .o_Configuration( .n_CFG_Actual ) ) THEN + IF .n_CFG_Actual > 0 AND ISNULL( .o_Configuration( .n_CFG_Actual ) ) THEN + .n_CFG_Actual = 0 + ENDIF + IF NOT llExisteConfig OR .n_CFG_Actual = 0 THEN + .l_CFG_CachedAccess = .T. && Es acceso cacheado porque usa config.por defecto sin archivo CFG + ENDIF + IF NOT .l_Main_CFG_Loaded THEN + .l_Main_CFG_Loaded = .T. + ENDIF + .l_ConfigEvaluated = .T. - ENDIF && .l_ConfigEvaluated + *ENDIF && .l_ConfigEvaluated ENDWITH && THIS RETURN @@ -1111,9 +1410,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM OTHERWISE *-- Ejecución normal - *-- ARCHIVO DE CONFIGURACIÓN + *-- ARCHIVO DE CONFIGURACIÓN PRINCIPAL + IF NOT THIS.l_ConfigEvaluated THEN .EvaluarConfiguracion( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ; , @tcClearUniqueID, @tcOptimizeByFilestamp ) + ENDIF IF .l_ShowProgress .cargar_frm_avance() @@ -1392,7 +1693,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM STORE NULL TO THIS.o_Frm_Avance ENDIF CD (JUSTPATH(THIS.c_CurDir)) - *SET PATH TO (lcPath) ENDTRY RETURN lnCodError @@ -1428,6 +1728,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) ) + *-- ARCHIVO DE CONFIGURACIÓN SECUNDARIO + .EvaluarConfiguracion() + IF NOT EMPTY(tcOriginalFileName) tcOriginalFileName = loFSO.GetAbsolutePathName( tcOriginalFileName ) ENDIF @@ -2010,7 +2313,7 @@ DEFINE CLASS c_conversor_base AS SESSION c_InputFile = '' c_OutputFile = '' lFileMode = .F. - n_ClassTimeStamp = 0 + n_ClassTimeStamp = 0 n_FB2PRG_Version = 1.0 c_Foxbin2prg_FullPath = '' c_Type = '' @@ -18999,3 +19302,77 @@ DEFINE CLASS CL_DBF_UTILS_FIELD AS CUSTOM ENDDEFINE +DEFINE CLASS CL_CFG AS CUSTOM + _MEMBERDATA = [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] + + #IF .F. + LOCAL THIS AS CL_CFG OF 'FOXBIN2PRG.PRG' + #ENDIF + + + *-- + c_Foxbin2prg_FullPath = '' + c_Foxbin2prg_ConfigFile = '' + c_CurDir = '' + l_Debug = NULL + l_ShowErrors = NULL + l_ShowProgress = NULL + l_Recompile = NULL + l_NoTimestamps = NULL + l_ClearUniqueID = NULL + l_OptimizeByFilestamp = NULL + n_ExtraBackupLevels = NULL + c_VC2 = NULL + c_SC2 = NULL + c_PJ2 = NULL + c_FR2 = NULL + c_LB2 = NULL + c_DB2 = NULL + c_DC2 = NULL + c_MN2 = NULL + PJX_Conversion_Support = NULL + VCX_Conversion_Support = NULL + SCX_Conversion_Support = NULL + FRX_Conversion_Support = NULL + LBX_Conversion_Support = NULL + MNX_Conversion_Support = NULL + DBF_Conversion_Support = NULL + DBC_Conversion_Support = NULL + + +ENDDEFINE + +