From a801a788f4782ee44e342e932b3364903d2bb45d Mon Sep 17 00:00:00 2001 From: fernando Date: Thu, 2 Jan 2014 02:11:45 +0100 Subject: [PATCH] =?UTF-8?q?Changeset:=20124=20-=20v1.16=20-=20Agregado=20s?= =?UTF-8?q?oporte=20bidireccional=20para=20conversi=C3=B3n=20de=20Menus=20?= =?UTF-8?q?-=20Mejora=20del=20backup:=20Ahora=20tambi=C3=A9n=20se=20hace?= =?UTF-8?q?=20de=20los=20archivos=20de=20texto=20-=20Optimizaciones=20vari?= =?UTF-8?q?as,=20limpieza=20de=20c=C3=B3digo,=20refactorizaciones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...foxbin2prg__c_conversor_base__doBackup.prg | 14 +- foxbin2prg.pj2 | 6 +- foxbin2prg.pjt | Bin 310794 -> 310629 bytes foxbin2prg.pjx | Bin 1582 -> 1582 bytes foxbin2prg.prg | 273 +++++++++--------- 5 files changed, 144 insertions(+), 149 deletions(-) diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__doBackup.prg b/TESTS/ut__foxbin2prg__c_conversor_base__doBackup.prg index 8deb05e..b9108c7 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_base__doBackup.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_base__doBackup.prg @@ -24,12 +24,12 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes ******************************************************************************************************************************************* FUNCTION SETUP PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' - LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG" + LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG" SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG') oFXU_LIB.setup_comun() - THIS.icObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG") + THIS.icObj = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") loObj = THIS.icObj loObj.l_Test = .T. @@ -59,7 +59,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes #IF .F. PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' #ENDIF - LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG" loObj = THIS.icObj IF PCOUNT() = 0 @@ -67,7 +67,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes RETURN .T. ENDIF - IF ISNULL(toEx) + IF VARTYPE(toEx) <> 'O' *-- Visualización de valores THIS.messageout( 'BackFile_1: ' + TRANSFORM(tcBackFile_1) ) THIS.messageout( 'BackFile_2: ' + TRANSFORM(tcBackFile_2) ) @@ -76,7 +76,9 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes *-- Evaluación de valores THIS.assertequals( .T., FILE(tcBackFile_1), "Existencia del archivo " + tcBackFile_1 ) - THIS.assertequals( .T., FILE(tcBackFile_2), "Existencia del archivo " + tcBackFile_2 ) + IF NOT EMPTY(tcBackFile_2) + THIS.assertequals( .T., FILE(tcBackFile_2), "Existencia del archivo " + tcBackFile_2 ) + ENDIF IF NOT EMPTY(tcBackFile_3) THIS.assertequals( .T., FILE(tcBackFile_3), "Existencia del archivo " + tcBackFile_3 ) ENDIF @@ -102,7 +104,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__doBackup AS FxuTestCase OF FxuTes LOCAL lnCodError, lcMenError, lnCodError_Esperado ; , lcMemo, lcMemo_Salida, lcMemo_Esperado, lcBackFile_1, lcBackFile_2, lcBackFile_3 ; , loEx AS EXCEPTION - LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG" + LOCAL loObj AS c_foxbin2prg OF "FOXBIN2PRG.PRG" loObj = THIS.icObj loEx = NULL loObj.c_OutputFile = FORCEPATH( 'FB2P_DBC.DBC', oFXU_LIB.cPathDatosTest ) diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 2955c01..d34bf4d 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -2,7 +2,7 @@ * (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡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="2014/01/02 01:26:10" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +*< FOXBIN2PRG: Version="1.16" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/02 02:10:04" /> (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 = " 142" +_Revision = " 143" _LanguageID = "1034" _AutoIncrement = "1" * @@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx') WITH loProject.FILES .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" /> - .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143081697" ID="1130644423" ObjRev="544" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143083147" ID="1130644423" ObjRev="544" /> * .ITEM('__newproject.f2b').Remove() diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 24a1d60af4eb79e587afc45ffbe898441ac0b91c..fba867d7def5cfc906b062f7eced98718642b2d6 100644 GIT binary patch delta 13784 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 E2XLQMNB{r; delta 14031 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 L{|TAzTS?Ynb$z*3%B~}G] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -401,7 +403,93 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC - PROCEDURE ejecutar + PROCEDURE doBackup + *--------------------------------------------------------------------------------------------------- + * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) + * toEx (@? IN ) Objeto Exception con información del error + * tlRelanzarError (v? IN ) Indica si se debe relanzar el error + * tcBakFile_1 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,frx,lbx,dbf,dbc,mnx,vc2,sc2,pj2,etc) + * tcBakFile_2 (@? OUT) Nombre del archivo backup 2 (vct,sct,pjt,frt,lbt,fpt,dct,mnt,etc) + * tcBakFile_3 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,cdx,dcx,etc) + *--------------------------------------------------------------------------------------------------- + LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3 + + #IF .F. + LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' + #ENDIF + + TRY + LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3 + STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3 + lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile ) + lcExt_1 = JUSTEXT( THIS.c_OutputFile ) + tcBakFile_1 = FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak) + + DO CASE + CASE INLIST( lcExt_1, THIS.c_PJ2, THIS.c_VC2, THIS.c_SC2, THIS.c_FR2 ; + , THIS.c_LB2, THIS.c_DB2, THIS.c_DC2, THIS.c_MN2 ) + *-- Extensiones TEXTO + + CASE lcExt_1 = 'DBF' + *-- DBF + lcExt_2 = 'FPT' + lcExt_3 = 'CDX' + tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) + tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak) + + CASE lcExt_1 = 'DBC' + *-- DBC + lcExt_2 = 'DCT' + lcExt_3 = 'DCX' + tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) + tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak) + + OTHERWISE + *-- PJX, VCX, SCX, FRX, LBX, MNX + lcExt_2 = LEFT(lcExt_1,2) + 'T' + tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) + + ENDCASE + + IF NOT EMPTY(lcExt_1) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) + *-- LOG + DO CASE + CASE EMPTY(lcExt_2) + THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) ) + CASE EMPTY(lcExt_3) + THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 ) + OTHERWISE + THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 + '/' + lcExt_3 ) + ENDCASE + + *-- COPIA BACKUP + COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( tcBakFile_1 ) + + IF NOT EMPTY(lcExt_2) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) + COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( tcBakFile_2 ) + ENDIF + + IF NOT EMPTY(lcExt_3) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) + COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( tcBakFile_3 ) + ENDIF + ENDIF + + CATCH TO toEx + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + IF tlRelanzarError + THROW + ENDIF + + ENDTRY + + RETURN + ENDPROC + + + PROCEDURE Ejecutar *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) * tc_InputFile (!v IN ) Nombre del archivo de entrada @@ -722,7 +810,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM FINALLY loFSO = NULL - THIS.o_FSO = NULL THIS.o_Conversor = NULL THIS.writeLog_Flush() @@ -732,6 +819,35 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDPROC + PROCEDURE getNext_BAK + *-------------------------------------------------------------------------------------------------------------- + * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) + * tc_OutputFilename (!v IN ) Nombre del archivo de salida a crear el backup + *-------------------------------------------------------------------------------------------------------------- + LPARAMETERS tcOutputFileName + LOCAL lcNext_Bak, I + lcNext_Bak = '' + + FOR I = 0 TO 99 + IF I = 0 + IF NOT FILE( tcOutputFileName + '.BAK' ) + lcNext_Bak = '.BAK' + EXIT + ENDIF + ELSE + IF NOT FILE( tcOutputFileName + '.' + PADL(I,2,'0') + '.BAK' ) + lcNext_Bak = '.' + PADL(I,2,'0') + '.BAK' + EXIT + ENDIF + ENDIF + ENDFOR + + lcNext_Bak = EVL( lcNext_Bak, '.100.BAK' ) && Para que no quede nunca vacío + + RETURN lcNext_Bak + ENDPROC + + ******************************************************************************************************************* PROCEDURE normalizarCapitalizacionArchivos TRY @@ -920,12 +1036,10 @@ DEFINE CLASS c_conversor_base AS SESSION + [] ; + [] ; + [] ; - + [] ; + [] ; + [] ; + [] ; + [] ; - + [] ; + [] ; + [] ; + [] ; @@ -1293,94 +1407,6 @@ DEFINE CLASS c_conversor_base AS SESSION ENDPROC - ******************************************************************************************************************* - PROCEDURE doBackup - *--------------------------------------------------------------------------------------------------- - * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) - * toEx (@? IN ) Objeto Exception con información del error - * tlRelanzarError (v? IN ) Indica si se debe relanzar el error - * tcBakFile_1 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,frx,lbx,dbf,dbc,mnx,vc2,sc2,pj2,etc) - * tcBakFile_2 (@? OUT) Nombre del archivo backup 2 (vct,sct,pjt,frt,lbt,fpt,dct,mnt,etc) - * tcBakFile_3 (@? OUT) Nombre del archivo backup 1 (vcx,scx,pjx,cdx,dcx,etc) - * toFoxbin2prg (v! IN ) Referencia al objeto principal - *--------------------------------------------------------------------------------------------------- - LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3, toFoxbin2prg - - #IF .F. - LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' - #ENDIF - - TRY - LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3 - STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3 - lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile ) - lcExt_1 = JUSTEXT( THIS.c_OutputFile ) - tcBakFile_1 = FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak) - - DO CASE - CASE INLIST( lcExt_1, toFoxbin2prg.c_PJ2, toFoxbin2prg.c_VC2, toFoxbin2prg.c_SC2, toFoxbin2prg.c_FR2 ; - , toFoxbin2prg.c_LB2, toFoxbin2prg.c_DB2, toFoxbin2prg.c_DC2, toFoxbin2prg.c_MN2 ) - *-- Extensiones TEXTO - - CASE lcExt_1 = 'DBF' - *-- DBF - lcExt_2 = 'FPT' - lcExt_3 = 'CDX' - tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) - tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak) - - CASE lcExt_1 = 'DBC' - *-- DBC - lcExt_2 = 'DCT' - lcExt_3 = 'DCX' - tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) - tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak) - - OTHERWISE - *-- PJX, VCX, SCX, FRX, LBX, MNX - lcExt_2 = LEFT(lcExt_1,2) + 'T' - tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) - - ENDCASE - - IF NOT EMPTY(lcExt_1) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) - *-- LOG - DO CASE - CASE EMPTY(lcExt_2) - THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) ) - CASE EMPTY(lcExt_3) - THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 ) - OTHERWISE - THIS.writeLog( C_BACKUP_OF_LOC + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 + '/' + lcExt_3 ) - ENDCASE - - *-- COPIA BACKUP - COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( tcBakFile_1 ) - - IF NOT EMPTY(lcExt_2) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) - COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( tcBakFile_2 ) - ENDIF - - IF NOT EMPTY(lcExt_3) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) - COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( tcBakFile_3 ) - ENDIF - ENDIF - - CATCH TO loEx - IF THIS.l_Debug AND _VFP.STARTMODE = 0 - SET STEP ON - ENDIF - - IF tlRelanzarError - THROW - ENDIF - - ENDTRY - - RETURN - ENDPROC - - ******************************************************************************************************************* PROCEDURE encode_SpecialCodes_1_31 LPARAMETERS tcText @@ -1426,32 +1452,6 @@ DEFINE CLASS c_conversor_base AS SESSION ENDPROC - ******************************************************************************************************************* - PROCEDURE getNext_BAK - LPARAMETERS tcOutputFileName - LOCAL lcNext_Bak, I - lcNext_Bak = '' - - FOR I = 0 TO 99 - IF I = 0 - IF NOT FILE( tcOutputFileName + '.BAK' ) - lcNext_Bak = '.BAK' - EXIT - ENDIF - ELSE - IF NOT FILE( tcOutputFileName + '.' + PADL(I,2,'0') + '.BAK' ) - lcNext_Bak = '.' + PADL(I,2,'0') + '.BAK' - EXIT - ENDIF - ENDIF - ENDFOR - - lcNext_Bak = EVL( lcNext_Bak, '.100.BAK' ) && Para que no quede nunca vacío - - RETURN lcNext_Bak - ENDPROC - - PROCEDURE getDBFmetadata *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) @@ -4163,7 +4163,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo la librería THIS.createClasslib() @@ -4440,7 +4440,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo el form THIS.createForm() @@ -4727,7 +4727,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo solo la cabecera del proyecto THIS.createProject() @@ -5450,7 +5450,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo el reporte THIS.createReport() @@ -5848,7 +5848,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte THIS.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toTable ) @@ -6095,7 +6095,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo la tabla *THIS.createTable() @@ -6258,7 +6258,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Creo la tabla THIS.createMenu() @@ -8014,7 +8014,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg THIS.write_ENDDEFINE_SiCorresponde( lnLastClass ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el VC2 IF THIS.l_Test @@ -8179,7 +8179,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg THIS.write_ENDDEFINE_SiCorresponde( lnLastClass ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el SC2 IF THIS.l_Test @@ -8484,7 +8484,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg ENDTEXT - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el PJ2 IF THIS.l_Test @@ -8616,7 +8616,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg THIS.write_DETALLE_REPORTE( @loRegCur ) ENDIF - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el FR2 IF THIS.l_Test @@ -8687,7 +8687,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg C_FB2PRG_CODE = C_FB2PRG_CODE + loTable.toText( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, THIS.c_InputFile ) - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el DB2 IF THIS.l_Test @@ -8768,7 +8768,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText() - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el DC2 IF THIS.l_Test @@ -8838,7 +8838,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg C_FB2PRG_CODE = C_FB2PRG_CODE + toMenu.toText() - THIS.doBackup( .F., .T., '', '', '', toFoxbin2prg ) + toFoxbin2prg.doBackup( .F., .T., '', '', '' ) *-- Genero el DC2 IF THIS.l_Test @@ -14286,13 +14286,6 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE _SourceFile = '' - PROCEDURE INIT - DODEFAULT() - *-- - *THIS.ADDOBJECT("_Options", "CL_MENU_OPTIONS") - ENDPROC - - PROCEDURE analizarBloque *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)