From fd26237454b5c263a302526cff09874845c9ff03 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Thu, 16 Apr 2015 01:31:06 +0200 Subject: [PATCH 1/2] =?UTF-8?q?-=20Internacionalizaci=C3=B3n:=20Cambiados?= =?UTF-8?q?=20varios=20nombres=20de=20m=C3=A9todos=20a=20Ingl=C3=A9s=20(Ej?= =?UTF-8?q?ecutar=20=3D>=20Execute,=20TieneSoporte=5F*=20=3D>=20hasSupport?= =?UTF-8?q?=5F*,=20EvaluarConfiguracion=20=3D>=20EvaluateConfiguration,=20?= =?UTF-8?q?AvanceDelProceso=20=3D>=20ProcessProgress,=20Ejecutar=20=3D>=20?= =?UTF-8?q?Execute,=20cargar=5Ffrm=5Favance=20=3D>=20loadProgressbarForm,?= =?UTF-8?q?=20descargar=5Ffrm=5Favance=20=3D>=20unloadProgressbarForm,=20A?= =?UTF-8?q?vanceDelProceso=20=3D>=20ProcessProgress)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FoxBin2PRGVersionFile.txt | 1 + TESTS/demo_hook_dbf.prg | 4 +- .../ft__foxbin2prg__c_conversor_bin_a_prg.prg | 4 +- .../ft__foxbin2prg__c_conversor_prg_a_bin.prg | 4 +- .../ft__foxbin2prg__c_conversor_prg_a_dbc.prg | 6 +- .../ft__foxbin2prg__c_conversor_prg_a_dbf.prg | 12 +- .../ft__foxbin2prg__c_conversor_prg_a_mnx.prg | 30 +- TESTS/ut__foxbin2prg.prg | 72 +- ...nversor_base__IdentifyExclusionBlocks.prg} | 22 +- ...onversor_base__normalizePropertyValue.prg} | 14 +- ...rg__c_conversor_bin_a_prg__indentMemo.prg} | 8 +- ...or_prg_a_bin__analyzeAssignmentOf_TAG.prg} | 10 +- ...__c_foxbin2prg__evaluateConfiguration.prg} | 166 +-- foxbin2prg.prg | 1238 ++++++++--------- 14 files changed, 796 insertions(+), 795 deletions(-) rename TESTS/{ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg => ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks.prg} (90%) rename TESTS/{ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg => ut__foxbin2prg__c_conversor_base__normalizePropertyValue.prg} (90%) rename TESTS/{ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo.prg => ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo.prg} (90%) rename TESTS/{ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg => ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG.prg} (92%) rename TESTS/{ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg => ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration.prg} (93%) diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index 70f0208..5afe5ce 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -48,6 +48,7 @@ Change History ------------------------------------------------------------- - Feature: Implemented CFG inheritance between directories - Feature (API): New method get_DirSettings() that returns the CFG settings object for the indicated directory (Lutz Scheffler) - Feature: Allow generation of text for a single class of a librery when using ClassPerFile (Lutz Scheffler) +- Feature (API): Renowned method names to English to facilitate international understanding (Mike Potjer) 2015/01/18 v1.19.41 - Bug Fix db2: Erroneous detection of Invalid Table when size is less than 328 bytes. Lower limit was changed to 65 bytes. diff --git a/TESTS/demo_hook_dbf.prg b/TESTS/demo_hook_dbf.prg index 85941dc..15d5fdf 100644 --- a/TESTS/demo_hook_dbf.prg +++ b/TESTS/demo_hook_dbf.prg @@ -3,8 +3,8 @@ LOCAL oFB AS 'c_foxbin2prg' OF 'c:\desa\foxbin2prg\foxbin2prg.prg' oFB = NEWOBJECT( 'c_foxbin2prg', 'c:\desa\foxbin2prg\foxbin2prg.prg' ) oFB.DBF_Conversion_Support = 2 oFB.run_AfterCreateTable = 'p_AfterCreateTable' -oFB.Ejecutar( 'C:\DESA\foxbin2prg\TESTS\DATOS_TEST\fb2p_dbc.dc2' ) -oFB.Ejecutar( 'C:\DESA\foxbin2prg\TESTS\DATOS_TEST\fb2p_dbf.db2' ) +oFB.execute( 'C:\DESA\foxbin2prg\TESTS\DATOS_TEST\fb2p_dbc.dc2' ) +oFB.execute( 'C:\DESA\foxbin2prg\TESTS\DATOS_TEST\fb2p_dbf.db2' ) oFB = NULL RETURN diff --git a/TESTS/ft__foxbin2prg__c_conversor_bin_a_prg.prg b/TESTS/ft__foxbin2prg__c_conversor_bin_a_prg.prg index d68475c..3fa18e4 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_bin_a_prg.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_bin_a_prg.prg @@ -119,8 +119,8 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_bin_a_prg AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - *loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + *loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) THIS.Evaluate_results( loEx, lnCodError_Esperado ) CATCH TO loEx diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_bin.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_bin.prg index 3440ca0..c157157 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_bin.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_bin.prg @@ -109,8 +109,8 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_bin AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - *loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + *loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) THIS.Evaluate_results( loEx, lnCodError_Esperado ) CATCH TO loEx diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbc.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbc.prg index 2c243a5..77de9a2 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbc.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbc.prg @@ -112,14 +112,14 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbc AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( 'EVENTSFILE.PRG' ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DC2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DC2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'DC2')) TO (FORCEEXT(lc_OutputFile,'DC3')) *-- Genero el DC2 desde el DBC regenerado *WAIT WINDOW TIMEOUT 2 && Para forzar una diferencia de 2 segundos entre el DC2 y el DC3 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los DC2 y DC3 lcDC2 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC2') ), '', '' ) lcDC3 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC3') ), '', '' ) diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg index f0bef09..061c156 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_dbf.prg @@ -113,7 +113,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( lc_File ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. ) SELECT 0 USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -185,7 +185,7 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( lc_File ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. ) SELECT 0 USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -258,8 +258,8 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) SELECT 0 USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -331,8 +331,8 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) SELECT 0 USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN diff --git a/TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg b/TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg index 6fb2ccd..27a1746 100644 --- a/TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg +++ b/TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg @@ -111,13 +111,13 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3')) *-- Genero el DC2 desde el DBC regenerado - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los MN2 y MN3 lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() ) lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader ) @@ -171,13 +171,13 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3')) *-- Genero el DC2 desde el DBC regenerado - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los MN2 y MN3 lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() ) lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader ) @@ -231,13 +231,13 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3')) *-- Genero el DC2 desde el DBC regenerado - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los MN2 y MN3 lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() ) lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader ) @@ -291,13 +291,13 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3')) *-- Genero el DC2 desde el DBC regenerado - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los MN2 y MN3 lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() ) lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader ) @@ -351,13 +351,13 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') ) *-- Genero el DC2 - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Regenero el DBC - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Renombro el DC2 a DC3 (ORIGINAL) RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3')) *-- Genero el DC2 desde el DBC regenerado - loCnv.Ejecutar( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) + loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. ) *-- Comparo los MN2 y MN3 lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() ) lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader ) diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index 4e0d73e..bfe6bcd 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -314,8 +314,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -390,13 +390,13 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg 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' ) + loCnv.evaluateConfiguration( '1', '1', '0', '0', SYS(5)+CURDIR(), '1', '0', '0' ) oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBX' ) ) oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBT' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -472,8 +472,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -555,8 +555,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN @@ -640,8 +640,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN @@ -735,8 +735,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -819,8 +819,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -903,8 +903,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - *loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + *loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) *-- Comparo resultados lcTXT0 = FORCEPATH( FORCEEXT(lc_File,'VC2'), ADDBS( oFXU_LIB.cPathDatosReadOnly ) ) @@ -961,8 +961,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) - loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN @@ -1047,7 +1047,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '', '0', '1', '4' ) + loCnv.evaluateConfiguration( '1', '1', '', '0', '1', '4' ) *loCnv.n_ExtraBackupLevels = 4 *loCnv.l_Debug = .T. *loCnv.l_ShowErrors = .F. @@ -1103,16 +1103,16 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg CLEAR CLASSLIB (lcLib) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) *-- Genero BIN - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) *-- Genero BIN - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' ) *-- Genero BMP con libreria regenerada SET CLASSLIB TO (lcLib) ADDITIVE @@ -1352,7 +1352,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg TRY loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '1', '1', '1', '4', '1', '0' ) + loCnv.evaluateConfiguration( '1', '1', '1', '1', '1', '4', '1', '0' ) *loCnv.l_DropNullCharsFromCode = .T. *loCnv.l_Test = .T. @@ -1373,7 +1373,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) ) *-- Comparo resultados @@ -1409,7 +1409,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg TRY loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '1', '0', '1', '4', '1', '0' ) + loCnv.evaluateConfiguration( '1', '1', '1', '0', '1', '4', '1', '0' ) loCnv.l_DropNullCharsFromCode = .F. *loCnv.l_Test = .T. @@ -1430,7 +1430,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) ) *-- Comparo resultados @@ -1473,7 +1473,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg TRY loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '1', '0', '1', '4', '1', '0' ) + loCnv.evaluateConfiguration( '1', '1', '1', '0', '1', '4', '1', '0' ) *loCnv.l_Test = .T. @@ -1491,13 +1491,13 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) *-- Genero BIN - loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) *-- Comparo resultados THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" ) @@ -1613,7 +1613,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg goFXU = THIS loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '1', '0', '1', '4', '1', '0' ) + loCnv.evaluateConfiguration( '1', '1', '1', '0', '1', '4', '1', '0' ) *loCnv.l_Test = .T. loCnv.run_AfterCreate_DB2 = 'run_AfterCreate_DB2__Ejecutado' THIS.run_AfterCreate_DB2__Ejecutado = .F. @@ -1632,7 +1632,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) ) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) *-- Comparo resultados THIS.messageout( "Respuesta esperada = .T." ) @@ -1669,7 +1669,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg goFXU = THIS loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") - loCnv.EvaluarConfiguracion( '1', '1', '1', '0', '1', '4', '1', '0' ) + loCnv.evaluateConfiguration( '1', '1', '1', '0', '1', '4', '1', '0' ) *loCnv.l_Test = .T. loCnv.DBF_Conversion_Support = 2 loCnv.run_AfterCreateTable = 'run_AfterCreateTable__Ejecutado' @@ -1689,7 +1689,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) ) *-- Genero TX2 - loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) *-- Comparo resultados THIS.messageout( "Respuesta esperada = .T." ) diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg b/TESTS/ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks.prg similarity index 90% rename from TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg rename to TESTS/ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks.prg index cfffd4d..5b1d848 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks.prg @@ -1,7 +1,7 @@ -DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as FxuTestCase OF FxuTestCase.prg +DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks as FxuTestCase OF FxuTestCase.prg #IF .F. - LOCAL THIS AS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion OF ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.PRG + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks OF ut__foxbin2prg__c_conversor_base__IdentifyExclusionBlocks.PRG #ENDIF #DEFINE C_PROC 'PROCEDURE' @@ -112,7 +112,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -162,7 +162,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -205,7 +205,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -253,7 +253,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -306,7 +306,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -384,7 +384,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , , @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , , @lnPos_Count, @laPos ) THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count ) @@ -441,7 +441,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -486,7 +486,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) @@ -538,7 +538,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as lnLineas = ALINES( laLineas, lcMethod ) *-- Test - loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) + loObj.IdentifyExclusionBlocks( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos ) *-- Evaluación de resultados THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion ) diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg b/TESTS/ut__foxbin2prg__c_conversor_base__normalizePropertyValue.prg similarity index 90% rename from TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg rename to TESTS/ut__foxbin2prg__c_conversor_base__normalizePropertyValue.prg index 774d812..8e7e268 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_base__normalizePropertyValue.prg @@ -1,7 +1,7 @@ -DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTestCase OF FxuTestCase.prg +DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizePropertyValue AS FxuTestCase OF FxuTestCase.prg #IF .F. - LOCAL THIS AS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad OF ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad.PRG + LOCAL THIS AS ut__foxbin2prg__c_conversor_base__normalizePropertyValue OF ut__foxbin2prg__c_conversor_base__normalizePropertyValue.PRG #ENDIF #DEFINE C_FB2P_VALUE_I '' @@ -116,7 +116,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTe ENDTEXT *-- TEST - loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + loObj.normalizePropertyValue( @lcPropName, @lcPropValue, @lcComentario ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) @@ -143,7 +143,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTe lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1 valor 2 valor 3' + C_FB2P_VALUE_F *-- TEST - loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + loObj.normalizePropertyValue( @lcPropName, @lcPropValue, @lcComentario ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) @@ -170,7 +170,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTe lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + CR_LF + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F *-- TEST - loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + loObj.normalizePropertyValue( @lcPropName, @lcPropValue, @lcComentario ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) @@ -197,7 +197,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTe lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + ' ' + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F *-- TEST - loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + loObj.normalizePropertyValue( @lcPropName, @lcPropValue, @lcComentario ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) @@ -224,7 +224,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__normalizarValorPropiedad AS FxuTe lcPropValue_Esperado = C_FB2P_VALUE_I + 'valor 1' + ' ' + 'valor 2' + CR_LF + 'valor 3' + C_FB2P_VALUE_F *-- TEST - loObj.normalizarValorPropiedad( @lcPropName, @lcPropValue, @lcComentario ) + loObj.normalizePropertyValue( @lcPropName, @lcPropValue, @lcComentario ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; , @lcPropName, @lcPropValue, @lcComentario, @lcPropValue_Esperado ) diff --git a/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo.prg b/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo.prg similarity index 90% rename from TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo.prg rename to TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo.prg index 3a7f7dc..ef8d859 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo.prg @@ -1,7 +1,7 @@ -DEFINE CLASS ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo AS FxuTestCase OF FxuTestCase.prg +DEFINE CLASS ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo AS FxuTestCase OF FxuTestCase.prg #IF .F. - LOCAL THIS AS ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo OF ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo.PRG + LOCAL THIS AS ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo OF ut__foxbin2prg__c_conversor_bin_a_prg__indentMemo.PRG #ENDIF #DEFINE C_FB2P_VALUE_I '' @@ -126,7 +126,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo AS FxuTestCase *-- TEST - lcMemo_Salida = loObj.IndentarMemo( @lcMemo, C_TAB+C_TAB ) + lcMemo_Salida = loObj.indentMemo( @lcMemo, C_TAB+C_TAB ) THIS.Evaluate_results( loEx, lnCodError_Esperado, @lcMemo, @lcMemo_Salida, @lcMemo_Esperado ) @@ -163,7 +163,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_bin_a_prg__indentarMemo AS FxuTestCase *-- TEST TRY - lcMemo_Salida = loObj.IndentarMemo( @lcMemo, C_TAB+C_TAB ) + lcMemo_Salida = loObj.indentMemo( @lcMemo, C_TAB+C_TAB ) CATCH TO loEx ENDTRY diff --git a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG.prg similarity index 92% rename from TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg rename to TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG.prg index a169f6f..7a92e4d 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG.prg @@ -1,7 +1,7 @@ -DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado AS FxuTestCase OF FxuTestCase.prg +DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG AS FxuTestCase OF FxuTestCase.prg #IF .F. - LOCAL THIS AS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado OF ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.PRG + LOCAL THIS AS ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG OF ut__foxbin2prg__c_conversor_prg_a_bin__analyzeAssignmentOf_TAG.PRG #ENDIF #DEFINE C_FB2P_VALUE_I '' @@ -153,7 +153,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(57,8) + 'Este es el valor 1' + CHR(13) + 'Este el 2' + CHR(13) + 'Y este bajo Shift_Enter el 3' *-- TEST - loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + loObj.analyzeAssignmentOf_TAG( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; @@ -220,7 +220,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(33,8) + 'El valor 1' + CR_LF + 'El valor 2' + CR_LF + 'Y el 3!' + CR_LF *-- TEST - loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + loObj.analyzeAssignmentOf_TAG( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; @@ -293,7 +293,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(23 + LEN(lcMemberdata),8) + '' + CR_LF + lcMemberdata + CR_LF + '' *-- TEST - loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; + loObj.analyzeAssignmentOf_TAG( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ; , @I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F ) THIS.Evaluate_results( loEx, lnCodError_Esperado ; diff --git a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg b/TESTS/ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration.prg similarity index 93% rename from TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg rename to TESTS/ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration.prg index ef34588..045d44e 100644 --- a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg +++ b/TESTS/ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration.prg @@ -1,7 +1,7 @@ -DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase OF FxuTestCase.prg +DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration AS FxuTestCase OF FxuTestCase.prg #IF .F. - LOCAL THIS AS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion OF ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.PRG + LOCAL THIS AS ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration OF ut__foxbin2prg__c_foxbin2prg__evaluateConfiguration.PRG #ENDIF #DEFINE C_CR CHR(13) @@ -180,7 +180,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() CATCH TO loEx @@ -250,7 +250,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() CATCH TO loEx @@ -320,7 +320,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion( '0', '0', '1', '1', '0', '1', '1', '1' ) + loFB2P.evaluateConfiguration( '0', '0', '1', '1', '0', '1', '1', '1' ) CATCH TO loEx @@ -357,7 +357,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -396,7 +396,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -434,7 +434,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -473,7 +473,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -511,7 +511,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -550,7 +550,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -590,7 +590,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -631,7 +631,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.getNext_BAK('TESTS\DATOS_TEST\foxbin2prg.cfg') @@ -666,7 +666,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_Debug @@ -704,7 +704,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_Debug @@ -742,7 +742,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_Debug @@ -779,7 +779,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_NoTimestamps @@ -817,7 +817,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_NoTimestamps @@ -855,7 +855,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_NoTimestamps @@ -892,7 +892,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ClearUniqueID @@ -930,7 +930,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ClearUniqueID @@ -968,7 +968,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ClearUniqueID @@ -1005,7 +1005,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_ShowProgressbar @@ -1043,7 +1043,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_ShowProgressbar @@ -1081,7 +1081,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.n_ShowProgressbar @@ -1117,7 +1117,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ShowErrors @@ -1154,7 +1154,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ShowErrors @@ -1191,7 +1191,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.l_ShowErrors @@ -1228,7 +1228,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_DB2 @@ -1266,7 +1266,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_DB2 @@ -1303,7 +1303,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_DC2 @@ -1341,7 +1341,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_DC2 @@ -1378,7 +1378,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_FR2 @@ -1416,7 +1416,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_FR2 @@ -1453,7 +1453,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_LB2 @@ -1491,7 +1491,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_LB2 @@ -1528,7 +1528,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_MN2 @@ -1566,7 +1566,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_MN2 @@ -1603,7 +1603,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_PJ2 @@ -1641,7 +1641,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_PJ2 @@ -1678,7 +1678,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_SC2 @@ -1716,7 +1716,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_SC2 @@ -1753,7 +1753,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_VC2 @@ -1791,7 +1791,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.c_VC2 @@ -1830,7 +1830,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBF_Conversion_Support @@ -1873,7 +1873,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBF_Conversion_Support @@ -1912,7 +1912,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBF_Conversion_Support @@ -1950,7 +1950,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBF_Conversion_Support @@ -1988,7 +1988,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBF_Conversion_Support @@ -2025,7 +2025,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBC_Conversion_Support @@ -2063,7 +2063,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.DBC_Conversion_Support @@ -2100,7 +2100,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.PJX_Conversion_Support @@ -2138,7 +2138,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.PJX_Conversion_Support @@ -2175,7 +2175,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.SCX_Conversion_Support @@ -2213,7 +2213,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.SCX_Conversion_Support @@ -2250,7 +2250,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.VCX_Conversion_Support @@ -2288,7 +2288,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.VCX_Conversion_Support @@ -2325,7 +2325,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.MNX_Conversion_Support @@ -2363,7 +2363,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.MNX_Conversion_Support @@ -2400,7 +2400,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.FRX_Conversion_Support @@ -2438,7 +2438,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.FRX_Conversion_Support @@ -2475,7 +2475,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.LBX_Conversion_Support @@ -2513,7 +2513,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() + loFB2P.evaluateConfiguration() leValor = loFB2P.LBX_Conversion_Support @@ -2556,15 +2556,15 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() && Carga config.Principal + loFB2P.evaluateConfiguration() && Carga config.Principal - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() leValor = loFB2P.LBX_Conversion_Support @@ -2617,18 +2617,18 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - *loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.evaluateConfiguration() && Carga config.Principal loFB2P.LBX_Conversion_Support = 0 - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && 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 + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() leValor = loFB2P.LBX_Conversion_Support @@ -2681,21 +2681,21 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - *loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.evaluateConfiguration() && Carga config.Principal *-- c:\desa\foxbin2prg\foxbin2prg.cfg loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + '..\otro' ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\otro\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() leValor = loFB2P.LBX_Conversion_Support @@ -2748,21 +2748,21 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - *loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.evaluateConfiguration() && Carga config.Principal *-- c:\desa\foxbin2prg\foxbin2prg.cfg loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\otro\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg (DEBE CACHEAR DE CUANDO PROCESÓ EL ANTERIOR) loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() leValor = loFB2P.LBX_Conversion_Support @@ -2817,23 +2817,23 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - *loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.evaluateConfiguration() && Carga config.Principal *loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile *-- c:\desa\foxbin2prg\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test1.vcx', loFB2P.c_Foxbin2prg_ConfigFile ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test2.vcx', oFXU_LIB.cPathDatosTest ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test3.vcx', oFXU_LIB.cPathDatosTest ) - loFB2P.EvaluarConfiguracion() && Carga config.secundaria + loFB2P.evaluateConfiguration() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() leValor = loFB2P.LBX_Conversion_Support diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 20baaae..ab9c2ff 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -157,7 +157,8 @@ * 25/03/2015 FDBOZZO v1.19.42 Bug Fix frx/lbx: Arreglo de CR,LF,TAB sobrantes en algunos archivos FR2/LB2 agregados en versiones anteriores (Ryan Harris) * 02/04/2015 FDBOZZO v1.19.42 Mejora: Herencia de CFGs entre directorios * 12/04/2015 FDBOZZO v1.19.42 Mejora API: Crear un método API get_DirSettings() para obtener información de seteos del directorio indicado (Lutz Scheffler) -* 13/04/2015 FDBOZZO v1.19.41 Mejora: Permitir generar texto de una clase de una librería (Lutz Scheffler) +* 13/04/2015 FDBOZZO v1.19.42 Mejora: Permitir generar texto de una clase de una librería (Lutz Scheffler) +* 16/04/2015 FDBOZZO v1.19.42 Mejora API: Renombrados los nombres de los métodos al Inglés para facilitar su entendimiento internacional (Mike Potjer) * * *--------------------------------------------------------------------------------------------------- @@ -237,6 +238,7 @@ * 24/03/2015 Ryan Harris Mejora v1.19.41: Borrar archivos ERR al procesar, cuando se usa UseClassPerFile (Agregado en v1.19.42) * 10/04/2015 Lutz Scheffler Mejora v1.19.41: Crear un método API get_DirSettings() para obtener información de seteos del directorio indicado (Agregado en v1.19.42) * 12/04/2015 Lutz Scheffler Mejora v1.19.41: Permitir generar texto de una clase de una librería (Agregado en v1.19.42) +* 15/04/2015 Mike Potjer Sugerencia v1.19.41: Los nombres de los métodos en Inglés facilitarían su entendimiento a más personas (Agregado en v1.19.42) * * *--------------------------------------------------------------------------------------------------- @@ -493,7 +495,7 @@ ENDIF loCnv = CREATEOBJECT("c_foxbin2prg") loEx = NULL -lnResp = loCnv.ejecutar( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug ; +lnResp = loCnv.execute( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug ; , tcDontShowProgress, NULL, @loEx, .F., tcOriginalFileName, tcRecompile, tcNoTimestamps ; , .F., .F., .F., tcCFG_File ) @@ -525,10 +527,10 @@ QUIT DEFINE CLASS c_foxbin2prg AS Session _MEMBERDATA = [] ; + [] ; - + [] ; + + [] ; + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -551,28 +553,29 @@ DEFINE CLASS c_foxbin2prg AS Session + [] ; + [] ; + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -601,14 +604,13 @@ DEFINE CLASS c_foxbin2prg AS Session + [] ; + [] ; + [] ; - + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -625,15 +627,15 @@ DEFINE CLASS c_foxbin2prg AS Session + [] ; + [] ; + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -762,7 +764,7 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Funciones para escribir en StdOut DECLARE INTEGER 'GetStdHandle' IN WIN32API AS fb2p_GetStdHandle INTEGER nHandleType DECLARE INTEGER 'WriteFile' IN WIN32API AS fb2p_WriteFile INTEGER hFile, STRING @ cBuffer, INTEGER nBytes, INTEGER @ nBytes2, INTEGER @ nBytes3 - *-- Funciones para ChangeFileTime + *-- Funciones para changeFileTime DECLARE INTEGER 'SetFileTime' IN WIN32API AS fb2p_SetFileTime INTEGER hFile, STRING lpCreationTime, STRING lpLastAccessTime, STRING lpLastWriteTime DECLARE INTEGER 'GetFileAttributesEx' IN Win32API AS fb2p_GetFileAttributesEx STRING lpFileName, INTEGER fInfoLevelId, STRING @ lpFileInformation DECLARE INTEGER 'LocalFileTimeToFileTime' IN Win32API AS fb2p_LocalFileTimeToFileTime STRING LOCALFILETIME, STRING @ FILETIME @@ -770,7 +772,7 @@ DEFINE CLASS c_foxbin2prg AS Session DECLARE INTEGER 'SystemTimeToFileTime' IN Win32API AS fb2p_SystemTimeToFileTime STRING lpSYSTEMTIME, STRING @ FILETIME DECLARE INTEGER '_lopen' IN Win32API AS fb2p_lopen STRING lpFileName, INTEGER iReadWrite DECLARE INTEGER '_lclose' IN Win32API AS fb2p_lclose INTEGER hFile - *-- Funciones para ChangeFileAttributes + *-- Funciones para changeFileAttributes DECLARE SHORT 'SetFileAttributes' IN Win32API AS fb2p_SetFileAttributes STRING tcFileName, INTEGER dwFileAttributes DECLARE INTEGER 'GetFileAttributes' IN Win32API AS fb2p_GetFileAttributes STRING tcFileName *-- @@ -805,12 +807,12 @@ DEFINE CLASS c_foxbin2prg AS Session THIS.writeLog( 'FoxBin2Prg INIT -', 2 ) THIS.writeLog( REPLICATE( '*', 100 ) ) THIS.writeLog( 'FoxBin2Prg: [' + THIS.c_Foxbin2prg_FullPath + '] (EXE Version: ' + THIS.c_FB2PRG_EXE_Version + ', FoxPro Version: ' + VERSION(4) + ')' ) - THIS.ChangeLanguage() + THIS.changeLanguage() THIS.o_FSO = CREATEOBJECT("Scripting.FileSystemObject") THIS.o_WSH = CREATEOBJECT("WScript.Shell") THIS.o_Configuration = CREATEOBJECT("COLLECTION") - THIS.EvaluarConfiguracion() + THIS.evaluateConfiguration() RELEASE lcSys16, lnPosProg, lc_Foxbin2prg_EXE, laValues RETURN ENDPROC @@ -827,7 +829,7 @@ DEFINE CLASS c_foxbin2prg AS Session THIS.writeLog( REPLICATE( '*', 100 ) ) THIS.writeLog( ) THIS.writeLog_Flush() - THIS.descargar_frm_avance() + THIS.unloadProgressbarForm() CATCH FINALLY @@ -835,11 +837,11 @@ DEFINE CLASS c_foxbin2prg AS Session THIS.o_FSO = NULL THIS.o_WSH = NULL THIS.o_FNC = NULL - *-- Funciones para ChangeFileAttributes + *-- Funciones para changeFileAttributes CLEAR DLLS fb2p_SetFileAttributes, fb2p_GetFileAttributes *-- Funciones para escribir en StdOut CLEAR DLLS fb2p_GetStdHandle, fb2p_WriteFile - *-- Funciones para ChangeFileTime + *-- Funciones para changeFileTime CLEAR DLLS fb2p_SetFileTime, fb2p_GetFileAttributesEx, fb2p_LocalFileTimeToFileTime ; , fb2p_FileTimeToSystemTime, fb2p_SystemTimeToFileTime, fb2p_lopen, fb2p_lclose ENDTRY @@ -898,7 +900,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE AvanceDelProceso + PROCEDURE processProgress LPARAMETERS tcTexto, tnValor, tnTotal, tnTipo TRY @@ -909,7 +911,7 @@ DEFINE CLASS c_foxbin2prg AS Session IF .o_Frm_Avance.l_Cancelled AND PROGRAM(-1) > 1 THEN ERROR 1799 ENDIF - .o_Frm_Avance.AvanceDelProceso( tcTexto, tnValor, tnTotal, tnTipo ) + .o_Frm_Avance.processProgress( tcTexto, tnValor, tnTotal, tnTipo ) ENDIF ENDWITH @@ -919,7 +921,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE ChangeLanguage + PROCEDURE changeLanguage LPARAMETERS tcLanguageId _SCREEN.AddProperty( "o_FoxBin2Prg_Lang", CREATEOBJECT("CL_LANG", tcLanguageId) ) *-- Localized properties @@ -929,7 +931,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE ClearProcessedFiles + PROCEDURE clearProcessedFiles *-- Limpia las estadísticas de archivos procesados que se usan para optimizar *-- el procesamiento y evitar el reproceso de los mismos archivos, por ejemplo, *-- de un mismo VCX compartido por 2 ó más proyectos. @@ -1288,7 +1290,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE ChangeFileAttribute + PROCEDURE changeFileAttribute * Using Win32 Functions in Visual FoxPro * example=103 * Changing file attributes @@ -1384,7 +1386,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE ChangeFileTime + PROCEDURE changeFileTime *--------------------------------------------------------------------------------------------------- * CAMBIAR LA FECHA/HORA DE UN ARCHIVO *--------------------------------------------------------------------------------------------------- @@ -1614,7 +1616,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE cargar_frm_avance + PROCEDURE loadProgressbarForm IF VARTYPE(THIS.o_Frm_Avance) <> "O" THEN THIS.o_Frm_Avance = CREATEOBJECT("frm_avance", THIS) THIS.o_Frm_Avance.Show() @@ -1622,7 +1624,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE descargar_frm_avance + PROCEDURE unloadProgressbarForm LPARAMETERS tlForceUnload IF (tlForceUnload OR THIS.n_ShowProgressbar <> 0) AND VARTYPE(THIS.o_Frm_Avance) = "O" THEN THIS.o_Frm_Avance.Hide() @@ -1632,7 +1634,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE EvaluarConfiguracion + PROCEDURE evaluateConfiguration *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcDontShowProgress (v? IN ) '1' para inhabilitar la barra de progreso @@ -1749,7 +1751,7 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Ahora evalúo las configuraciones de los PATH intermedios desde la raíz en adelante *-- y mantengo la última configuración CFG Padre en toParentCFG para usarla como base. FOR I = 1 TO lnDirs - .EvaluarConfiguracion( '', '', '', '', '', '', '', '', laDirs(I), C_FILETYPE_DIRECTORY, @toParentCFG) + .evaluateConfiguration( '', '', '', '', '', '', '', '', laDirs(I), C_FILETYPE_DIRECTORY, @toParentCFG) ENDFOR .l_CFG_CachedAccess = .F. @@ -1921,7 +1923,7 @@ DEFINE CLASS c_foxbin2prg AS Session CASE LEFT( laConfig(I), 9 ) == LOWER('Language:') *-- CASO ESPECIAL: El lenguaje no se guarda en lo_CFG, porque es un seteo Global. lcValue = ALLTRIM( SUBSTR( laConfig(I), 10 ) ) - .ChangeLanguage(lcValue) + .changeLanguage(lcValue) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > Language: ' + TRANSFORM(lcValue) + ' (' + .c_Language + ')' ) CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') @@ -2092,7 +2094,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - FUNCTION FilesComparedAreEqual + FUNCTION comparedFilesAreEqual *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcFilename1 (v! IN ) Nombre del archivo1 a comparar @@ -2171,7 +2173,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDFUNC - FUNCTION FilenameFoundInFilter + FUNCTION filenameFoundInFilter *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcFilename (v! IN ) Nombre del archivo a evaluar @@ -2194,7 +2196,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDFUNC - PROCEDURE Get_Ext2FromExt + PROCEDURE get_Ext2FromExt LPARAMETERS tcExt LOCAL lcExt2 tcExt = UPPER(tcExt) @@ -2216,13 +2218,13 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE TieneSoporte_Bin2Prg + PROCEDURE hasSupport_Bin2Prg LPARAMETERS tcExt - LOCAL llTieneSoporte + LOCAL llhasSupport tcExt = UPPER(JUSTEXT('.' + tcExt)) WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' - llTieneSoporte = ICASE( tcExt == 'PJX', .PJX_Conversion_Support >= 1 ; + llhasSupport = ICASE( tcExt == 'PJX', .PJX_Conversion_Support >= 1 ; , tcExt == 'VCX', .VCX_Conversion_Support >= 1 ; , tcExt == 'SCX', .SCX_Conversion_Support >= 1 ; , tcExt == 'FRX', .FRX_Conversion_Support >= 1 ; @@ -2234,17 +2236,17 @@ DEFINE CLASS c_foxbin2prg AS Session ENDWITH && THIS RELEASE tcExt - RETURN llTieneSoporte + RETURN llhasSupport ENDPROC - PROCEDURE TieneSoporte_Prg2Bin + PROCEDURE hasSupport_Prg2Bin LPARAMETERS tcExt - LOCAL llTieneSoporte + LOCAL llhasSupport tcExt = UPPER(JUSTEXT('.' + tcExt)) WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' - llTieneSoporte = ICASE( tcExt == .c_PJ2, .PJX_Conversion_Support = 2 ; + llhasSupport = ICASE( tcExt == .c_PJ2, .PJX_Conversion_Support = 2 ; , tcExt == .c_VC2, .VCX_Conversion_Support = 2 ; , tcExt == .c_SC2, .SCX_Conversion_Support = 2 ; , tcExt == .c_FR2, .FRX_Conversion_Support = 2 ; @@ -2256,11 +2258,11 @@ DEFINE CLASS c_foxbin2prg AS Session ENDWITH && THIS RELEASE tcExt - RETURN llTieneSoporte + RETURN llhasSupport ENDPROC - PROCEDURE ejecutar + PROCEDURE execute *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar @@ -2321,12 +2323,12 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF IF .l_AutoClearProcessedFiles THEN - .ClearProcessedFiles() && Para evitar acumular procesos anteriores + .clearProcessedFiles() && Para evitar acumular procesos anteriores ENDIF *-- Funciona y lee los parámetros, pero no le veo un caso de uso claro, ya que si se eligen *-- varios directorios de proyecto, la compilación será errónea. 12/12/2014 - *.ReadInputVFPParams( @laParams, @lnPCount ) + *.readInputVFPParams( @laParams, @lnPCount ) *IF lnPCount > 0 THEN * .writeLog( 'Params.Externos: ' + TRANSFORM(lnPCount,'@L ##') ) @@ -2396,7 +2398,7 @@ DEFINE CLASS c_foxbin2prg AS Session .writeLog( ) *-- ARCHIVO DE CONFIGURACIÓN PRINCIPAL - .EvaluarConfiguracion( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ; + .evaluateConfiguration( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ; , @tcClearUniqueID, @tcOptimizeByFilestamp, @tc_InputFile, @lcInputFile_Type ) loLang = _SCREEN.o_FoxBin2Prg_Lang @@ -2473,7 +2475,7 @@ DEFINE CLASS c_foxbin2prg AS Session IF EVL(tcType,'0') <> '*' THEN IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() ENDIF DO CASE @@ -2493,18 +2495,18 @@ DEFINE CLASS c_foxbin2prg AS Session CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND LEFT(EVL(tcType,'0'),1) == '*' *-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UNO O MÁS PROYECTOS PJX *-- Filespec: "*.PJX", "*" - .Evaluate_Full_PJX(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile, tcType) + .evaluate_Full_PJX(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile, tcType) CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJ2' AND LEFT(EVL(tcType,'0'),1) == '*' *-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UNO O MÁS PROYECTOS PJ2 *-- Filespec: "*.PJ2", "*" - .Evaluate_Full_PJ2(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile, tcType) + .evaluate_Full_PJ2(lcFile, tcRecompile, @toModulo, @toEx, tcOriginalFileName, .c_LogFile, tcType) OTHERWISE *-- DEMÁS ARCHIVOS *-- Filespec: "*.EXT" - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - lnCodError = .Convertir( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .convert( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) .writeLog_Flush() ENDCASE ENDFOR @@ -2516,7 +2518,7 @@ DEFINE CLASS c_foxbin2prg AS Session .writeLog( '> ' + loLang.C_OPTION_LOC + ': BIN2PRG' ) IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() .o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' ) ENDIF @@ -2539,17 +2541,17 @@ DEFINE CLASS c_foxbin2prg AS Session ERASE ( .c_LogFile ) ENDIF - .ObtenerArchivosDelDirectorio( tc_InputFile, @laFiles, @lnFileCount ) + .get_FilesFromDirectory( tc_InputFile, @laFiles, @lnFileCount ) FOR I = 1 TO lnFileCount lcFile = laFiles(I) - IF NOT .TieneSoporte_Bin2Prg( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN + IF NOT .hasSupport_Bin2Prg( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN LOOP ENDIF - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - lnCodError = .Convertir( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() DO CASE @@ -2557,14 +2559,14 @@ DEFINE CLASS c_foxbin2prg AS Session ERROR 1799 CASE lnCodError > 0 - .ejecutar_WriteErrorLog( @toEx ) + .doWriteErrorLog( @toEx ) ENDCASE ENDFOR - .AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + .processProgress( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) EXIT - CASE NOT .TieneSoporte_Bin2Prg( JUSTEXT(tc_InputFile) ) OR NOT FILE(tc_InputFile) + CASE NOT .hasSupport_Bin2Prg( JUSTEXT(tc_InputFile) ) OR NOT FILE(tc_InputFile) .writeLog( '> InputFile ' + loLang.C_IS_UNSUPPORTED_LOC ) .writeLog() EXIT @@ -2576,7 +2578,7 @@ DEFINE CLASS c_foxbin2prg AS Session .writeLog( '> ' + loLang.C_OPTION_LOC + ': PRG2BIN' ) IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() .o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' ) ENDIF @@ -2599,17 +2601,17 @@ DEFINE CLASS c_foxbin2prg AS Session ERASE ( .c_LogFile ) ENDIF - .ObtenerArchivosDelDirectorio( tc_InputFile, @laFiles, @lnFileCount ) + .get_FilesFromDirectory( tc_InputFile, @laFiles, @lnFileCount ) FOR I = 1 TO lnFileCount lcFile = laFiles(I) - IF NOT .TieneSoporte_Prg2Bin( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN + IF NOT .hasSupport_Prg2Bin( JUSTEXT(lcFile) ) OR NOT FILE(lcFile) THEN LOOP ENDIF - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - lnCodError = .Convertir( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() DO CASE @@ -2617,14 +2619,14 @@ DEFINE CLASS c_foxbin2prg AS Session ERROR 1799 CASE lnCodError > 0 - .ejecutar_WriteErrorLog( @toEx ) + .doWriteErrorLog( @toEx ) ENDCASE ENDFOR - .AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) + .processProgress( loLang.C_END_OF_PROCESS_LOC, lnFileCount, lnFileCount, 0 ) EXIT - CASE NOT .TieneSoporte_Prg2Bin( JUSTEXT(tc_InputFile) ) OR NOT FILE(tc_InputFile) + CASE NOT .hasSupport_Prg2Bin( JUSTEXT(tc_InputFile) ) OR NOT FILE(tc_InputFile) .writeLog( '> InputFile ' + loLang.C_IS_UNSUPPORTED_LOC ) .writeLog() EXIT @@ -2675,12 +2677,12 @@ DEFINE CLASS c_foxbin2prg AS Session DO CASE CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND LEFT(EVL(tcType,'0'),1) == '*' *-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO PJX - .Evaluate_Full_PJX(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName, '', tcType) + .evaluate_Full_PJX(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName, '', tcType) EXIT CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJ2' AND LEFT(EVL(tcType,'0'),1) == '*' *-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO PJ2 - .Evaluate_Full_PJ2(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName, '', tcType) + .evaluate_Full_PJ2(tc_InputFile, tcRecompile, @toModulo, @toEx, @tcOriginalFileName, '', tcType) EXIT CASE EVL(tcType,'0') <> '0' AND EVL(tcTextName,'0') <> '0' @@ -2700,7 +2702,7 @@ DEFINE CLASS c_foxbin2prg AS Session IF FILE(tc_InputFile) IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() ENDIF .writeLog( '> InputFile ' + loLang.C_IS_A_FILE_LOC ) @@ -2720,8 +2722,8 @@ DEFINE CLASS c_foxbin2prg AS Session ERASE ( .c_LogFile ) ENDIF - lnCodError = .Convertir( tc_InputFile, toModulo, toEx, .T., tcOriginalFileName ) - *.AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, 1, 1, 0 ) + lnCodError = .convert( tc_InputFile, toModulo, toEx, .T., tcOriginalFileName ) + *.processProgress( loLang.C_END_OF_PROCESS_LOC, 1, 1, 0 ) ENDIF ENDIF @@ -2752,7 +2754,7 @@ DEFINE CLASS c_foxbin2prg AS Session toEx.USERVALUE = toEx.USERVALUE + 'tc_InputFile = [' + TRANSFORM(tc_InputFile) + ']' + CR_LF ENDIF - THIS.ejecutar_WriteErrorLog( @toEx, @lcErrorInfo ) + THIS.doWriteErrorLog( @toEx, @lcErrorInfo ) IF THIS.n_Debug > 0 THEN IF _VFP.STARTMODE = 0 @@ -2775,7 +2777,7 @@ DEFINE CLASS c_foxbin2prg AS Session USE IN (SELECT("TABLABIN")) THIS.writeLog_Flush() - THIS.descargar_frm_avance() + THIS.unloadProgressbarForm() CD (JUSTPATH(THIS.c_CurDir)) DO CASE @@ -2810,7 +2812,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE Evaluate_Full_PJX + PROCEDURE evaluate_Full_PJX *-------------------------------------------------------------------------------------------------------------- * SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN PROYECTO PJX *-------------------------------------------------------------------------------------------------------------- @@ -2841,7 +2843,7 @@ DEFINE CLASS c_foxbin2prg AS Session lcFileSpec = FULLPATH( tc_InputFile ) IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() .o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Bin>Txt) -' ) ENDIF @@ -2877,17 +2879,17 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Convierto primero el proyecto IF tcType <> '*-' THEN lcFile = tc_InputFile - lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName ) + lnCodError = .convert( lcFile, toModulo, @toEx, .T., tcOriginalFileName ) .writeLog_Flush() ENDIF *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount lcFile = laFiles(I,1) - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - IF .TieneSoporte_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile ) - lnCodError = .Convertir( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) + IF .hasSupport_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile ) + lnCodError = .convert( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() DO CASE @@ -2895,7 +2897,7 @@ DEFINE CLASS c_foxbin2prg AS Session ERROR 1799 CASE lnCodError > 0 - .ejecutar_WriteErrorLog( @toEx ) + .doWriteErrorLog( @toEx ) ENDCASE ELSE *-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded ) @@ -2911,7 +2913,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE Evaluate_Full_PJ2 + PROCEDURE evaluate_Full_PJ2 *-------------------------------------------------------------------------------------------------------------- * SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN PROYECTO PJ2 *-------------------------------------------------------------------------------------------------------------- @@ -2942,7 +2944,7 @@ DEFINE CLASS c_foxbin2prg AS Session lcFileSpec = FULLPATH( tc_InputFile ) IF .n_ShowProgressbar <> 0 AND .l_ProcessFiles THEN - .cargar_frm_avance() + .loadProgressbarForm() .o_Frm_Avance.Caption = STRTRAN( .o_Frm_Avance.Caption, '> -', '(Txt>Bin) -' ) ENDIF @@ -2968,7 +2970,7 @@ DEFINE CLASS c_foxbin2prg AS Session FOR I = lnFileCount TO 1 STEP -1 IF '.ADD(' $ laFiles(I) laFiles(I) = ADDBS( JUSTPATH( lcFileSpec ) ) + STREXTRACT( laFiles(I), ".ADD('", "')" ) - laFiles(I) = FORCEEXT( laFiles(I), .Get_Ext2FromExt( UPPER(JUSTEXT(laFiles(I))) ) ) + laFiles(I) = FORCEEXT( laFiles(I), .get_Ext2FromExt( UPPER(JUSTEXT(laFiles(I))) ) ) ELSE lnFileCount = lnFileCount - 1 ADEL( laFiles, I ) @@ -2979,17 +2981,17 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Convierto primero el proyecto IF tcType <> '*-' THEN lcFile = tc_InputFile - lnCodError = .Convertir( lcFile, toModulo, @toEx, .T., tcOriginalFileName ) + lnCodError = .convert( lcFile, toModulo, @toEx, .T., tcOriginalFileName ) .writeLog_Flush() ENDIF *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount lcFile = laFiles(I) - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) - IF .TieneSoporte_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile ) - lnCodError = .Convertir( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) + IF .hasSupport_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND FILE( lcFile ) + lnCodError = .convert( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() DO CASE @@ -2997,7 +2999,7 @@ DEFINE CLASS c_foxbin2prg AS Session ERROR 1799 CASE lnCodError > 0 - .ejecutar_WriteErrorLog( @toEx ) + .doWriteErrorLog( @toEx ) ENDCASE ELSE *-- addProcessedFile( tcFile, tcInOutType, tcProcessed, tcHasErrors, tcSupported, tcExpanded ) @@ -3013,7 +3015,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - HIDDEN PROCEDURE ejecutar_WriteErrorLog + HIDDEN PROCEDURE doWriteErrorLog LPARAMETERS toEx as Exception, tcErrorInfo LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG' @@ -3023,7 +3025,7 @@ DEFINE CLASS c_foxbin2prg AS Session IF toEx.ErrorNo = 1799 THEN && Conversion Cancelled tcErrorInfo = loLang.C_CONVERSION_CANCELLED_BY_USER_LOC ELSE - tcErrorInfo = .Exception2Str(@toEx) + CR_LF + loLang.C_SOURCEFILE_LOC + TRANSFORM(.c_InputFile) + CR_LF + tcErrorInfo = .exception2Str(@toEx) + CR_LF + loLang.C_SOURCEFILE_LOC + TRANSFORM(.c_InputFile) + CR_LF ENDIF ADDPROPERTY(_SCREEN, 'ExitCode', toEx.ERRORNO) @@ -3045,7 +3047,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROTECTED PROCEDURE Convertir + PROTECTED PROCEDURE convert *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tc_InputFile (v! IN ) Nombre del archivo de entrada @@ -3084,7 +3086,7 @@ DEFINE CLASS c_foxbin2prg AS Session .c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) ) *-- VERIFICO SI HAY ARCHIVO DE CONFIGURACIÓN SECUNDARIO - .EvaluarConfiguracion() + .evaluateConfiguration() IF .n_ForceWriteIfReadOnly = 1 THEN lcForceAttribs = lcForceAttribs + '-R' @@ -3148,7 +3150,7 @@ DEFINE CLASS c_foxbin2prg AS Session ERROR loLang.C_FILE_DOESNT_EXIST_LOC + ' [' + .c_InputFile + ']' ENDIF - .normalizarCapitalizacionArchivos( .T. ) + .normalizeFileCapitalization( .T. ) DO CASE CASE lcExtension = 'VCX' @@ -3157,7 +3159,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_VC2 ) loConversor = CREATEOBJECT( 'c_conversor_vcx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_VC2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_VC2 ), lcForceAttribs ) CASE lcExtension = 'SCX' IF NOT INLIST(.SCX_Conversion_Support, 1, 2) @@ -3165,7 +3167,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_SC2 ) loConversor = CREATEOBJECT( 'c_conversor_scx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_SC2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_SC2 ), lcForceAttribs ) CASE lcExtension = 'PJX' IF NOT INLIST(.PJX_Conversion_Support, 1, 2) @@ -3173,7 +3175,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 ) loConversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs ) CASE lcExtension = 'PJM' IF NOT INLIST(.PJX_Conversion_Support, 1, 2) @@ -3181,7 +3183,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 ) loConversor = CREATEOBJECT( 'c_conversor_pjm_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_PJ2 ), lcForceAttribs ) CASE lcExtension = 'FRX' IF NOT INLIST(.FRX_Conversion_Support, 1, 2) @@ -3189,7 +3191,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_FR2 ) loConversor = CREATEOBJECT( 'c_conversor_frx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_FR2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_FR2 ), lcForceAttribs ) CASE lcExtension = 'LBX' IF NOT INLIST(.LBX_Conversion_Support, 1, 2) @@ -3197,7 +3199,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_LB2 ) loConversor = CREATEOBJECT( 'c_conversor_frx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_LB2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_LB2 ), lcForceAttribs ) CASE lcExtension = 'DBF' IF NOT INLIST(.DBF_Conversion_Support, 1, 2, 4) @@ -3205,7 +3207,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_DB2 ) loConversor = CREATEOBJECT( 'c_conversor_dbf_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DB2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_DB2 ), lcForceAttribs ) CASE lcExtension = 'DBC' IF NOT INLIST(.DBC_Conversion_Support, 1, 2) @@ -3213,7 +3215,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_DC2 ) loConversor = CREATEOBJECT( 'c_conversor_dbc_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_DC2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_DC2 ), lcForceAttribs ) CASE lcExtension = 'MNX' IF NOT INLIST(.MNX_Conversion_Support, 1, 2) @@ -3221,7 +3223,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, .c_MN2 ) loConversor = CREATEOBJECT( 'c_conversor_mnx_a_prg' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, .c_MN2 ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, .c_MN2 ), lcForceAttribs ) CASE lcExtension = .c_VC2 IF .VCX_Conversion_Support <> 2 @@ -3229,8 +3231,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'VCX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'VCT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'VCX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'VCT' ), lcForceAttribs ) CASE lcExtension = .c_SC2 IF .SCX_Conversion_Support <> 2 @@ -3238,8 +3240,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'SCX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_scx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'SCT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'SCX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'SCT' ), lcForceAttribs ) CASE lcExtension = .c_PJ2 IF .PJX_Conversion_Support <> 2 @@ -3247,8 +3249,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'PJX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_pjx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'PJT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'PJX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'PJT' ), lcForceAttribs ) CASE lcExtension = .c_FR2 IF .FRX_Conversion_Support <> 2 @@ -3256,8 +3258,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'FRX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_frx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FRT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'FRX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'FRT' ), lcForceAttribs ) CASE lcExtension = .c_LB2 IF .LBX_Conversion_Support <> 2 @@ -3265,8 +3267,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'LBX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_frx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'LBT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'LBX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'LBT' ), lcForceAttribs ) CASE lcExtension = .c_DB2 IF .DBF_Conversion_Support <> 2 @@ -3274,9 +3276,9 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'DBF' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_dbf' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBF' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'FPT' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'CDX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'DBF' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'FPT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'CDX' ), lcForceAttribs ) CASE lcExtension = .c_DC2 IF .DBC_Conversion_Support <> 2 @@ -3284,9 +3286,9 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'DBC' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_dbc' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DBC' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DCX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'DCT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'DBC' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'DCX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'DCT' ), lcForceAttribs ) CASE lcExtension = .c_MN2 IF .MNX_Conversion_Support <> 2 @@ -3294,8 +3296,8 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF .c_OutputFile = FORCEEXT( .c_InputFile, 'MNX' ) loConversor = CREATEOBJECT( 'c_conversor_prg_a_mnx' ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'MNX' ), lcForceAttribs ) - .ChangeFileAttribute( FORCEEXT( .c_InputFile, 'MNT' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'MNX' ), lcForceAttribs ) + .changeFileAttribute( FORCEEXT( .c_InputFile, 'MNT' ), lcForceAttribs ) OTHERWISE *ERROR 'El archivo [' + .c_InputFile + '] no está soportado' @@ -3370,13 +3372,13 @@ DEFINE CLASS c_foxbin2prg AS Session loConversor.c_OriginalFileName = .c_OriginalFileName loConversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath *-- - .AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 ) + .processProgress( loLang.C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 ) IF AEVENTS( laEvents, loConversor ) = 0 THEN - BINDEVENT( loConversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' ) + BINDEVENT( loConversor, 'processProgress', THIS, 'processProgress' ) ENDIF - loConversor.Convertir( @toModulo, .F., THIS ) + loConversor.convert( @toModulo, .F., THIS ) .n_ProcessedFilesCount = .n_ProcessedFilesCount + 1 .writeLog() .writeLog(loConversor.c_TextLog) && Recojo el LOG que haya generado el conversor @@ -3390,12 +3392,12 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF ENDCASE - .normalizarCapitalizacionArchivos() + .normalizeFileCapitalization() ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' CATCH TO toEx lnCodError = toEx.ERRORNO - *lcErrorInfo = THIS.Exception2Str(toEx) + CR_LF + CR_LF + loLang.C_SOURCEFILE_LOC + THIS.c_InputFile + *lcErrorInfo = THIS.exception2Str(toEx) + CR_LF + CR_LF + loLang.C_SOURCEFILE_LOC + THIS.c_InputFile *-- updateProcessedFile( tcProcessed, tcHasErrors, tcSupported, tcReserved ) THIS.updateProcessedFile( '', 'E1' ) @@ -3438,7 +3440,7 @@ DEFINE CLASS c_foxbin2prg AS Session *--------------------------------------------------------------------------------------------------- LPARAMETERS tcDir IF NOT EMPTY(tcDir) - THIS.EvaluarConfiguracion( '', '', '', '', '', '', '', '', tcDir, 'D' ) + THIS.evaluateConfiguration( '', '', '', '', '', '', '', '', tcDir, 'D' ) ENDIF RETURN THIS.o_Configuration(THIS.n_CFG_Actual) ENDPROC @@ -3510,7 +3512,7 @@ DEFINE CLASS c_foxbin2prg AS Session - PROCEDURE normalizarCapitalizacionArchivos + PROCEDURE normalizeFileCapitalization LPARAMETERS tl_NormalizeInputFile, tcFileName TRY @@ -3563,38 +3565,38 @@ DEFINE CLASS c_foxbin2prg AS Session ENDCASE *-- Normalizar archivo(s) de entrada. El primero siempre se normaliza (??2, ??X, DBF, DBC) - .RenameFile( tcFileName, lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( tcFileName, lcEXE_CAPS, loFSO, llRelanzarError ) DO CASE CASE lcType = 'PJX' - .RenameFile( FORCEEXT(tcFileName,'PJT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'PJT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'VCX' - .RenameFile( FORCEEXT(tcFileName,'VCT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'VCT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'SCX' - .RenameFile( FORCEEXT(tcFileName,'SCT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'SCT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'FRX' - .RenameFile( FORCEEXT(tcFileName,'FRT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'FRT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'LBX' - .RenameFile( FORCEEXT(tcFileName,'LBT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'LBT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'DBF' IF FILE( FORCEEXT(tcFileName,'FPT') ) - .RenameFile( FORCEEXT(tcFileName,'FPT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'FPT'), lcEXE_CAPS, loFSO, llRelanzarError ) ENDIF IF FILE( FORCEEXT(tcFileName,'CDX') ) - .RenameFile( FORCEEXT(tcFileName,'CDX'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'CDX'), lcEXE_CAPS, loFSO, llRelanzarError ) ENDIF CASE lcType = 'DBC' - .RenameFile( FORCEEXT(tcFileName,'DCX'), lcEXE_CAPS, loFSO, llRelanzarError ) - .RenameFile( FORCEEXT(tcFileName,'DCT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'DCX'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'DCT'), lcEXE_CAPS, loFSO, llRelanzarError ) CASE lcType = 'MNX' - .RenameFile( FORCEEXT(tcFileName,'MNT'), lcEXE_CAPS, loFSO, llRelanzarError ) + .renameFile( FORCEEXT(tcFileName,'MNT'), lcEXE_CAPS, loFSO, llRelanzarError ) ENDCASE @@ -3613,7 +3615,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE ObtenerArchivosDelDirectorio + PROCEDURE get_FilesFromDirectory LPARAMETERS tcDir, taFiles, lnFileCount EXTERNAL ARRAY taFiles @@ -3630,7 +3632,7 @@ DEFINE CLASS c_foxbin2prg AS Session IF DIRECTORY(tcDir) WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' loLang = _SCREEN.o_FoxBin2Prg_Lang - .AvanceDelProceso( loLang.C_SCANNING_FILE_AND_DIR_INFO_LOC + ' ' + tcDir + '...', 0, 0, 0 ) + .processProgress( loLang.C_SCANNING_FILE_AND_DIR_INFO_LOC + ' ' + tcDir + '...', 0, 0, 0 ) lnFiles = ADIR( laFiles, tcDir + '*.*', 'D', 1) *-- Busco los archivos @@ -3648,14 +3650,14 @@ DEFINE CLASS c_foxbin2prg AS Session IF NOT SUBSTR( laFiles(I,5), 5, 1 ) == 'D' OR LEFT(laFiles(I,1), 1) == '.' LOOP ENDIF - .ObtenerArchivosDelDirectorio( tcDir + laFiles(I,1), @taFiles, @lnFileCount ) + .get_FilesFromDirectory( tcDir + laFiles(I,1), @taFiles, @lnFileCount ) ENDFOR ENDWITH ENDIF ENDPROC - PROCEDURE ReadInputVFPParams + PROCEDURE readInputVFPParams LPARAMETERS taParams, tnPCount EXTERNAL ARRAY taParams *----------------------------------------------------------------------------- @@ -3694,7 +3696,7 @@ DEFINE CLASS c_foxbin2prg AS Session - PROCEDURE RenameFile + PROCEDURE renameFile LPARAMETERS tcFileName, tcEXE_CAPS, toFSO AS Scripting.FileSystemObject, tlRelanzarError LOCAL lcLog, laFile(1,5) ; @@ -3716,7 +3718,7 @@ DEFINE CLASS c_foxbin2prg AS Session - PROCEDURE RenameTmpFile2Tx2File + PROCEDURE renameTmpFile2Tx2File LPARAMETERS tcFileName LOCAL lcTmpFile, loFSO AS Scripting.FileSystemObject, loEx as Exception @@ -3724,7 +3726,7 @@ DEFINE CLASS c_foxbin2prg AS Session TRY *loFSO = THIS.o_FSO lcTmpFile = tcFileName + '.TMP' - THIS.ChangeFileAttribute( tcFileName, '+N' ) + THIS.changeFileAttribute( tcFileName, '+N' ) ERASE (tcFileName) RENAME (lcTmpFile) TO (tcFileName) @@ -3909,7 +3911,7 @@ DEFINE CLASS c_foxbin2prg AS Session - HIDDEN PROCEDURE Exception2Str + HIDDEN PROCEDURE exception2Str LPARAMETERS toEx AS EXCEPTION LOCAL lcError lcError = 'Error ' + TRANSFORM(toEx.ERRORNO) + ', ' + toEx.MESSAGE + CR_LF ; @@ -3927,7 +3929,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDPROC - PROCEDURE Unique_ID + PROCEDURE unique_ID LPARAMETERS tcValType tcValType = EVL(tcValType,'C') @@ -3963,7 +3965,7 @@ DEFINE CLASS frm_avance AS Form l_Cancelled = .F. Name = "frm_avance" _memberdata = [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -4298,7 +4300,7 @@ DEFINE CLASS frm_avance AS Form Top = 88, ; Width = 136 - PROCEDURE AvanceDelProceso + PROCEDURE processProgress LPARAMETERS tcTexto, tnValor, tnTotal, tnTipo WITH THISFORM AS frm_avance OF foxbin2prg.prg @@ -4565,36 +4567,36 @@ DEFINE CLASS c_conversor_base AS Session LOCAL THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG' #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -4682,7 +4684,7 @@ DEFINE CLASS c_conversor_base AS Session ENDIF THIS.c_Foxbin2prg_FullPath = SUBSTR( lcSys16, lnPosProg ) - THIS.SortSpecialProps() + THIS.sortSpecialProps() RELEASE lcSys16, lnPosProg RETURN ENDPROC @@ -4706,7 +4708,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE analizarAsignacion_TAG_Indicado + PROCEDURE analyzeAssignmentOf_TAG *-- DETALLES: Este método está pensado para leer los tags FB2P_VALUE y MEMBERDATA, que tienen esta sintaxis: * * _memberdata = @@ -4742,7 +4744,7 @@ DEFINE CLASS c_conversor_base AS Session *-- Propiedad especial IF tcTAG_F $ tcValue && El fin de tag está "inline" - .desnormalizarValorPropiedad( @tcPropName, @tcValue, '' ) + .denormalizePropertyValue( @tcPropName, @tcValue, '' ) EXIT ENDIF @@ -4760,14 +4762,14 @@ DEFINE CLASS c_conversor_base AS Session CASE LEFT( lcLine, tnLEN_TAG_F ) == tcTAG_F *-- tcValue = tcTAG_I + SUBSTR( tcValue, 3 ) + tcTAG_F - .desnormalizarValorPropiedad( @tcPropName, @tcValue, '' ) + .denormalizePropertyValue( @tcPropName, @tcValue, '' ) I = I + 1 EXIT CASE tcTAG_F $ lcLine *-- Data-Data-Data- tcValue = tcTAG_I + SUBSTR( tcValue, 3 ) + LEFT( lcLine, AT( tcTAG_F, lcLine )-1 ) + tcTAG_F - .desnormalizarValorPropiedad( @tcPropName, @tcValue, '' ) + .denormalizePropertyValue( @tcPropName, @tcValue, '' ) I = I + 1 EXIT @@ -4798,18 +4800,18 @@ DEFINE CLASS c_conversor_base AS Session ENDPROC - PROCEDURE AvanceDelProceso + PROCEDURE processProgress LPARAMETERS tcTexto, tnValor, tnTotal, tnTipo ENDPROC - PROCEDURE buscarObjetoDelMetodoPorNombre + PROCEDURE findMethodsObjectByName LPARAMETERS tcNombreObjeto, toClase *-- Caso 1: Un método de un objeto de la clase - *-- buscarObjetoDelMetodoPorNombre( 'command1', loClase ) + *-- findMethodsObjectByName( 'command1', loClase ) *-- Caso 2: Un método de un objeto heredado que no está definido en esta librería - *-- buscarObjetoDelMetodoPorNombre( 'cnt_descripcion.Cntlista.cmgAceptarCancelar.cmdCancelar', loClase ) + *-- findMethodsObjectByName( 'cnt_descripcion.Cntlista.cmgAceptarCancelar.cmdCancelar', loClase ) #IF .F. LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' #ENDIF @@ -4862,7 +4864,7 @@ DEFINE CLASS c_conversor_base AS Session - FUNCTION comprobarExpresionValida + FUNCTION verifyValidExpression LPARAMETERS tcAsignacion, tnCodError, tcExpNormalizada LOCAL llError, loEx AS EXCEPTION @@ -4881,7 +4883,7 @@ DEFINE CLASS c_conversor_base AS Session ENDFUNC - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase correspondiente con la información leida del texto @@ -4925,7 +4927,7 @@ DEFINE CLASS c_conversor_base AS Session ENDPROC - PROCEDURE elTextoEvaluadoEsElTokenIndicado + PROCEDURE isIndicatedToken LPARAMETERS tcLine, ta_ID_Bloques, tnLen_IDFinBQ, X, tnIniFin LOCAL llEncontrado, lcWord, lcLine @@ -5008,14 +5010,14 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE desnormalizarAsignacion + PROCEDURE denormalizeAssignment LPARAMETERS tcAsignacion LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos, lcComentario WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG' .get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor ) lcComentario = '' - .desnormalizarValorPropiedad( @lcPropName, @lcValor, @lcComentario ) + .denormalizePropertyValue( @lcPropName, @lcValor, @lcComentario ) tcAsignacion = lcPropName + ' = ' + lcValor ENDWITH @@ -5025,7 +5027,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE desnormalizarValorPropiedad + PROCEDURE denormalizePropertyValue *-- Este método se ejecuta cuando se regenera el binario desde el tx2 LPARAMETERS tcProp, tcValue, tcComentario LOCAL lnCodError, lnPos, lcValue @@ -5075,7 +5077,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE desnormalizarValorXML + PROCEDURE denormalizeXMLValue LPARAMETERS tcValor *-- DESNORMALIZA EL TEXTO INDICADO, EXPANDIENDO LOS SÍMBOLOS XML ESPECIALES. LOCAL lnPos, lnPos2, lnAscii @@ -5141,7 +5143,7 @@ DEFINE CLASS c_conversor_base AS Session - HIDDEN PROCEDURE Exception2Str + HIDDEN PROCEDURE exception2Str LPARAMETERS toEx AS EXCEPTION LOCAL lcError lcError = 'Error ' + TRANSFORM(toEx.ERRORNO) + ', ' + toEx.MESSAGE + CHR(13) + CHR(13) ; @@ -5175,7 +5177,7 @@ DEFINE CLASS c_conversor_base AS Session ENDPROC - FUNCTION GetTimeStamp + FUNCTION getTimeStamp *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tnTimeStamp (v! IN ) Timestamp en formato numérico @@ -5198,7 +5200,7 @@ DEFINE CLASS c_conversor_base AS Session ltTimeStamp = EVALUATE( '{^' + DTOC(laDirInfo(1,3)) + ' ' + TRANSFORM(laDirInfo(1,4)) + '}' ) *-- En mi arreglo, si la hora pasada tiene 32 segundos o más, redondeo al siguiente minuto, ya que - *-- la descodificación posterior de GetTimeStamp tiene ese margen de error. + *-- la descodificación posterior de getTimeStamp tiene ese margen de error. IF SEC(m.ltTimeStamp) >= 32 ltTimeStamp = m.ltTimeStamp + 28 ENDIF @@ -5362,17 +5364,17 @@ DEFINE CLASS c_conversor_base AS Session *-- EVALUAR UNA ASIGNACIÓN QUE PUEDE SER MULTILÍNEA (memberdata, fb2p_value, etc) WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG' DO CASE - CASE .analizarAsignacion_TAG_Indicado( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; + CASE .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; , C_FB2P_VALUE_I, C_FB2P_VALUE_F, C_LEN_FB2P_VALUE_I, C_LEN_FB2P_VALUE_F ) *-- FB2P_VALUE - CASE .analizarAsignacion_TAG_Indicado( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; + CASE .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; , C_MEMBERDATA_I, C_MEMBERDATA_F, C_LEN_MEMBERDATA_I, C_LEN_MEMBERDATA_F ) *-- MEMBERDATA OTHERWISE *-- Propiedad normal - .desnormalizarValorPropiedad( @tcPropName, @tcValue, '' ) + .denormalizePropertyValue( @tcPropName, @tcValue, '' ) ENDCASE ENDWITH && THIS @@ -5400,12 +5402,12 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks LPARAMETERS taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toModulo ENDPROC - PROCEDURE identificarBloquesDeExclusion + PROCEDURE identifyExclusionBlocks LPARAMETERS taCodeLines, tnCodeLines, ta_ID_Bloques, taLineasExclusion, tnBloquesExclusion, taBloquesExclusion * LOS BLOQUES DE EXCLUSIÓN SON AQUELLOS QUE TIENEN TEXT/ENDTEXT OF #IF/#ENDIF Y SE USAN PARA NO BUSCAR * INSTRUCCIONES COMO "DEFINE CLASS" O "PROCEDURE" EN LOS MISMOS. @@ -5459,7 +5461,7 @@ DEFINE CLASS c_conversor_base AS Session FOR X = 1 TO lnID_Bloques_Count lnLen_IDFinBQ = LEN( ta_ID_Bloques(X,2) ) - IF .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) ; + IF .isIndicatedToken( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) ; AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, I ) lnPrimerID = X lnAnidamientos = 1 @@ -5488,12 +5490,12 @@ DEFINE CLASS c_conversor_base AS Session lcLine = UPPER( LEFT( lcLine,1 ) ) + UPPER( LTRIM( SUBSTR( lcLine, 2 ) ) ) DO CASE - CASE lnPrimerID = 1 AND .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, 0, X, 1 ) ; + CASE lnPrimerID = 1 AND .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, X, 1 ) ; AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, I ) *-- Busca el primer marcador (#IF) NOTA: No busco [TEXT] porque no se pueden anidar. lnAnidamientos = lnAnidamientos + 1 - CASE .elTextoEvaluadoEsElTokenIndicado( @lcLine, @ta_ID_Bloques, 0, X, 2 ) + CASE .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, X, 2 ) *-- Busca el segundo marcador (#ENDIF o ENDTEXT) lnAnidamientos = lnAnidamientos - 1 @@ -5534,7 +5536,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE lineaExcluida + PROCEDURE excludedLine LPARAMETERS tn_Linea, tnBloquesExclusion, taLineasExclusion RETURN taLineasExclusion(tn_Linea) @@ -5572,14 +5574,14 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE normalizarAsignacion + PROCEDURE normalizeAssignment LPARAMETERS tcAsignacion, tcComentario LOCAL lcPropName, lcValor, lnCodError, lcExpNormalizada, lnPos WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG' .get_SeparatedPropAndValue( @tcAsignacion, @lcPropName, @lcValor ) tcComentario = '' - .normalizarValorPropiedad( @lcPropName, @lcValor, @tcComentario ) + .normalizePropertyValue( @lcPropName, @lcValor, @tcComentario ) tcAsignacion = lcPropName + ' = ' + lcValor ENDWITH @@ -5589,7 +5591,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE normalizarValorPropiedad + PROCEDURE normalizePropertyValue *-- Este método se ejecuta cuando se genera el tx2 desde el binario LPARAMETERS tcProp, tcValue, tcComentario LOCAL lcValue, I @@ -5636,7 +5638,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE normalizarValorXML + PROCEDURE normalizeXMLValue LPARAMETERS tcValor *-- NORMALIZA EL TEXTO INDICADO, COMPRIMIENDO LOS SÍMBOLOS XML ESPECIALES. tcValor = STRTRAN(tcValor, CHR(38), CHR(38) + 'amp;') && reemplaza & por & && @@ -5652,7 +5654,7 @@ DEFINE CLASS c_conversor_base AS Session - FUNCTION RowTimeStamp(ltDateTime) + FUNCTION rowTimeStamp(ltDateTime) * Generate a FoxPro 3.0-style row timestamp *-- CONVIERTE UN DATO TIPO DATETIME EN TIMESTAMP NUMERICO USADO POR LOS ARCHIVOS SCX/VCX/etc. LOCAL lcTimeValue, tnTimeStamp @@ -6005,7 +6007,7 @@ DEFINE CLASS c_conversor_base AS Session - PROCEDURE SortSpecialProps + PROCEDURE sortSpecialProps TRY LOCAL I, loEx AS EXCEPTION, lcPropsFile lcPropsFile = '' @@ -6280,23 +6282,23 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -6308,9 +6310,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + [] ; + [] ; + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -6320,12 +6322,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase correspondiente con la información leida del texto @@ -6383,7 +6385,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_FoxBin2Prg + PROCEDURE analyzeCodeBlock_FoxBin2Prg *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -6409,7 +6411,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_LIBCOMMENT + PROCEDURE analyzeCodeBlock_LIBCOMMENT *------------------------------------------------------ *-- Analiza el bloque * *------------------------------------------------------ @@ -6784,7 +6786,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toModulo ENDPROC @@ -6821,7 +6823,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF toClase._Prop_Count > 0 WITH THIS AS c_conversor_prg_a_bin OF foxbin2prg.prg - .AvanceDelProceso( 'Generating Props for Class ' + toClase._Nombre + '...', 0, 1, 2 ) + .processProgress( 'Generating Props for Class ' + toClase._Nombre + '...', 0, 1, 2 ) .c_ClaseActual = LOWER(toClase._BaseClass) DIMENSION laPropsAndValues( toClase._Prop_Count, 3 ) ACOPY( toClase._Props, laPropsAndValues ) @@ -6908,14 +6910,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base loProcedure = toClase._Procedures(I) IF loProcedure._ProcLine_Count > 0 THEN - .AvanceDelProceso( 'Generating Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) + .processProgress( 'Generating Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) IF '.' $ loProcedure._Nombre *-- cboNombre.InteractiveChange ==> No debe acortarse por ser método modificado de combobox heredado de la clase *-- cntDatos.txtEdad.Valid ==> Debe acortarse si cntDatos es un objeto existente lcNombreObjeto = LEFT( loProcedure._Nombre, AT('.', loProcedure._Nombre) - 1 ) - IF .buscarObjetoDelMetodoPorNombre( lcNombreObjeto, toClase ) = 0 + IF .findMethodsObjectByName( lcNombreObjeto, toClase ) = 0 TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <> <> ENDTEXT @@ -6934,7 +6936,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF *-- Incluir las líneas del método - *.AvanceDelProceso( 'Generating Lines of Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) + *.processProgress( 'Generating Lines of Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) FOR X = 1 TO loProcedure._ProcLine_Count *TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 * <> @@ -6970,7 +6972,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcMemo = '' *-- Recorrer los métodos - THIS.AvanceDelProceso( 'Generating Object Methods for ' + toClase._Nombre + '.' + toObjeto._ObjName + '...', 0, 1, 2 ) + THIS.processProgress( 'Generating Object Methods for ' + toClase._Nombre + '.' + toObjeto._ObjName + '...', 0, 1, 2 ) FOR I = 1 TO toObjeto._Procedure_Count loProcedure = NULL loProcedure = toObjeto._Procedures(I) @@ -7058,7 +7060,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base SELECT 0 USE (THIS.c_InputFile) SHARED AGAIN ALIAS _TABLABIN COPY STRUCTURE EXTENDED TO ( FORCEPATH( '_FRX_STRUC.DBF', ADDBS( SYS(2023) ) ) ) - **** CONTINUAR SI ES NECESARIO - SIN USO POR AHORA + **** CONTINUAR SI ES NECESARIO - SIN USO POR AHORA /// DO NOT USE - NOT IMPLEMENTED! CATCH TO loEx THROW @@ -7114,10 +7116,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcMemo = '' WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG' - .Evaluate_PAM( @lcMemo, toClase._ProtectedProps, 'property', 'protected' ) - .Evaluate_PAM( @lcMemo, toClase._HiddenProps, 'property', 'hidden' ) - .Evaluate_PAM( @lcMemo, toClase._ProtectedMethods, 'method', 'protected' ) - .Evaluate_PAM( @lcMemo, toClase._HiddenMethods, 'method', 'hidden' ) + .evaluate_PAM( @lcMemo, toClase._ProtectedProps, 'property', 'protected' ) + .evaluate_PAM( @lcMemo, toClase._HiddenProps, 'property', 'hidden' ) + .evaluate_PAM( @lcMemo, toClase._ProtectedMethods, 'method', 'protected' ) + .evaluate_PAM( @lcMemo, toClase._HiddenMethods, 'method', 'hidden' ) ENDWITH && THIS RELEASE toClase, I, lcPAM, lcComentario @@ -7127,7 +7129,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE Evaluate_PAM + PROCEDURE evaluate_PAM LPARAMETERS tcMemo AS STRING, tcPAM AS STRING, tcPAM_Type AS STRING, tcPAM_Visibility AS STRING LOCAL lcPAM, I @@ -7167,10 +7169,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcMethodsMemo = .objectMethods2Memo( toObjeto, toClase ) IF EMPTY(toObjeto._TimeStamp) - toObjeto._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + toObjeto._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(toObjeto._UniqueID) - toObjeto._UniqueID = toFoxBin2Prg.Unique_ID() + toObjeto._UniqueID = toFoxBin2Prg.unique_ID() ENDIF *-- Inserto el objeto @@ -7256,10 +7258,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base loObjeto = toClase._AddObjects( X ) IF EMPTY(loObjeto._TimeStamp) - loObjeto._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + loObjeto._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(loObjeto._UniqueID) - loObjeto._UniqueID = toFoxBin2Prg.Unique_ID() + loObjeto._UniqueID = toFoxBin2Prg.unique_ID() ENDIF laObjNames( X, 1 ) = loObjeto._Nombre @@ -7323,7 +7325,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarLineasDeProcedure + PROCEDURE analyzeProcedureLines LPARAMETERS toClase, toObjeto, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto, tc_Comentario ; , taLineasExclusion, tnBloquesExclusion @@ -7352,7 +7354,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base FOR I = I + 1 TO tnCodeLines .set_Line( @tcLine, @taCodeLines, I ) - IF NOT .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ; + IF NOT .excludedLine( I, tnBloquesExclusion, @taLineasExclusion ) ; AND NOT .lineIsOnlyCommentAndNoMetadata( @tcLine, @tc_Comentario ) DO CASE @@ -7407,7 +7409,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_ADD_OBJECT + PROCEDURE analyzeCodeBlock_ADD_OBJECT LPARAMETERS toModulo, toClase, tcLine, I, taCodeLines, tnCodeLines EXTERNAL ARRAY taCodeLines @@ -7439,7 +7441,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base toObjeto = NULL lcNombre = ALLTRIM( CHRTRAN( STREXTRACT(tcLine, 'ADD OBJECT ', ' AS ', 1, 1), ['"], [] ) ) lcObjName = JUSTEXT( '.' + lcNombre ) - .AvanceDelProceso( 'Analyzing Block Add Object ' + toClase._Nombre + '.' + lcObjName + '...', I, tnCodeLines, 1 ) + .processProgress( 'Analyzing Block Add Object ' + toClase._Nombre + '.' + lcObjName + '...', I, tnCodeLines, 1 ) IF toClase.l_ObjectMetadataInHeader FOR Z = 1 TO toClase._AddObject_Count @@ -7502,7 +7504,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF NOT toClase.l_ObjectMetadataInHeader toObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues ) - toObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) + toObjeto._TimeStamp = INT( .rowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) toObjeto._ZOrder = .get_ValueByName_FromListNamesWithValues( 'ZOrder', 'I', @laPropsAndValues ) ENDIF @@ -7553,7 +7555,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_DEFINED_PAM + PROCEDURE analyzeCodeBlock_DEFINED_PAM *-------------------------------------------------------------------------------------------------------------- * 07/01/2014 FDBOZZO Los *métodos deben ir siempre al final, si no los eventos ACCESS no se ejecutan! *-------------------------------------------------------------------------------------------------------------- @@ -7657,7 +7659,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_DEFINE_CLASS + PROCEDURE analyzeCodeBlock_DEFINE_CLASS LPARAMETERS toModulo, toClase, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto ; , taLineasExclusion, tnBloquesExclusion, tc_Comentario @@ -7714,7 +7716,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @tc_Comentario ) LOOP - CASE .analizarBloque_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines ; + CASE .analyzeCodeBlock_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines ; , @tcProcedureAbierto, @tc_Comentario, @taLineasExclusion, @tnBloquesExclusion ) *-- OJO: Esta se analiza primero a propósito, solo porque no puede estar detrás de PROTECTED y HIDDEN STORE .T. TO llCLASSCOMMENTS_Completed ; @@ -7727,36 +7729,36 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , llDEFINED_PAM_Completed - CASE NOT llPROTECTED_Completed AND .analizarBloque_PROTECTED( @toClase, @tcLine ) + CASE NOT llPROTECTED_Completed AND .analyzeCodeBlock_PROTECTED( @toClase, @tcLine ) llPROTECTED_Completed = .T. - CASE NOT llHIDDEN_Completed AND .analizarBloque_HIDDEN( @toClase, @tcLine ) + CASE NOT llHIDDEN_Completed AND .analyzeCodeBlock_HIDDEN( @toClase, @tcLine ) llHIDDEN_Completed = .T. - CASE NOT llINCLUDE_Completed AND .c_Type <> "SCX" AND .analizarBloque_INCLUDE( @toModulo, @toClase, @tcLine, @taCodeLines ; + CASE NOT llINCLUDE_Completed AND .c_Type <> "SCX" AND .analyzeCodeBlock_INCLUDE( @toModulo, @toClase, @tcLine, @taCodeLines ; , @I, @tnCodeLines, @tcProcedureAbierto ) llINCLUDE_Completed = .T. - CASE NOT llCLASSCOMMENTS_Completed AND .analizarBloque_CLASSCOMMENTS( @toClase, @tcLine ,@taCodeLines, tnCodeLines, @I ) + CASE NOT llCLASSCOMMENTS_Completed AND .analyzeCodeBlock_CLASSCOMMENTS( @toClase, @tcLine ,@taCodeLines, tnCodeLines, @I ) llCLASSCOMMENTS_Completed = .T. - CASE NOT llCLASSMETADATA_Completed AND .analizarBloque_CLASSMETADATA( @toClase, @tcLine ) + CASE NOT llCLASSMETADATA_Completed AND .analyzeCodeBlock_CLASSMETADATA( @toClase, @tcLine ) llCLASSMETADATA_Completed = .T. - CASE NOT llOBJECTMETADATA_Completed AND .analizarBloque_OBJECTMETADATA( @toClase, @tcLine ) + CASE NOT llOBJECTMETADATA_Completed AND .analyzeCodeBlock_OBJECTMETADATA( @toClase, @tcLine ) * No se usa flag porque puede haber múltiples ObjectMetadata. - CASE NOT llDEFINED_PAM_Completed AND .analizarBloque_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I ) + CASE NOT llDEFINED_PAM_Completed AND .analyzeCodeBlock_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I ) llDEFINED_PAM_Completed = .T. - CASE .analizarBloque_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines ) + CASE .analyzeCodeBlock_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines ) STORE .T. TO llCLASSCOMMENTS_Completed ; , llCLASS_PROPERTY_Completed ; , llPROTECTED_Completed ; @@ -7767,7 +7769,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , llDEFINED_PAM_Completed - CASE .analizarBloque_ENDDEFINE( @toClase, @tcLine, @I, @tcProcedureAbierto ) + CASE .analyzeCodeBlock_ENDDEFINE( @toClase, @tcLine, @I, @tcProcedureAbierto ) EXIT @@ -7832,7 +7834,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_ENDDEFINE + PROCEDURE analyzeCodeBlock_ENDDEFINE LPARAMETERS toClase, tcLine, I, tcProcedureAbierto #IF .F. @@ -7865,7 +7867,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_HIDDEN + PROCEDURE analyzeCodeBlock_HIDDEN LPARAMETERS toClase, tcLine #IF .F. @@ -7886,7 +7888,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_INCLUDE + PROCEDURE analyzeCodeBlock_INCLUDE LPARAMETERS toModulo, toClase, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto LOCAL llBloqueEncontrado @@ -7911,7 +7913,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_CLASSCOMMENTS + PROCEDURE analyzeCodeBlock_CLASSCOMMENTS LPARAMETERS toClase, tcLine ,taCodeLines, tnCodeLines, I EXTERNAL ARRAY taCodeLines @@ -7966,7 +7968,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_CLASSMETADATA + PROCEDURE analyzeCodeBlock_CLASSMETADATA LPARAMETERS toClase, tcLine #IF .F. @@ -7983,7 +7985,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base .get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_CLASSDATA_I, C_CLASSDATA_F ) toClase._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues ) - toClase._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) + toClase._TimeStamp = INT( .rowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) toClase._Scale = .get_ValueByName_FromListNamesWithValues( 'Scale', 'C', @laPropsAndValues ) toClase._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues ) toClase._ProjectClassIcon = .get_ValueByName_FromListNamesWithValues( 'ProjectClassIcon', 'C', @laPropsAndValues ) @@ -8006,7 +8008,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_EXTERNAL_CLASS + PROCEDURE analyzeCodeBlock_EXTERNAL_CLASS *------------------------------------------------------ *-- Analiza el bloque *< EXTERNAL_CLASS: Name="nombre-clase" Baseclass="clase-base" /> *------------------------------------------------------ @@ -8039,7 +8041,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_EXTERNAL_MEMBER + PROCEDURE analyzeCodeBlock_EXTERNAL_MEMBER *------------------------------------------------------ *-- Analiza el bloque *< EXTERNAL_MEMBER: Name="nombre-miembro" Type="tipo-de-miembro" /> *------------------------------------------------------ @@ -8072,7 +8074,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_OBJECTMETADATA + PROCEDURE analyzeCodeBlock_OBJECTMETADATA LPARAMETERS toClase, tcLine #IF .F. @@ -8094,7 +8096,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base WITH THIS .get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_OBJECTDATA_I, C_OBJECTDATA_F ) loObjeto._Nombre = .get_ValueByName_FromListNamesWithValues( 'ObjPath', 'C', @laPropsAndValues ) - loObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) + loObjeto._TimeStamp = INT( .rowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) ) loObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues ) ENDWITH && THIS @@ -8108,7 +8110,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_OLE_DEF + PROCEDURE analyzeCodeBlock_OLE_DEF LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto LOCAL llBloqueEncontrado @@ -8159,7 +8161,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_PROCEDURE + PROCEDURE analyzeCodeBlock_PROCEDURE LPARAMETERS toModulo, toClase, toObjeto, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto ; , tc_Comentario, taLineasExclusion, tnBloquesExclusion @@ -8177,27 +8179,27 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Estructura a reconocer: PROTECTED PROCEDURE nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 21 ) ) - .evaluarDefinicionDeProcedure( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) + .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) CASE LEFT( tcLine, 17 ) == 'HIDDEN PROCEDURE ' *-- Estructura a reconocer: HIDDEN PROCEDURE nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 18 ) ) - .evaluarDefinicionDeProcedure( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) + .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) CASE LEFT( tcLine, 10 ) == 'PROCEDURE ' *-- Estructura a reconocer: PROCEDURE [objeto.]nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 11 ) ) - .evaluarDefinicionDeProcedure( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) + .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) ENDCASE IF llBloqueEncontrado *-- Evalúo todo el contenido del PROCEDURE - .AvanceDelProceso( 'Analyzing Procedure ' + toClase._Nombre + '.' + tcProcedureAbierto + '...', I, tnCodeLines, 1 ) - .analizarLineasDeProcedure( @toClase, @toObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines, @tcProcedureAbierto ; + .processProgress( 'Analyzing Procedure ' + toClase._Nombre + '.' + tcProcedureAbierto + '...', I, tnCodeLines, 1 ) + .analyzeProcedureLines( @toClase, @toObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines, @tcProcedureAbierto ; , @tc_Comentario, @taLineasExclusion, @tnBloquesExclusion ) ENDIF ENDWITH @@ -8210,7 +8212,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE analizarBloque_PROTECTED + PROCEDURE analyzeCodeBlock_PROTECTED LPARAMETERS toClase, tcLine #IF .F. @@ -8231,7 +8233,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE evaluarDefinicionDeProcedure + PROCEDURE evaluateProcedureDefinition LPARAMETERS toClase, I, tc_Comentario, tcProcName, tcProcType, toObjeto *-------------------------------------------------------------------------------------------------------------- #IF .F. @@ -8271,7 +8273,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcNombreObjeto = LOWER( JUSTSTEM( tcProcName ) ) *-- Busco el objeto al que corresponde el método - lnObjProc = THIS.buscarObjetoDelMetodoPorNombre( lcNombreObjeto, toClase ) + lnObjProc = THIS.findMethodsObjectByName( lcNombreObjeto, toClase ) IF lnObjProc = 0 *-- Procedimiento de clase @@ -8312,7 +8314,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (@! IN ) El array con las líneas del código donde buscar @@ -8353,10 +8355,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base .set_Line( @lcLine, @taCodeLines, I ) DO CASE - CASE .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ; + CASE .excludedLine( I, tnBloquesExclusion, @taLineasExclusion ) ; OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios - CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ; + CASE .analyzeCodeBlock_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ; , @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario ) *-- Puede haber varias clases definidas * llEXTERNAL_CLASS_Completed = .T. @@ -8369,7 +8371,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDFOR - .verificar_CLASES_EXTERNAS( @toModulo, @toFoxBin2Prg ) + .verify_EXTERNAL_CLASSES( @toModulo, @toFoxBin2Prg ) ENDIF ENDWITH && THIS @@ -8393,7 +8395,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE identificarBloquesDeCabecera + PROCEDURE identifyHeaderBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (@! IN ) El array con las líneas del código donde buscar @@ -8441,21 +8443,21 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llEXTERNAL_CLASS_Completed AND .analizarBloque_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llEXTERNAL_CLASS_Completed AND .analyzeCodeBlock_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) *-- Puede haber varias clases externas - CASE NOT llLIBCOMMENT_Completed AND .analizarBloque_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llLIBCOMMENT_Completed AND .analyzeCodeBlock_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) llLIBCOMMENT_Completed = .T. llEXTERNAL_CLASS_Completed = .T. - CASE NOT llOLE_DEF_Completed AND .analizarBloque_OLE_DEF( @toModulo, @lcLine, @taCodeLines ; + CASE NOT llOLE_DEF_Completed AND .analyzeCodeBlock_OLE_DEF( @toModulo, @lcLine, @taCodeLines ; , @I, tnCodeLines, @lcProcedureAbierto ) *-- Puede haber varios objetos OLE - CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analizarBloque_INCLUDE( @toModulo, @loClase, @lcLine ; + CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analyzeCodeBlock_INCLUDE( @toModulo, @loClase, @lcLine ; , @taCodeLines, @I, tnCodeLines, @lcProcedureAbierto ) * Específico para SCX que lo tiene al inicio llINCLUDE_SCX_Completed = .T. @@ -8488,7 +8490,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base - PROCEDURE verificar_CLASES_EXTERNAS + PROCEDURE verify_EXTERNAL_CLASSES *-------------------------------------------------------------------------------- *-- Compara las clases definidas en la cabecera con las clases encontradas luego *-------------------------------------------------------------------------------------------------------------- @@ -8565,13 +8567,13 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin #IF .F. LOCAL THIS AS c_conversor_prg_a_vcx OF 'FOXBIN2PRG.PRG' #ENDIF - _MEMBERDATA = [] ; + *_MEMBERDATA = [] ; + [] ; + [] c_Type = 'VC2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (@! OUT) Objeto generado de clase CL_CLASSLIB con la información leida del texto @@ -8603,10 +8605,10 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) - .AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 ) + .processProgress( 'Loading Code...', 2, lnCodeLines, 1 ) *-- MÁSCARA DE BÚSQUEDA IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN @@ -8654,7 +8656,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin ENDIF IF toFoxBin2Prg.l_ProcessFiles THEN - toFoxBin2Prg.normalizarCapitalizacionArchivos( .T., lcInputFile_Class ) + toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class ) C_FB2PRG_CODE = C_FB2PRG_CODE + FILETOSTR( lcInputFile_Class ) ENDIF ENDFOR @@ -8666,8 +8668,8 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( .c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) ENDIF ENDIF @@ -8682,21 +8684,21 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin ENDIF *-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF - .AvanceDelProceso( 'Identifying Excluded Blocks...', 3, lnCodeLines, 1 ) - .identificarBloquesDeExclusion( @laCodeLines, lnCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) + .processProgress( 'Identifying Excluded Blocks...', 3, lnCodeLines, 1 ) + .identifyExclusionBlocks( @laCodeLines, lnCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) IF .l_Error .writeLog( '*** ERRORS found - Generation Cancelled' ) EXIT ENDIF - .AvanceDelProceso( loLang.C_GENERATING_BINARY_LOC + '...', 0, lnCodeLines, 1 ) + .processProgress( loLang.C_GENERATING_BINARY_LOC + '...', 0, lnCodeLines, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) .createClasslib() - .escribirArchivoBin( @toModulo, @toFoxBin2Prg ) + .writeBinaryFile( @toModulo, @toFoxBin2Prg ) ENDWITH && THIS @@ -8719,7 +8721,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toModulo, toFoxBin2Prg *-- Estructura del objeto toModulo generado: *-- ----------------------------------------------------------------------------------------------------------- @@ -8817,10 +8819,10 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin ENDIF IF EMPTY(loClase._TimeStamp) - loClase._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + loClase._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(loClase._UniqueID) - loClase._UniqueID = toFoxBin2Prg.Unique_ID() + loClase._UniqueID = toFoxBin2Prg.unique_ID() ENDIF *-- Inserto la clase @@ -8962,13 +8964,13 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin #IF .F. LOCAL THIS AS c_conversor_prg_a_scx OF 'FOXBIN2PRG.PRG' #ENDIF - _MEMBERDATA = [] ; + *_MEMBERDATA = [] ; + [] ; + [] c_Type = 'SC2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (@! OUT) Objeto generado de clase CL_CLASSLIB con la información leida del texto @@ -9000,10 +9002,10 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) - .AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 ) + .processProgress( 'Loading Code...', 2, lnCodeLines, 1 ) *-- MÁSCARA DE BÚSQUEDA IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN @@ -9050,7 +9052,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin toFoxBin2Prg.updateProcessedFile() ENDIF - toFoxBin2Prg.normalizarCapitalizacionArchivos( .T., lcInputFile_Class ) + toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class ) C_FB2PRG_CODE = C_FB2PRG_CODE + FILETOSTR( lcInputFile_Class ) ENDFOR @@ -9060,8 +9062,8 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin C_FB2PRG_CODE = FILETOSTR( .c_InputFile ) lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) ENDIF @@ -9075,21 +9077,21 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin ENDIF *-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF - .AvanceDelProceso( 'Identifying Excluded Blocks...', 3, lnCodeLines, 1 ) - .identificarBloquesDeExclusion( @laCodeLines, lnCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) + .processProgress( 'Identifying Excluded Blocks...', 3, lnCodeLines, 1 ) + .identifyExclusionBlocks( @laCodeLines, lnCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg ) IF .l_Error .writeLog( '*** ERRORS found - Generation Cancelled' ) EXIT ENDIF - .AvanceDelProceso( 'Generating Binary...', 0, lnCodeLines, 1 ) + .processProgress( 'Generating Binary...', 0, lnCodeLines, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) .createForm() - .escribirArchivoBin( @toModulo, @toFoxBin2Prg ) + .writeBinaryFile( @toModulo, @toFoxBin2Prg ) ENDWITH && THIS @@ -9112,7 +9114,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toModulo, toFoxBin2Prg *-- Estructura del objeto toModulo generado: *-- ----------------------------------------------------------------------------------------------------------- @@ -9211,10 +9213,10 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin ENDIF IF EMPTY(loClase._TimeStamp) - loClase._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + loClase._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(loClase._UniqueID) - loClase._UniqueID = toFoxBin2Prg.Unique_ID() + loClase._UniqueID = toFoxBin2Prg.unique_ID() ENDIF *-- Inserto la clase @@ -9353,21 +9355,20 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin LOCAL THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] c_Type = 'PJ2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toProject (!@ OUT) Objeto generado de clase CL_PROJECT con la información leida del texto @@ -9402,21 +9403,21 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) *-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF - *.identificarBloquesDeExclusion( @laCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) + *.identifyExclusionBlocks( @laCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo de cada clase - .AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 ) - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toProject ) + .processProgress( 'Identifying Code Blocks...', 1, 2, 1 ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toProject ) IF .l_Error .writeLog( '*** ERRORS found - Generation Cancelled' ) EXIT ENDIF - .AvanceDelProceso( 'Generating Binary...', 2, 2, 1 ) + .processProgress( 'Generating Binary...', 2, 2, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) .createProject() - .escribirArchivoBin( @toProject, toFoxBin2Prg ) + .writeBinaryFile( @toProject, toFoxBin2Prg ) ENDWITH && THIS @@ -9437,7 +9438,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toProject, toFoxBin2Prg *-- ----------------------------------------------------------------------------------------------------------- #IF .F. @@ -9465,10 +9466,10 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDIF IF EMPTY(toProject._TimeStamp) - toProject._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + toProject._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(toProject._ID) - toProject._ID = toFoxBin2Prg.Unique_ID('N') + toProject._ID = toFoxBin2Prg.unique_ID('N') ENDIF *-- Si hay ProjectHook de proyecto, lo inserto @@ -9505,10 +9506,10 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin FOR EACH loFile IN toProject FOXOBJECT IF EMPTY(loFile._TimeStamp) - loFile._TimeStamp = .RowTimeStamp( {^2013/11/04 20:00:00} ) + loFile._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(loFile._ID) - loFile._ID = toFoxBin2Prg.Unique_ID('N') + loFile._ID = toFoxBin2Prg.unique_ID('N') ENDIF INSERT INTO TABLABIN ; @@ -9562,7 +9563,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks LPARAMETERS taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toProject *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) @@ -9601,31 +9602,31 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llDevInfo_Completed AND .analizarBloque_DevInfo( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llDevInfo_Completed AND .analyzeCodeBlock_DevInfo( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llDevInfo_Completed = .T. - CASE NOT llServerHead_Completed AND .analizarBloque_ServerHead( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llServerHead_Completed AND .analyzeCodeBlock_ServerHead( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llServerHead_Completed = .T. - CASE .analizarBloque_ServerData( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE .analyzeCodeBlock_ServerData( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) *-- Puede haber varios servidores, por eso se siguen valuando - CASE NOT llBuildProj_Completed AND .analizarBloque_BuildProj( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llBuildProj_Completed AND .analyzeCodeBlock_BuildProj( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llBuildProj_Completed = .T. - CASE NOT llFileComments_Completed AND .analizarBloque_FileComments( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFileComments_Completed AND .analyzeCodeBlock_FileComments( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llFileComments_Completed = .T. - CASE NOT llExcludedFiles_Completed AND .analizarBloque_ExcludedFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llExcludedFiles_Completed AND .analyzeCodeBlock_ExcludedFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llExcludedFiles_Completed = .T. - CASE NOT llTextFiles_Completed AND .analizarBloque_TextFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llTextFiles_Completed AND .analyzeCodeBlock_TextFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llTextFiles_Completed = .T. - CASE NOT llProjectProperties_Completed AND .analizarBloque_ProjectProperties( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llProjectProperties_Completed AND .analyzeCodeBlock_ProjectProperties( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) llProjectProperties_Completed = .T. ENDCASE @@ -9653,7 +9654,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_BuildProj + PROCEDURE analyzeCodeBlock_BuildProj *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -9735,7 +9736,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_DevInfo + PROCEDURE analyzeCodeBlock_DevInfo *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -9786,7 +9787,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_ServerHead + PROCEDURE analyzeCodeBlock_ServerHead *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -9845,7 +9846,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_ServerData + PROCEDURE analyzeCodeBlock_ServerData *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -9907,7 +9908,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_FileComments + PROCEDURE analyzeCodeBlock_FileComments *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -9970,7 +9971,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_ExcludedFiles + PROCEDURE analyzeCodeBlock_ExcludedFiles *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10033,7 +10034,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_TextFiles + PROCEDURE analyzeCodeBlock_TextFiles *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10096,7 +10097,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_ProjectProperties + PROCEDURE analyzeCodeBlock_ProjectProperties *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10167,15 +10168,14 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin LOCAL THIS AS c_conversor_prg_a_frx OF 'FOXBIN2PRG.PRG' #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] c_Type = 'FR2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toReport (!@ OUT) Objeto generado de clase CL_REPORT con la información leida del texto @@ -10213,8 +10213,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin .createReport('CURSOR') *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte - .AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 ) - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toReport ) + .processProgress( 'Identifying Code Blocks...', 1, 2, 1 ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toReport ) USE IN (SELECT('TABLABIN')) IF .l_Error @@ -10222,10 +10222,10 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin EXIT ENDIF - .AvanceDelProceso( 'Generating Binary...', 2, 2, 1 ) + .processProgress( 'Generating Binary...', 2, 2, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) .createReport() - .escribirArchivoBin( @toReport, toFoxBin2Prg ) + .writeBinaryFile( @toReport, toFoxBin2Prg ) ENDWITH && THIS @@ -10247,7 +10247,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toReport, toFoxBin2Prg *-- ----------------------------------------------------------------------------------------------------------- #IF .F. @@ -10274,10 +10274,10 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin * loReg.UNIQUEID = '' *ENDIF IF EMPTY(loReg.TIMESTAMP) - loReg.TIMESTAMP = .RowTimeStamp( {^2013/11/04 20:00:00} ) + loReg.TIMESTAMP = .rowTimeStamp( {^2013/11/04 20:00:00} ) ENDIF IF EMPTY(loReg.UNIQUEID) OR ALLTRIM(loReg.UNIQUEID) = '0' - loReg.UNIQUEID = toFoxBin2Prg.Unique_ID() + loReg.UNIQUEID = toFoxBin2Prg.unique_ID() ENDIF *-- Ajuste de los tipos de dato @@ -10343,7 +10343,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks LPARAMETERS taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toReport *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) @@ -10380,10 +10380,10 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE .analizarBloque_Reportes( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE .analyzeCodeBlock_Reportes( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) ENDCASE ENDFOR @@ -10404,7 +10404,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_CDATA_inline + PROCEDURE analyzeCodeBlock_CDATA_inline *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10466,7 +10466,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_platform + PROCEDURE analyzeCodeBlock_platform *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10516,7 +10516,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin - PROCEDURE analizarBloque_Reportes + PROCEDURE analyzeCodeBlock_Reportes *------------------------------------------------------ *-- Analiza el bloque *------------------------------------------------------ @@ -10550,11 +10550,11 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @lcComment ) LOOP && Saltear comentarios - CASE .analizarBloque_platform( toReport, @tcLine, @taCodeLines, @I, @tnCodeLines, @loReg ) + CASE .analyzeCodeBlock_platform( toReport, @tcLine, @taCodeLines, @I, @tnCodeLines, @loReg ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'picture' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'picture' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag' ) *-- ARREGLO ALGUNOS VALORES CAMBIADOS AL TEXTUALIZAR DO CASE CASE loReg.ObjType == "1" @@ -10565,23 +10565,23 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin loReg.TAG = .decode_SpecialCodes_1_31( loReg.TAG ) ENDCASE - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag2' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag2' ) *-- ARREGLO ALGUNOS VALORES CAMBIADOS AL TEXTUALIZAR IF NOT INLIST(loReg.ObjType,"5","6","8") loReg.TAG2 = STRCONV( loReg.TAG2,14 ) ENDIF - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'penred' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'penred' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'style' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'style' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'expr' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'expr' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'supexpr' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'supexpr' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'comment' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'comment' ) - CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'user' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'user' ) ENDCASE @@ -10618,14 +10618,14 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin LOCAL THIS AS c_conversor_prg_a_dbf OF 'FOXBIN2PRG.PRG' #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] c_Type = 'DB2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toTable (!@ OUT) Objeto generado de clase CL_TABLE con la información leida del texto @@ -10660,14 +10660,14 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toTable ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toTable ) IF .l_Error .writeLog( '*** ERRORS found - Generation Cancelled' ) EXIT ENDIF - .escribirArchivoBin( @toTable, @toFoxBin2Prg ) + .writeBinaryFile( @toTable, @toFoxBin2Prg ) ENDWITH && THIS @@ -10689,7 +10689,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toTable, toFoxBin2Prg *-- ----------------------------------------------------------------------------------------------------------- #IF .F. @@ -10850,7 +10850,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (!@ IN ) El array con las líneas del código donde buscar @@ -10885,10 +10885,10 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toTable, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toTable, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueTable_Completed AND toTable.analizarBloque( @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llBloqueTable_Completed AND toTable.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines ) llBloqueTable_Completed = .T. ENDCASE @@ -10921,19 +10921,19 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin LOCAL THIS AS c_conversor_prg_a_dbc OF 'FOXBIN2PRG.PRG' #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] c_Type = 'DC2' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toDatabase (!@ OUT) Objeto generado de clase CL_DBC con la información leida del texto @@ -10979,10 +10979,10 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin C_FB2PRG_CODE = C_FB2PRG_CODE + laCodeLines(X) + CR_LF ENDFOR - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) - .AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 ) + .processProgress( 'Loading Code...', 2, lnCodeLines, 1 ) *-- Esto crea la máscara de búsqueda "Database.*.*.ext" para encontrar las partes *-- con la sintaxis "Database.MemberType.MemberName.ext" @@ -11060,7 +11060,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin ENDIF IF toFoxBin2Prg.l_ProcessFiles THEN - toFoxBin2Prg.normalizarCapitalizacionArchivos( .T., lcInputFile_Class ) + toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class ) lcTempTxt = FILETOSTR( lcInputFile_Class ) FOR Y = 7 TO ALINES( laLines, lcTempTxt ) @@ -11105,24 +11105,24 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) - .AvanceDelProceso( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) - .identificarBloquesDeCabecera( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) + .processProgress( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) + .identifyHeaderBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) ENDIF *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte - .AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 ) - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) + .processProgress( 'Identifying Code Blocks...', 1, 2, 1 ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase, @toFoxBin2Prg ) IF .l_Error .writeLog( '*** ERRORS found - Generation Cancelled' ) EXIT ENDIF - .AvanceDelProceso( 'Generating Binary...', 2, 2, 1 ) + .processProgress( 'Generating Binary...', 2, 2, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) *.createTable() - .escribirArchivoBin( @toDatabase, toFoxBin2Prg ) + .writeBinaryFile( @toDatabase, toFoxBin2Prg ) ENDWITH && THIS @@ -11144,7 +11144,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile LPARAMETERS toDatabase, toFoxBin2Prg *-- ----------------------------------------------------------------------------------------------------------- #IF .F. @@ -11201,7 +11201,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin - PROCEDURE identificarBloquesDeCabecera + PROCEDURE identifyHeaderBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (@! IN ) El array con las líneas del código donde buscar @@ -11250,10 +11250,10 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llEXTERNAL_MEMBER_Completed AND .analizarBloque_EXTERNAL_MEMBER( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llEXTERNAL_MEMBER_Completed AND .analyzeCodeBlock_EXTERNAL_MEMBER( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) *-- Puede haber varias clases externas ENDCASE @@ -11282,7 +11282,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (!@ IN ) El array con las líneas del código donde buscar @@ -11320,16 +11320,16 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueDatabase_Completed AND toDatabase.analizarBloque( @lcLine, @taCodeLines, @I, tnCodeLines, @toFoxBin2Prg ) + CASE NOT llBloqueDatabase_Completed AND toDatabase.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines, @toFoxBin2Prg ) llBloqueDatabase_Completed = .T. ENDCASE ENDFOR - .verificar_MIEMBROS_EXTERNOS( @toDatabase, @toFoxBin2Prg ) + .verify_EXTERNAL_MEMBERS( @toDatabase, @toFoxBin2Prg ) ENDIF ENDWITH && THIS @@ -11349,7 +11349,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin ENDPROC - PROCEDURE verificar_MIEMBROS_EXTERNOS + PROCEDURE verify_EXTERNAL_MEMBERS *-------------------------------------------------------------------------------- * Compara los miembros definidos en la cabecera con los miembros encontrados luego *-------------------------------------------------------------------------------------------------------------- @@ -11410,7 +11410,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin c_MenuLocation = '' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toMenu (!@ OUT) Objeto generado de clase CL_DBC con la información leida del texto @@ -11447,8 +11447,8 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin .createMenu('CURSOR') *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte - .AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 ) - .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toMenu ) + .processProgress( 'Identifying Code Blocks...', 1, 2, 1 ) + .identifyCodeBlocks( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toMenu ) USE IN (SELECT('TABLABIN')) IF .l_Error @@ -11456,10 +11456,10 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin EXIT ENDIF - .AvanceDelProceso( 'Generating Binary...', 1, 2, 1 ) + .processProgress( 'Generating Binary...', 1, 2, 1 ) toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) .createMenu() - .escribirArchivoBin( @toMenu ) + .writeBinaryFile( @toMenu ) ENDWITH && THIS @@ -11480,7 +11480,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin ENDPROC - PROCEDURE identificarBloquesDeCodigo + PROCEDURE identifyCodeBlocks *-------------------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * taCodeLines (!@ IN ) El array con las líneas del código donde buscar @@ -11518,10 +11518,10 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toMenu, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toMenu, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueMenu_Completed AND toMenu.analizarBloque( @lcLine, @taCodeLines, @I, tnCodeLines, THIS ) + CASE NOT llBloqueMenu_Completed AND toMenu.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines, THIS ) llBloqueMenu_Completed = .T. ENDCASE @@ -11545,7 +11545,7 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin ENDPROC - PROCEDURE escribirArchivoBin + PROCEDURE writeBinaryFile *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toMenu (!@ OUT) Objeto generado de clase CL_DBC con la información leida del texto @@ -11591,21 +11591,21 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -11625,8 +11625,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base + [] ; + [] ; + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -11638,7 +11638,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base + [] - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase correspondiente con la información leida del texto @@ -11653,7 +11653,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDPROC - PROCEDURE Classify_PAM_Hidden_Protected + PROCEDURE classify_PAM_Hidden_Protected *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tnPropsAndValues_Count (@! IN ) @@ -11718,7 +11718,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG' lnMethodCount = tnMethodCount - .Method2Array( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ; + .method2Array( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ; , @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg, @toRegObj ) *-- Ubico los métodos protegidos y les cambio la definición. @@ -11747,7 +11747,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF *-- Genero el método SIN indentar, ya que se hace luego - taCode(taMethods(I,2)) = 'PROCEDURE ' + lcMethodName + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' + taCode(taMethods(I,2)) = 'PROCEDURE ' + lcMethodName + CR_LF + .indentMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' taMethods(I,1) = lcMethodName ENDFOR ENDIF @@ -11814,7 +11814,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Código del método IF taMethods(I,2) > 0 THEN - taCode(taMethods(I,2)) = lcMethod + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' + taCode(taMethods(I,2)) = lcMethod + CR_LF + .indentMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' ELSE lnLen = ALEN(taCode,1) + 1 DIMENSION taCode( lnLen ) @@ -11842,7 +11842,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE get_NombresObjetosOLEPublic + PROCEDURE get_OLEPublicObjectName LPARAMETERS ta_NombresObjsOle *-- Obtengo los objetos "OLEPublic" LOCAL I @@ -11990,7 +11990,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base X = X + 1 DIMENSION taPropsAndValues(X,2) taPropsAndValues(X,1) = lcPropName - taPropsAndValues(X,2) = .normalizarValorPropiedad( lcPropName, lcValue, '' ) + taPropsAndValues(X,2) = .normalizePropertyValue( lcPropName, lcValue, '' ) ELSE *-- Propiedad normal @@ -12014,7 +12014,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base X = X + 1 DIMENSION taPropsAndValues(X,2) taPropsAndValues(X,1) = lcLastIncompletePropName + LEFT( laItems(I), lnPosEQ - 2 ) - taPropsAndValues(X,2) = .normalizarValorPropiedad( taPropsAndValues(X,1), LTRIM( SUBSTR( laItems(I), lnPosEQ + 2 ) ), '' ) + taPropsAndValues(X,2) = .normalizePropertyValue( taPropsAndValues(X,1), LTRIM( SUBSTR( laItems(I), lnPosEQ + 2 ) ), '' ) ENDIF lcLastIncompletePropName = '' @@ -12103,7 +12103,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE IndentarMemo + PROCEDURE indentMemo LPARAMETERS tcMethod, tcIndentation, tlKeepProcHeader *-- INDENTA EL CÓDIGO DE UN MÉTODO DADO Y QUITA LA CABECERA DE MÉTODO (PROCEDURE/ENDPROC) SI LA ENCUENTRA TRY @@ -12173,7 +12173,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE MemoInOneLine + PROCEDURE memoInOneLine LPARAMETERS tcMethod TRY @@ -12315,7 +12315,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDPROC - PROCEDURE SortMethod + PROCEDURE sortMethod LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ; , taProtected, tnProtected_Count, toFoxBin2Prg @@ -12384,7 +12384,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE Method2Array + PROCEDURE method2Array LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ; , taProtected, tnProtected_Count, toFoxBin2Prg, toRegObj *-- 29/10/2013 Fernando D. Bozzo @@ -12450,7 +12450,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDFOR *-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF - .identificarBloquesDeExclusion( @laLine, lnLineCount, .F., @laLineasExclusion, @lnBloquesExclusion ) + .identifyExclusionBlocks( @laLine, lnLineCount, .F., @laLineasExclusion, @lnBloquesExclusion ) *-- Analyze and count line methods, get method names and consolidate block code FOR I = 1 TO lnLineCount @@ -12621,7 +12621,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTRY RETURN - ENDPROC && Method2Array + ENDPROC && method2Array @@ -12715,7 +12715,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base DIMENSION laMethods(1,3) WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG' - .SortMethod( @tcMethods, @taMethods, @taCode, '', @tnMethodCount ; + .sortMethod( @tcMethods, @taMethods, @taCode, '', @tnMethodCount ; , @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg ) lcMethods = C_TAB @@ -12727,7 +12727,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LOOP ENDIF - lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), CHR(9) + CHR(9), .T. ) + CR_LF + lcMethods = lcMethods + CR_LF + .indentMemo( taCode(taMethods(I,2)), CHR(9) + CHR(9), .T. ) + CR_LF ENDFOR ENDWITH && THIS @@ -12762,7 +12762,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base .get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' ) IF tnPropsAndValues_Count > 0 THEN - .Classify_PAM_Hidden_Protected( @tnPropsAndValues_Count, @taPropsAndValues, @tnProtected_Count, @taProtected ; + .classify_PAM_Hidden_Protected( @tnPropsAndValues_Count, @taPropsAndValues, @tnProtected_Count, @taProtected ; , @tnPropsAndComments_Count, @taPropsAndComments, @lcHiddenProp, @lcProtectedProp ) .write_DEFINED_PAM( @taPropsAndComments, tnPropsAndComments_Count, @tcCodigo ) .write_HIDDEN_Properties( @lcHiddenProp, @tcCodigo ) @@ -12893,7 +12893,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF OCCURS( CHR(13), toRegClass.RESERVED7 ) > 0 THEN TEXT TO tcCodigo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <<>> <> - <> + <> <<>> <> ENDTEXT ELSE && Comentario in-line @@ -12908,7 +12908,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE write_ENDDEFINE_SiCorresponde + PROCEDURE write_ENDDEFINE_IfApplicable LPARAMETERS tnLastClass, tcCodigo IF tnLastClass = 1 TEXT TO tcCodigo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -13219,7 +13219,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base - PROCEDURE write_DefinicionObjetosOLE + PROCEDURE write_OLEObjectDefinitions *-- Crea la definición del tag *< OLE: /> con la información de todos los objetos OLE LPARAMETERS toFoxBin2Prg @@ -13333,7 +13333,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ELSE IF llFileExists THEN toFoxBin2Prg.doBackup( .F., .T., '', '', '', tcOutputFile ) - toFoxBin2Prg.ChangeFileAttribute( tcOutputFile, '-R' ) + toFoxBin2Prg.changeFileAttribute( tcOutputFile, '-R' ) ENDIF lnBytes = STRTOFILE( tcCodigo, tcOutputFile ) @@ -13346,7 +13346,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF ENDIF - toFoxBin2Prg.normalizarCapitalizacionArchivos( .F., tcOutputFile ) + toFoxBin2Prg.normalizeFileCapitalization( .F., tcOutputFile ) ENDTRY ENDPROC @@ -13429,7 +13429,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg c_Type = 'VCX' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase CL_CLASSLIB con la información leida del texto @@ -13476,9 +13476,9 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE SET ORDER TO 0 IN TABLABIN - .get_NombresObjetosOLEPublic( @la_NombresObjsOle ) + .get_OLEPublicObjectName( @la_NombresObjsOle ) - .write_DefinicionObjetosOLE( @toFoxBin2Prg ) + .write_OLEObjectDefinitions( @toFoxBin2Prg ) *-- Escribo los métodos ordenados lnLastClass = 0 @@ -13537,7 +13537,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ENDIF lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_DEFINE_CLASS( @la_NombresObjsOle, @loRegClass, @lcCodigo ) @@ -13611,7 +13611,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg .write_INCLUDE( @loRegClass, @lcCodigo ) lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ; , @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo ) @@ -13619,7 +13619,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ASORT(laObjs, 3, -1, 0, 0) && Orden Alfabético (del SCAN original) lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) FOR I = 1 TO lnObjCount .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo ) @@ -13628,13 +13628,13 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg *-- OBTENGO LOS MÉTODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Getting Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Getting Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) DIMENSION laMethods(1,3), laCode(1) STORE '' TO laMethods, laCode lnMethodCount = 0 - .Method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ; + .method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ; , @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg, @loRegClass ) .get_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments ) @@ -13644,7 +13644,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg *-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA OBTENER SUS MÉTODOS lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Getting Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Getting Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) lnRecno = RECNO() LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName) @@ -13675,13 +13675,13 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ENDSCAN lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_ALL_OBJECT_METHODS( @lcMethods, @laMethods, @laCode, @lnMethodCount, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ; , lnProtected_Count, @toFoxBin2Prg, @lcCodigo ) GOTO RECORD (lnRecno) - .write_ENDDEFINE_SiCorresponde( lnLastClass, @lcCodigo ) + .write_ENDDEFINE_IfApplicable( lnLastClass, @lcCodigo ) laClasses(lnClassCount,2) = lcCodigo ENDSCAN @@ -13694,7 +13694,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg lnStep = lnStep + 1 lcOutputFile = .c_OutputFile - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_VC2 + '...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_VC2 + '...', lnStep, lnClassTotal*lnStepCount, 1 ) lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE IF .l_Test @@ -13770,7 +13770,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg c_Type = 'SCX' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase CL_CLASSLIB con la información leida del texto @@ -13806,9 +13806,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE SET ORDER TO 0 IN TABLABIN - .get_NombresObjetosOLEPublic( @la_NombresObjsOle ) + .get_OLEPublicObjectName( @la_NombresObjsOle ) - .write_DefinicionObjetosOLE( @toFoxBin2Prg ) + .write_OLEObjectDefinitions( @toFoxBin2Prg ) *-- Escribo los métodos ordenados lnLastObj = 0 @@ -13881,7 +13881,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg ENDIF lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_DEFINE_CLASS( @la_NombresObjsOle, @loRegClass, @lcCodigo ) @@ -13955,7 +13955,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg .write_INCLUDE( @loRegClass, @lcCodigo ) lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ; , @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo ) @@ -13963,7 +13963,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg ASORT(laObjs, 3, -1, 0, 0) && Orden Alfabético de objetos (del SCAN original) lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) FOR I = 1 TO lnObjCount .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo ) @@ -13972,13 +13972,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg *-- OBTENGO LOS MÉTODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Getting Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Getting Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) DIMENSION laMethods(1,3), laCode(1) STORE '' TO laMethods, laCode lnMethodCount = 0 - .Method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ; + .method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ; , @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg, @loRegClass ) .get_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments ) @@ -13988,7 +13988,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg *-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA OBTENER SUS MÉTODOS lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Getting Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Getting Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) lnRecno = RECNO() LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName) @@ -14021,13 +14021,13 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg ENDSCAN lnStep = lnStep + 1 - .AvanceDelProceso( 'Processing Class ' + lcObjName + ' > Writing Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Processing Class ' + lcObjName + ' > Writing Objects Methods...', lnStep, lnClassTotal*lnStepCount, 1 ) .write_ALL_OBJECT_METHODS( @lcMethods, @laMethods, @laCode, @lnMethodCount, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ; , lnProtected_Count, @toFoxBin2Prg, @lcCodigo ) GOTO RECORD (lnRecno) - .write_ENDDEFINE_SiCorresponde( lnLastClass, @lcCodigo ) + .write_ENDDEFINE_IfApplicable( lnLastClass, @lcCodigo ) laClasses(lnClassCount,2) = lcCodigo ENDSCAN @@ -14040,7 +14040,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg lnStep = lnStep + 1 lcOutputFile = .c_OutputFile - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_SC2 + '...', lnStep, lnClassTotal*lnStepCount, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_SC2 + '...', lnStep, lnClassTotal*lnStepCount, 1 ) lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE IF .l_Test @@ -14112,7 +14112,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg c_Type = 'PJX' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase CL_PROJECT con la información leida del texto @@ -14142,7 +14142,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg USE IN (SELECT("_TABLAORIG")) loServerHead = CREATEOBJECT('CL_PROJ_SRV_HEAD') - .AvanceDelProceso( 'Processing Project ' + '...', 1, 2, 1 ) + .processProgress( 'Processing Project ' + '...', 1, 2, 1 ) *-- Obtengo los archivos del proyecto @@ -14404,7 +14404,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg *-- Genero el PJ2 - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_PJ2 + '...', 2, 2, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_PJ2 + '...', 2, 2, 1 ) IF .l_Test toModulo = C_FB2PRG_CODE @@ -14456,7 +14456,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg c_Type = 'PJM' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase CL_PROJECT con la información leida del texto @@ -14483,7 +14483,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg STORE NULL TO loProject, loReg, loServerHead, loServerData lcStrPJM = FILETOSTR( THIS.c_InputFile ) loServerHead = CREATEOBJECT('CL_PROJ_SRV_HEAD') - THIS.AvanceDelProceso( 'Scanning PJM...', 1, 2, 1 ) + THIS.processProgress( 'Scanning PJM...', 1, 2, 1 ) *-- Obtengo los archivos del proyecto @@ -14785,7 +14785,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg ENDIF *-- Genero el PJ2 - THIS.AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_PJ2 + '...', 2, 2, 1 ) + THIS.processProgress( 'Writing ' + toFoxBin2Prg.c_PJ2 + '...', 2, 2, 1 ) IF THIS.l_Test toModulo = C_FB2PRG_CODE @@ -14844,7 +14844,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Objeto generado de clase CL_PROJECT con la información leida del texto @@ -14869,7 +14869,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg STORE NULL TO loRegObj, loRegCab, loRegDataEnv, loRegCur USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG - THIS.AvanceDelProceso( 'Scanning FRX...', 1, 2, 1 ) + THIS.processProgress( 'Scanning FRX...', 1, 2, 1 ) *-- Verificación de REPORTE VFP 9 IF FCOUNT() < 75 OR EMPTY(FIELD("USER")) @@ -14974,7 +14974,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg ENDIF *-- Genero el FR2 - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_FR2 + '...', 2, 2, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_FR2 + '...', 2, 2, 1 ) IF .l_Test toModulo = C_FB2PRG_CODE @@ -15017,7 +15017,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg c_Type = 'DBF' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toModulo (!@ OUT) Contenido del texto generado @@ -15048,18 +15048,18 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg loDBFUtils = CREATEOBJECT('CL_DBF_UTILS') *-- EVALUAR OPCIONES ESPECÍFICAS DE DBF - .AvanceDelProceso( 'Scanning DBF Structure...', 1, 3, 1 ) + .processProgress( 'Scanning DBF Structure...', 1, 3, 1 ) *-- Include IF NOT EMPTY(toFoxBin2Prg.DBF_Conversion_Included) AND NOT toFoxBin2Prg.DBF_Conversion_Included == '*' ; - AND NOT toFoxBin2Prg.FilenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Included ) + AND NOT toFoxBin2Prg.filenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Included ) toFoxBin2Prg.writeLog(' ' + JUSTFNAME(.c_InputFile) + ' no está en el filtro DBF_Conversion_Included (' + toFoxBin2Prg.DBF_Conversion_Included + ')' ) EXIT ENDIF *-- Exclude IF NOT EMPTY(toFoxBin2Prg.DBF_Conversion_Excluded) ; - AND toFoxBin2Prg.FilenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Excluded ) + AND toFoxBin2Prg.filenameFoundInFilter( JUSTFNAME(.c_InputFile), toFoxBin2Prg.DBF_Conversion_Excluded ) toFoxBin2Prg.writeLog(' ' + JUSTFNAME(.c_InputFile) + ' está en el filtro DBF_Conversion_Excluded (' + toFoxBin2Prg.DBF_Conversion_Excluded + ')' ) EXIT ENDIF @@ -15091,19 +15091,19 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg *-- Genero el DB2, renombrando el TMP - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_DB2 + '...', 3, 3, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_DB2 + '...', 3, 3, 1 ) IF .l_Test toModulo = C_FB2PRG_CODE ELSE DO CASE - CASE FILE(.c_OutputFile) AND toFoxBin2Prg.FilesComparedAreEqual( .c_OutputFile + '.TMP', .c_OutputFile ) = 1 + CASE FILE(.c_OutputFile) AND toFoxBin2Prg.comparedFilesAreEqual( .c_OutputFile + '.TMP', .c_OutputFile ) = 1 ERASE (.c_OutputFile + '.TMP') *.writeLog( 'El archivo de salida [' + .c_OutputFile + '] no se sobreescribe por ser igual al generado.' ) lcOutputFile = .c_OutputFile .writeLog( C_TAB + C_TAB + '* ' + TEXTMERGE(loLang.C_OUTPUT_FILE_IS_NOT_OVERWRITEN_LOC) ) CASE toFoxBin2Prg.doBackup( .F., .T., '', '', '' ) ; - AND toFoxBin2Prg.ChangeFileAttribute( .c_OutputFile + '.TMP', '-R' ) > 0 ; - AND NOT toFoxBin2Prg.RenameTmpFile2Tx2File( .c_OutputFile ) + AND toFoxBin2Prg.changeFileAttribute( .c_OutputFile + '.TMP', '-R' ) > 0 ; + AND NOT toFoxBin2Prg.renameTmpFile2Tx2File( .c_OutputFile ) *ERROR 'No se puede generar el archivo [' + .c_OutputFile + '] porque es ReadOnly' ERROR (TEXTMERGE(loLang.C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC)) ENDCASE @@ -15114,7 +15114,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg *-- Genero el DB2 - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_DB2 + '...', 3, 3, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_DB2 + '...', 3, 3, 1 ) IF .l_Test toModulo = C_FB2PRG_CODE ELSE @@ -15188,7 +15188,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg c_Type = 'DBC' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * toDatabase (!@ OUT) Objeto generado de clase CL_DBC con la información leida del texto @@ -15239,7 +15239,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg OPEN DATABASE (.c_InputFile) SHARED NOUPDATE - .AvanceDelProceso( 'Analyzing DBC metadata...', 1, 2, 1 ) + .processProgress( 'Analyzing DBC metadata...', 1, 2, 1 ) C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText(@toFoxBin2Prg) @@ -15305,7 +15305,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg lcOutputFile = .c_OutputFile IF toFoxBin2Prg.l_ProcessFiles THEN - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_DC2 + '...', 2, 2, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_DC2 + '...', 2, 2, 1 ) lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + lcExternalHeader + C_FB2PRG_CODE ENDIF @@ -15368,7 +15368,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg c_Type = 'MNX' - PROCEDURE Convertir + PROCEDURE convert *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * totoMenu (!@ OUT) Objeto generado de clase CL_MENU con la información leida del texto @@ -15394,7 +15394,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN USE IN (SELECT("_TABLAORIG")) - .AvanceDelProceso( 'Analyzing MNX...', 1, 2, 1 ) + .processProgress( 'Analyzing MNX...', 1, 2, 1 ) *-- Verificación de menú VFP 9 IF FCOUNT() < 25 OR EMPTY(FIELD("RESNAME")) OR EMPTY(FIELD("SYSRES")) @@ -15413,7 +15413,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg *-- Genero el MN2 IF toFoxBin2Prg.l_ProcessFiles THEN - .AvanceDelProceso( 'Writing ' + toFoxBin2Prg.c_MN2 + '...', 2, 2, 1 ) + .processProgress( 'Writing ' + toFoxBin2Prg.c_MN2 + '...', 2, 2, 1 ) ENDIF IF .l_Test @@ -15458,7 +15458,7 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM + [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -15481,7 +15481,7 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock ENDPROC @@ -15546,7 +15546,7 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION _MEMBERDATA = [] ; + [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -15568,7 +15568,7 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock ENDPROC @@ -16433,7 +16433,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE _MEMBERDATA = [] ; + [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -16522,7 +16522,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE ENDFUNC - PROCEDURE analizarBloque_Comment + PROCEDURE analyzeCodeBlock_Comment *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -17391,7 +17391,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE #ENDIF _MEMBERDATA = [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -17438,7 +17438,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -17482,7 +17482,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_CONNECTIONS_I $ tcLine loConnections = ._Connections - loConnections.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loConnections.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) loConnections.KeySort=2 FOR EACH loConnection IN loConnections &&FOXOBJECT @@ -17491,7 +17491,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_TABLES_I $ tcLine loTables = ._Tables - loTables.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loTables.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) loTables.KeySort=2 FOR EACH loTable IN loTables &&FOXOBJECT @@ -17500,7 +17500,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_VIEWS_I $ tcLine loViews = ._Views - loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loViews.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) loViews.KeySort=2 FOR EACH loView IN loViews &&FOXOBJECT @@ -17508,11 +17508,11 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE ENDFOR CASE C_STORED_PROC_I $ tcLine - .analizarBloque_SP( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_SP( @tcLine, @taCodeLines, @I, tnCodeLines ) .add_DBCMember('database.storedproceduressource') CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Otro valor *-- Estructura a reconocer: @@ -17545,7 +17545,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE ENDPROC - PROCEDURE analizarBloque_SP + PROCEDURE analyzeCodeBlock_SP *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -17769,7 +17769,7 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -17801,12 +17801,12 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE CASE C_CONNECTION_I $ tcLine loConnection = CREATEOBJECT("CL_DBC_CONNECTION") - loConnection.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loConnection.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loConnection, PADR(loConnection._Name,128) ) CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Otro valor *-- No hay otros valores @@ -17996,7 +17996,7 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE _WaitTime = 0 - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18025,7 +18025,7 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de CONNECTION *-- Estructura a reconocer: @@ -18176,7 +18176,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18208,7 +18208,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE CASE C_TABLE_I $ tcLine loTable = CREATEOBJECT("CL_DBC_TABLE") - loTable.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loTable.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loTable, PADR(loTable._Name,128) ) @@ -18403,7 +18403,7 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18437,22 +18437,22 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE CASE C_FIELD_ORDER_I $ tcLine loFields = ._Fields - loFields.analizarBloqueOrden( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_FIELDS_I $ tcLine loFields = ._Fields - loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_INDEXES_I $ tcLine loIndexes = ._Indexes - loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_RELATIONS_I $ tcLine loRelations = ._Relations - loRelations.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de TABLE *-- Estructura a reconocer: @@ -18630,7 +18630,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE #ENDIF _MEMBERDATA = [] ; - + [] ; + + [] ; + [] ; + [] ; + [] @@ -18640,7 +18640,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE n_Campos = 0 - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18673,7 +18673,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE CASE C_FIELD_I $ tcLine loField = CREATEOBJECT("CL_DBC_FIELD_DB") - loField.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) IF .n_Campos = 0 THEN *-- MODO LEGACY: Cuando no existe tag de ordenamiento de campos, se agregan en el orden que se leen @@ -18718,7 +18718,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE ENDPROC - PROCEDURE analizarBloqueOrden + PROCEDURE analyzeOrderCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18952,7 +18952,7 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE _RuleText = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -18981,7 +18981,7 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -19116,7 +19116,7 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE _Name = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -19149,7 +19149,7 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE CASE C_INDEX_I $ tcLine loIndex = NULL loIndex = CREATEOBJECT("CL_DBC_INDEX_DB") - loIndex.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndex.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loIndex, PADR(loIndex._Name,128) ) @@ -19325,7 +19325,7 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE _Comment = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -19354,7 +19354,7 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -19471,7 +19471,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE #ENDIF - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -19504,7 +19504,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE CASE C_VIEW_I $ tcLine loView = NULL loView = CREATEOBJECT("CL_DBC_VIEW") - loView.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loView.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loView, PADR(loView._Name,128) ) @@ -19735,7 +19735,7 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -19769,25 +19769,25 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE CASE C_FIELD_ORDER_I $ tcLine loFields = ._Fields - loFields.analizarBloqueOrden( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_FIELDS_I $ tcLine loFields = NULL loFields = ._Fields - loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_INDEXES_I $ tcLine loIndexes = NULL loIndexes = ._Indexes - loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_RELATIONS_I $ tcLine loRelations = NULL loRelations = ._Relations - loRelations.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de VIEW *-- Estructura a reconocer: @@ -20035,7 +20035,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE #ENDIF _MEMBERDATA = [] ; - + [] ; + + [] ; + [] ; + [] ; + [] @@ -20044,7 +20044,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE n_Campos = 0 - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20078,7 +20078,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE CASE C_FIELD_I $ tcLine loField = NULL loField = CREATEOBJECT("CL_DBC_FIELD_VW") - loField.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) IF .n_Campos = 0 THEN *-- MODO LEGACY: Cuando no existe tag de ordenamiento de campos, se agregan en el orden que se leen @@ -20124,7 +20124,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE - PROCEDURE analizarBloqueOrden + PROCEDURE analyzeOrderCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20365,7 +20365,7 @@ DEFINE CLASS CL_DBC_FIELD_VW AS CL_DBC_BASE _UpdateName = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20394,7 +20394,7 @@ DEFINE CLASS CL_DBC_FIELD_VW AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -20535,7 +20535,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE #ENDIF - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20568,7 +20568,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE CASE C_RELATION_I $ tcLine loRelation = NULL loRelation = CREATEOBJECT("CL_DBC_RELATION") - loRelation.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelation.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) TRY *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) @@ -20749,7 +20749,7 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20947,7 +20947,7 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE ENDPROC - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -20980,11 +20980,11 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE CASE C_FIELDS_I $ tcLine loFields = ._Fields - loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) CASE C_INDEXES_I $ tcLine loIndexes = ._Indexes - loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) OTHERWISE && Otro valor *-- Estructura a reconocer: @@ -21155,7 +21155,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -21189,7 +21189,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE CASE C_FIELD_I $ tcLine loField = NULL loField = CREATEOBJECT("CL_DBF_FIELD") - loField.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) .ADD( loField, loField._Name ) OTHERWISE && Otro valor @@ -21330,7 +21330,7 @@ DEFINE CLASS CL_DBF_FIELD AS CL_CUS_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -21447,7 +21447,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE #ENDIF - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -21480,7 +21480,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE CASE C_INDEX_I $ tcLine loIndex = NULL loIndex = CREATEOBJECT("CL_DBF_INDEX") - loIndex.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndex.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) .ADD( loIndex, loIndex._TagName ) OTHERWISE && Otro valor @@ -21602,7 +21602,7 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE _Collate = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -21715,7 +21715,7 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) * tcLine (@! IN/OUT) Contenido de la línea en análisis @@ -21769,7 +21769,7 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE lcText = loRecord.toText(@taFields, tnField_Count) FWRITE( toFoxBin2Prg.n_FileHandle, lcText ) IF MOD(I,1000) = 0 THEN - toFoxBin2Prg.AvanceDelProceso( 'Exporting DBF Data...', 1+(I/lnReccount), 3, 2 ) + toFoxBin2Prg.processProgress( 'Exporting DBF Data...', 1+(I/lnReccount), 3, 2 ) IF MOD(I,10000) = 0 THEN FFLUSH( toFoxBin2Prg.n_FileHandle, .T. ) @@ -21817,7 +21817,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT) * tcLine (@! IN/OUT) Contenido de la línea en análisis @@ -22573,10 +22573,10 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE #ENDIF _MEMBERDATA = [] ; - + [] ; - + [] ; - + [] ; - + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -22588,7 +22588,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE _SourceFile = '' - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -22651,16 +22651,16 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDCASE llBloque_MenuLocation_Analizado = .T. - CASE NOT llBloque_SetupCode_Analizado AND .analizarBloque_SetupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_SetupCode_Analizado AND .analyzeCodeBlock_SetupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) llBloque_SetupCode_Analizado = .T. - CASE NOT llBloque_MenuCode_Analizado AND .analizarBloque_MenuCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_MenuCode_Analizado AND .analyzeCodeBlock_MenuCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) llBloque_MenuCode_Analizado = .T. - CASE NOT llBloque_CleanupCode_Analizado AND .analizarBloque_CleanupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_CleanupCode_Analizado AND .analyzeCodeBlock_CleanupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) llBloque_CleanupCode_Analizado = .T. - CASE NOT llBloque_Procedure_Analizado AND .analizarBloque_PROCEDURE( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_Procedure_Analizado AND .analyzeCodeBlock_PROCEDURE( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) llBloque_Procedure_Analizado = .T. OTHERWISE && Otro valor @@ -22690,7 +22690,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_SetupCode + PROCEDURE analyzeCodeBlock_SetupCode *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -22744,7 +22744,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_CleanupCode + PROCEDURE analyzeCodeBlock_CleanupCode *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -22798,7 +22798,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_MenuCode + PROCEDURE analyzeCodeBlock_MenuCode *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -22874,7 +22874,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE loBarPop.c_ParentName = '' loBarPop.n_ParentCode = .oReg.OBJCODE loBarPop.n_ParentType = .oReg.ObjType - loBarPop.analizarBloque( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) .ADD( loBarPop ) EXIT @@ -22903,7 +22903,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE loBarPop.c_ParentName = '' loBarPop.n_ParentCode = .oReg.OBJCODE loBarPop.n_ParentType = .oReg.ObjType - loBarPop.analizarBloque( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) .ADD( loBarPop ) *-- Creo option @@ -22930,7 +22930,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE loBarPop.c_ParentName = '' loBarPop.n_ParentCode = loOption.oReg.OBJCODE loBarPop.n_ParentType = loOption.oReg.ObjType - loBarPop.analizarBloque( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) loOption.ADD( loBarPop ) loBarPop = NULL loOption = NULL @@ -22962,7 +22962,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_PROCEDURE + PROCEDURE analyzeCodeBlock_PROCEDURE *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -23297,7 +23297,7 @@ ENDDEFINE DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE _MEMBERDATA = [] ; - + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -23313,7 +23313,7 @@ DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE n_ParentType = 0 - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -23405,7 +23405,7 @@ DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE loOption.n_ParentCode = loReg.OBJCODE loOption.n_ParentType = loReg.ObjType - IF NOT loOption.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + IF NOT loOption.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) I = lnLast_I llBloqueEncontrado = .F. EXIT @@ -23536,8 +23536,8 @@ ENDDEFINE DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE _MEMBERDATA = [] ; - + [] ; - + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -23555,7 +23555,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE n_ParentType = 0 - PROCEDURE analizarBloque + PROCEDURE analyzeCodeBlock *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -23601,7 +23601,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE loReg.ObjType = C_OBJTYPE_MENUTYPE_BARorPOPUP loReg.OBJCODE = C_OBJCODE_MENUBARPOPUP_MENUBAR - CASE .analizarBloque_DefinePAD( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE .analyzeCodeBlock_DefinePAD( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) IF EMPTY(loReg.PROMPT) *-- Esta opción no corresponde a este nivel. Debe subir. llBloqueEncontrado = .F. @@ -23611,7 +23611,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE EXIT ENDIF - CASE .analizarBloque_DefineBAR( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE .analyzeCodeBlock_DefineBAR( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) IF EMPTY(loReg.PROMPT) *-- Esta opción no corresponde a este nivel. Debe subir. llBloqueEncontrado = .F. @@ -23629,7 +23629,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE loBarPop.n_ParentCode = loReg.OBJCODE loBarPop.n_ParentType = loReg.ObjType .ADD( loBarPop ) - IF NOT loBarPop.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + IF NOT loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) I = I - 1 ENDIF loBarPop = NULL @@ -23663,7 +23663,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_DefinePAD + PROCEDURE analyzeCodeBlock_DefinePAD *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis @@ -23847,7 +23847,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDPROC - PROCEDURE analizarBloque_DefineBAR + PROCEDURE analyzeCodeBlock_DefineBAR *--------------------------------------------------------------------------------------------------- * PARÁMETROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT) * tcLine (!@ IN/OUT) Contenido de la línea en análisis From 4b297868333d397a382297ad32df37553feebb6d Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Thu, 16 Apr 2015 01:52:03 +0200 Subject: [PATCH 2/2] - Renombrado de archivos en el proyecto y en scripts --- Convert_VFP9_BIN_2_PRG.vbs | 16 ++++++++-------- Convert_VFP9_PRG_2_BIN.vbs | 16 ++++++++-------- VFP9_FoxBin2Prg.vbs | 6 +++--- foxbin2prg.pj2 | 20 ++++++++++---------- foxbin2prg.pjt | Bin 756430 -> 762957 bytes foxbin2prg.pjx | Bin 10033 -> 10033 bytes 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Convert_VFP9_BIN_2_PRG.vbs b/Convert_VFP9_BIN_2_PRG.vbs index 75b9077..2975b1c 100644 --- a/Convert_VFP9_BIN_2_PRG.vbs +++ b/Convert_VFP9_BIN_2_PRG.vbs @@ -59,7 +59,7 @@ Else oVFP9.DoCmd( "SET PROCEDURE TO '" & cEXETool & "'" ) oVFP9.DoCmd( "PUBLIC oFoxBin2prg" ) oVFP9.DoCmd( "oFoxBin2prg = CREATEOBJECT('c_foxbin2prg')" ) - oVFP9.DoCmd( "oFoxBin2prg.cargar_frm_avance()" ) + oVFP9.DoCmd( "oFoxBin2prg.loadProgressbarForm()" ) oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress" ) For i = 0 To WScript.Arguments.Count-1 @@ -87,13 +87,13 @@ Else oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress + ' (Press Esc to Cancel)'" ) For i = 1 To nFile_Count - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.ProcessProgress(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "' )" Else - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','BIN2PRG','0','0'," _ + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "','BIN2PRG','0','0'," _ & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ & cFlagRecompile & "," & cFlagNoTimestamps & " )" End If @@ -143,7 +143,7 @@ Private Sub scanDirs( tcArgument ) Dim omFolder, oFolder If FileSystemObject.FolderExists( tcArgument ) Then '-- Es un directorio - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.ProcessProgress('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) Set omFolder = FileSystemObject.GetFolder( tcArgument ) For Each oFile IN omFolder.Files evaluateFile( oFile.Path ) @@ -160,12 +160,12 @@ End Sub Private Sub evaluateFile( tcFile ) 'lcExt = UCase( FileSystemObject.GetExtensionName( tcFile ) ) - 'oVFP9.DoCmd( "oFoxBin2prg.EvaluarConfiguracion( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) + 'oVFP9.DoCmd( "oFoxBin2prg.evaluateConfiguration( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) - 'PROCEDURE EvaluarConfiguracion + 'PROCEDURE evaluateConfiguration ' LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcFlagNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; ' , tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile - 'If oVFP9.Eval("oFoxBin2prg.TieneSoporte_Bin2Prg('" & lcExt & "')") Then + 'If oVFP9.Eval("oFoxBin2prg.hasSupport_Bin2Prg('" & lcExt & "')") Then nFile_Count = nFile_Count + 1 ReDim Preserve aFiles(nFile_Count) aFiles(nFile_Count) = tcFile diff --git a/Convert_VFP9_PRG_2_BIN.vbs b/Convert_VFP9_PRG_2_BIN.vbs index 58f5ade..abdf9bc 100644 --- a/Convert_VFP9_PRG_2_BIN.vbs +++ b/Convert_VFP9_PRG_2_BIN.vbs @@ -59,7 +59,7 @@ Else oVFP9.DoCmd( "SET PROCEDURE TO '" & cEXETool & "'" ) oVFP9.DoCmd( "PUBLIC oFoxBin2prg" ) oVFP9.DoCmd( "oFoxBin2prg = CREATEOBJECT('c_foxbin2prg')" ) - oVFP9.DoCmd( "oFoxBin2prg.cargar_frm_avance()" ) + oVFP9.DoCmd( "oFoxBin2prg.loadProgressbarForm()" ) oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress" ) For i = 0 To WScript.Arguments.Count-1 @@ -93,13 +93,13 @@ Else oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress + ' (Press Esc to Cancel)'" ) For i = 1 To nFile_Count - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.ProcessProgress(oFoxBin2Prg.c_loc_processing_file + ' " & aFiles(i) & "...', " & i & ", " & nFile_Count & ", 0)" ) cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "' )" Else - cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','PRG2BIN','0','0'," _ + cCMD = "oFoxBin2prg.execute( '" & aFiles(i) & "','PRG2BIN','0','0'," _ & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ & cFlagRecompile & "," & cFlagNoTimestamps & " )" End If @@ -149,7 +149,7 @@ Private Sub scanDirs( tcArgument ) Dim omFolder, oFolder If FileSystemObject.FolderExists( tcArgument ) Then '-- Es un directorio - oVFP9.DoCmd( "oFoxBin2Prg.AvanceDelProceso('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) + oVFP9.DoCmd( "oFoxBin2Prg.ProcessProgress('Scanning file and directory information on " & tcArgument & "...', 0, 0, 0)" ) Set omFolder = FileSystemObject.GetFolder( tcArgument ) For Each oFile IN omFolder.Files evaluateFile( oFile.Path ) @@ -171,11 +171,11 @@ Private Sub evaluateFile( tcFile ) 'lnPoints = UBound(laPoints) '-- No proceso los archivos con más de un punto (clases en archivos individuales) por performance 'If lnPoints = 1 Then - 'PROCEDURE EvaluarConfiguracion + 'PROCEDURE evaluateConfiguration ' LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcFlagNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; ' , tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile - 'oVFP9.DoCmd( "oFoxBin2prg.EvaluarConfiguracion( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) - 'If oVFP9.Eval("oFoxBin2prg.TieneSoporte_Prg2Bin('" & lcExt & "')") Then + 'oVFP9.DoCmd( "oFoxBin2prg.evaluateConfiguration( '1', '1', '', '', '', '', '', '', '" & tcFile & "' )" ) + 'If oVFP9.Eval("oFoxBin2prg.hasSupport_Prg2Bin('" & lcExt & "')") Then nFile_Count = nFile_Count + 1 ReDim Preserve aFiles(nFile_Count) aFiles(nFile_Count) = tcFile diff --git a/VFP9_FoxBin2Prg.vbs b/VFP9_FoxBin2Prg.vbs index bfb05b3..7963bbe 100644 --- a/VFP9_FoxBin2Prg.vbs +++ b/VFP9_FoxBin2Prg.vbs @@ -61,7 +61,7 @@ Else oVFP9.DoCmd( "SET PROCEDURE TO '" & cEXETool & "'" ) oVFP9.DoCmd( "PUBLIC oFoxBin2prg" ) oVFP9.DoCmd( "oFoxBin2prg = CREATEOBJECT('c_foxbin2prg')" ) - oVFP9.DoCmd( "oFoxBin2prg.cargar_frm_avance()" ) + oVFP9.DoCmd( "oFoxBin2prg.loadProgressbarForm()" ) oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress" ) cFlagGenerateLog = "'0'" @@ -87,9 +87,9 @@ Else oVFP9.DoCmd( "oFoxBin2prg.o_frm_avance.Caption = '" & FileSystemObject.GetBaseName( WScript.ScriptName ) & " - ' + oFoxBin2Prg.c_loc_process_progress + ' (Press Esc to Cancel)'" ) If nDebug = 0 Or nDebug = 2 Then - cCMD = "oFoxBin2prg.ejecutar( '" & WScript.Arguments(0) & "' )" + cCMD = "oFoxBin2prg.execute( '" & WScript.Arguments(0) & "' )" Else - cCMD = "oFoxBin2prg.ejecutar( '" & WScript.Arguments(0) & "','INTERACTIVE','0','0'," _ + cCMD = "oFoxBin2prg.execute( '" & WScript.Arguments(0) & "','INTERACTIVE','0','0'," _ & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ & cFlagRecompile & "," & cNoTimestamps & " )" End If diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 3f74bda..a8fd6c2 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -106,14 +106,14 @@ WITH loProject.FILES .ADD('tests\ut__foxbin2prg__c_conversor_base__dobackup.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_conversor_base__get_separatedpropandvalue.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_conversor_base__gettimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> - .ADD('tests\ut__foxbin2prg__c_conversor_base__identificarbloquesdeexclusion.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> - .ADD('tests\ut__foxbin2prg__c_conversor_base__normalizarvalorpropiedad.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('tests\ut__foxbin2prg__c_conversor_base__identifyexclusionblocks.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('tests\ut__foxbin2prg__c_conversor_base__normalizepropertyvalue.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_conversor_base__rowtimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_conversor_bin_a_prg__get_propsandvaluesfrom_properties.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> - .ADD('tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentarmemo.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> - .ADD('tests\ut__foxbin2prg__c_conversor_prg_a_bin__analizarasignacion_tag_indicado.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentmemo.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('tests\ut__foxbin2prg__c_conversor_prg_a_bin__analyzeassignmentof_tag.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_conversor_prg_a_bin__insert_allobjects.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> - .ADD('tests\ut__foxbin2prg__c_foxbin2prg__evaluarconfiguracion.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('tests\ut__foxbin2prg__c_foxbin2prg__evaluateconfiguration.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ut__foxbin2prg__c_foxbin2prg__filenamefoundinfilter.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> * @@ -138,14 +138,14 @@ WITH loProject.FILES .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__dobackup.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__get_separatedpropandvalue.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__gettimestamp.prg').Exclude = .T. - .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__identificarbloquesdeexclusion.prg').Exclude = .T. - .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__normalizarvalorpropiedad.prg').Exclude = .T. + .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__identifyexclusionblocks.prg').Exclude = .T. + .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__normalizepropertyvalue.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__rowtimestamp.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_bin_a_prg__get_propsandvaluesfrom_properties.prg').Exclude = .T. - .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentarmemo.prg').Exclude = .T. - .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_prg_a_bin__analizarasignacion_tag_indicado.prg').Exclude = .T. + .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentmemo.prg').Exclude = .T. + .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_prg_a_bin__analyzeassignmentof_tag.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_prg_a_bin__insert_allobjects.prg').Exclude = .T. - .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_foxbin2prg__evaluarconfiguracion.prg').Exclude = .T. + .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_foxbin2prg__evaluateconfiguration.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_foxbin2prg__filenamefoundinfilter.prg').Exclude = .T. * diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index b8b7a458ff185a12d6e61330788e9b58af3f57be..2bb14b3af08a8eef0bb52c8979f62a25e6c60bc7 100644 GIT binary patch delta 77479 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 QG}~t+>_1uim;dws0V>BkqyPW_ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 31c6be5631f492824efca7d304068b12ee865cd1..a9c01a286a73cdd259ea568a1acd20059b66d9d7 100644 GIT binary patch delta 1130 zcmZuwO>9(E6h5~zZ(e2kn0AWoOlO99!_1>diF4m?-$+ahmI`)KhB%3dAW?}66&Dz~ z09)f-n24r<@ACL1?yn8-=I-Z^DC)#G-3)>Fe(DOql#QFH}s;lx=#hYp9i47RiY({um z+q+5D*pAz}BpPj+=BU!}Jx}G{`YcAXKgP)PYfj+frgnhE@oYjE*Q+gx>DwX4sa^|f z^afkN^SWRs@TbHHywEAw4&0Eq2`}F#SQ57+-oXAp4vtqRUVEgV^! zj#O%aqg0G(m(drmb&zQfyCFm}s>;6F-DY5)bFMhamv$08uppIfj%($T((U-Z8>zKb z?Zt7TuW+GQ@6daq#ML@c9b;y_@423KnwT%;jI(1z?;odV2(>jeL;*+4&g_}CB-@KD zFs@{X{x~3cW{n4t+snl~KCE=c%-cOUS*mISvf>~vmFn3o={D`Xpk<~J_;!@2v#Gi{z8Agc<)W(T&F*cXTAZb^%W5!=IeGpI zzgmrs>Hw1q;QN zD5TJNsL+R!mOqsSOtfl2p|wq)#8Rmrl!{>WK~bubVrd@yN);6p)VZ6Ohv0emG0Zvt zbI#0}nID@UOY>Y>n@^ug7cX`bjaaKDMC6LVkA;i()8YC>#=CG(ZiKkj6+kx*Dx8j*~k{S3}@ki`kFOADvSM;uM0$i_}II8Qg+wNzx*xx4E z6#h`$jpuKZY#aVkG;zR?>`(lo_&H=&vh!%kNd_EJ+y{MwWDnx7;vTfMOIF7b#a`s{ z36JHaaeVViP0MmU9Lw1l>S(aHalAva1$1{xreQ|0iqh?pjbc`D56mvfj^JdMG~VL> z^&AP&)Q@*J*j1eBmh30=79`8zO+^>|Mag#JOz}H(l`Z4h5u)d=F|r)Ti_~42SSZ=W znJiIbbzEG{%MqRz#vWcN7cw`t5M787l^$vhgFrYwcbfateMDzo#XF@b?c9AtleoLQ zTX$mLbJU;{;k5;#%HMdmJe7H%m*_X(-kvFKPZ;sK(PITT`FDIPg->;wX$ zQp|pQlhFrXs^af$8zoXddDW7= SgG!K?<@*sXl`1fLYySd9q#3~g