diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index 8695fcd..0334897 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -2,8 +2,8 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo - .VersionNumber = 'v1.19.49.6' - .VersionDate = Date(2018,01,06) + .VersionNumber = 'v1.19.49.7' + .VersionDate = Date(2018,01,11) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG' @@ -21,11 +21,14 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- -2018/01/04 v1.19.49.6 +2018-01-11 v1.19.49.7 +- Bug Fix: When converting a DBF an error is thrown if there is a field called X or I (Francisco Prieto) + +2018/01/04 v1.19.49.6 - BugFix vcx/scx: FoxBin2Prg should ignore the records that VFP Designer ignores (Doug Hennig / https://github.com/fdbozzo/foxbin2prg/issues/15) - BugFix vcx/scx: FoxBin2Prg encodes MemberData property with CR/LF, which can cause "property '_memberdata' value is too long" error (Doug Hennig / https://github.com/fdbozzo/foxbin2prg/issues/16) -2017/12/20 v1.19.49.5 +2017/12/20 v1.19.49.5 - BugFix DBF: When FoxBin2PRG converts a DB2 file to a DBF file and imports the data (using DBF_Conversion_Support = 8), tabs at the start of lines in memo fields are lost (Doug Hennig / https://github.com/fdbozzo/foxbin2prg/issues/13) 2017/12/04 v1.19.49.4 diff --git a/ThorUpdater/FoxBin2Prg.zip b/ThorUpdater/FoxBin2Prg.zip index 0cc9a2a..56049c7 100644 Binary files a/ThorUpdater/FoxBin2Prg.zip and b/ThorUpdater/FoxBin2Prg.zip differ diff --git a/ThorUpdater/FoxBin2PrgVersion.txt b/ThorUpdater/FoxBin2PrgVersion.txt index 1714ccf..5053e52 100644 --- a/ThorUpdater/FoxBin2PrgVersion.txt +++ b/ThorUpdater/FoxBin2PrgVersion.txt @@ -2,10 +2,10 @@ lparameters toUpdateObject local ldDate, ; lnJulian, ; lcJulian -ldDate = date(2018,1,8) +ldDate = date(2018,1,11) lnJulian = val(sys(11, ldDate)) - val(sys(11, {^2000-01-01})) lcJulian = padl(transform(lnJulian), 4, '0') -toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.49.6' + lcJulian + ; +toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.49.7' + lcJulian + ; '-update-' + dtoc(ldDate, 1) return toUpdateObject diff --git a/ThorUpdater/Project.txt b/ThorUpdater/Project.txt index dbc69f0..4f580d0 100644 --- a/ThorUpdater/Project.txt +++ b/ThorUpdater/Project.txt @@ -1,5 +1,5 @@ appName = FoxBin2Prg appID = FoxBin2Prg -majorVersion = 1.19.49.6 +majorVersion = 1.19.49.7 excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test* diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 753cd3c..398f5a8 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index fe2a768..299abd7 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -206,6 +206,7 @@ * 20/12/2017 DH&FDBOZZO v1.19.49.5 Bug Fix dbf: Cuando se importan datos de un DB2 a DBF (con DBF_Conversion_Support = 8), los tabs al inicio de los memo se pierden (Doug Hennig) * 04/01/2018 FDBOZZO v1.19.49.6 Bug Fix vcx/scx: FoxBin2Prg debería ignorar los registros que el diseñador de FoxPro ignora (Doug Hennig) * 04/01/2018 FDBOZZO v1.19.49.6 Bug Fix vcx/scx: Cuando se regenera la propiedad _MemberData se agregan CR/LF por cada miembro, pudiendo provocar un error de "valor muy largo" (Doug Hennnig) +* 11/01/2018 FDBOZZO v1.19.49.7 Bug Fix: Cuando se convierte la estructura de un DBF puede dar error si existe un campo llamado I o X (Francisco Prieto) * * *--------------------------------------------------------------------------------------------------- @@ -325,6 +326,7 @@ * 18/12/2017 Doug Hennnig Reporte Bug dbf v1.19.49: Cuando se importan datos de un DB2 a DBF (con DBF_Conversion_Support = 8), los tabs al inicio de los memo se pierden (Arreglado en v1.19.49.5) * 04/01/2018 Doug Hennnig Reporte Bug vcx/scx v1.19.49: FoxBin2Prg debería ignorar los registros que el diseñador de FoxPro ignora (Arreglado en v1.19.49.6) * 04/01/2018 Doug Hennnig Reporte Bug vcx/scx v1.19.49: Cuando se regenera la propiedad _MemberData se agregan CR/LF por cada miembro, pudiendo provocar un error de "valor muy largo" (Arreglado en v1.19.49.6) +* 11/01/2018 Francisco Prieto Reporte Bug v1.19.49: Cuando se convierte la estructura de un DBF puede dar error si existe un campo llamado I o X (Arreglado en v1.19.49.7) * * *--------------------------------------------------------------------------------------------------- @@ -1164,15 +1166,15 @@ DEFINE CLASS c_foxbin2prg AS Session tcFileMask = EVL(tcFileMask, '*') FOR I = 1 TO .n_ProcessedFiles - IF LIKE( tcFileMask, JUSTFNAME(.a_ProcessedFiles(I,1)) ) THEN + IF LIKE( tcFileMask, JUSTFNAME(.a_ProcessedFiles(m.I,1)) ) THEN lnCount = lnCount + 1 DIMENSION taProcessed(lnCount,6) - taProcessed(lnCount,1) = .a_ProcessedFiles(I,1) - taProcessed(lnCount,2) = .a_ProcessedFiles(I,2) - taProcessed(lnCount,3) = .a_ProcessedFiles(I,3) - taProcessed(lnCount,4) = .a_ProcessedFiles(I,4) - taProcessed(lnCount,5) = .a_ProcessedFiles(I,5) - taProcessed(lnCount,6) = .a_ProcessedFiles(I,6) + taProcessed(lnCount,1) = .a_ProcessedFiles(m.I,1) + taProcessed(lnCount,2) = .a_ProcessedFiles(m.I,2) + taProcessed(lnCount,3) = .a_ProcessedFiles(m.I,3) + taProcessed(lnCount,4) = .a_ProcessedFiles(m.I,4) + taProcessed(lnCount,5) = .a_ProcessedFiles(m.I,5) + taProcessed(lnCount,6) = .a_ProcessedFiles(m.I,6) ENDIF ENDFOR ENDWITH @@ -1974,10 +1976,10 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Creo el array con los PATH intermedios FOR I = lnDirs TO 1 STEP -1 - IF I = lnDirs THEN - laDirs(I) = JUSTPATH(lc_CFG_Path) + IF m.I = lnDirs THEN + laDirs(m.I) = JUSTPATH(lc_CFG_Path) ELSE - laDirs(I) = JUSTPATH(laDirs(I+1)) + laDirs(m.I) = JUSTPATH(laDirs(m.I+1)) ENDIF ENDFOR @@ -1988,7 +1990,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 - .evaluateConfiguration( '', '', '', '', '', '', '', '', laDirs(I), C_FILETYPE_DIRECTORY, @toParentCFG) + .evaluateConfiguration( '', '', '', '', '', '', '', '', laDirs(m.I), C_FILETYPE_DIRECTORY, @toParentCFG) ENDFOR ENDIF @@ -2046,16 +2048,16 @@ DEFINE CLASS c_foxbin2prg AS Session lo_CFG.c_Foxbin2prg_ConfigFile = lcConfigFile FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 ) - .set_Line( @lcConfigLine, @laConfig, I ) + .set_Line( @lcConfigLine, @laConfig, m.I ) .get_SeparatedLineAndComment( @lcConfigLine ) - laConfig(I) = LOWER( lcConfigLine ) + laConfig(m.I) = LOWER( lcConfigLine ) DO CASE - CASE EMPTY( laConfig(I) ) OR INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" ) + CASE EMPTY( laConfig(m.I) ) OR INLIST( LEFT( laConfig(m.I), 1 ), '*', '#', '/', "'" ) LOOP - CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:') - lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) ) + CASE LEFT( laConfig(m.I), 10 ) == LOWER('Extension:') + lcConfData = ALLTRIM( SUBSTR( laConfig(m.I), 11 ) ) lcExt = ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) ) lcProp = 'c_' + lcExt IF PEMSTATUS( lo_CFG, lcProp, 5 ) @@ -2065,200 +2067,200 @@ DEFINE CLASS c_foxbin2prg AS Session .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ' + loLang.C_EXTENSION_RECONFIGURATION_LOC + ' ' + lcExt + ' -> ' + lcValue ) ENDIF - CASE LEFT( laConfig(I), 17 ) == LOWER('DontShowProgress:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 18 ) ) + CASE LEFT( laConfig(m.I), 17 ) == LOWER('DontShowProgress:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 18 ) ) IF NOT INLIST( TRANSFORM(tcDontShowProgress), '0', '1', '2' ) AND INLIST( lcValue, '0', '1', '2' ) THEN tcDontShowProgress = lcValue lo_CFG.n_ShowProgressbar = ICASE(lcValue=='0',1, lcValue=='1',0, 2) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) ) ENDIF - CASE LEFT( laConfig(I), 16 ) == LOWER('ShowProgressbar:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 17 ) ) + CASE LEFT( laConfig(m.I), 16 ) == LOWER('ShowProgressbar:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 17 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.n_ShowProgressbar = INT( VAL(lcValue) ) tcDontShowProgress = '' .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ShowProgressbar: ' + lcValue ) ENDIF - CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:') + CASE LEFT( laConfig(m.I), 15 ) == LOWER('DontShowErrors:') *-- Priorizo si tcDontShowErrors NO viene con "0" como parámetro, ya que los scripts vbs *-- los utilizan para sobreescribir la configuración por defecto de foxbin2prg.cfg - lcValue = ALLTRIM( SUBSTR( laConfig(I), 16 ) ) + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 16 ) ) IF NOT INLIST( TRANSFORM(tcDontShowErrors), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN tcDontShowErrors = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) ) ENDIF - CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 14 ) ) + CASE LEFT( laConfig(m.I), 13 ) == LOWER('NoTimestamps:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 14 ) ) IF NOT INLIST( TRANSFORM(tcNoTimestamps), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN tcNoTimestamps = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) ENDIF - CASE LEFT( laConfig(I), 6 ) == LOWER('Debug:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 7 ) ) + CASE LEFT( laConfig(m.I), 6 ) == LOWER('Debug:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 7 ) ) IF NOT INLIST( TRANSFORM(tcDebug), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN tcDebug = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) ) ENDIF - CASE LEFT( laConfig(I), 18 ) == LOWER('ExtraBackupLevels:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) + CASE LEFT( laConfig(m.I), 18 ) == LOWER('ExtraBackupLevels:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 19 ) ) IF NOT ISDIGIT( TRANSFORM(tcExtraBackupLevels) ) AND ISDIGIT( lcValue ) THEN tcExtraBackupLevels = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) ENDIF - CASE LEFT( laConfig(I), 14 ) == LOWER('ClearUniqueID:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 15 ) ) + CASE LEFT( laConfig(m.I), 14 ) == LOWER('ClearUniqueID:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 15 ) ) IF NOT INLIST( TRANSFORM(tcClearUniqueID), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN tcClearUniqueID = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 19 ) == LOWER('ClearDBFLastUpdate:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 20 ) ) + CASE LEFT( laConfig(m.I), 19 ) == LOWER('ClearDBFLastUpdate:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 20 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.l_ClearDBFLastUpdate = ( TRANSFORM(lcValue) == '1' ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ClearDBFLastUpdate: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) ) + CASE LEFT( laConfig(m.I), 20 ) == LOWER('OptimizeByFilestamp:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 21 ) ) IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1', '2' ) AND INLIST( lcValue, '0', '1', '2' ) THEN tcOptimizeByFilestamp = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 16 ) == LOWER('UseClassPerFile:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 17 ) ) + CASE LEFT( laConfig(m.I), 16 ) == LOWER('UseClassPerFile:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 17 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.n_UseClassPerFile = INT( VAL(lcValue) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > UseClassPerFile: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 18 ) == LOWER('ClassPerFileCheck:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) + CASE LEFT( laConfig(m.I), 18 ) == LOWER('ClassPerFileCheck:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 19 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.l_ClassPerFileCheck = ( TRANSFORM(lcValue) == '1' ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ClassPerFileCheck: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 27 ) == LOWER('RedirectClassPerFileToMain:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 28 ) ) + CASE LEFT( laConfig(m.I), 27 ) == LOWER('RedirectClassPerFileToMain:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 28 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.l_RedirectClassPerFileToMain = ( TRANSFORM(lcValue) == '1' ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RedirectClassPerFileToMain: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 18 ) == LOWER('RedirectClassType:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) + CASE LEFT( laConfig(m.I), 18 ) == LOWER('RedirectClassType:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 19 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.n_RedirectClassType = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RedirectClassType: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 24 ) == LOWER('RemoveNullCharsFromCode:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) ) + CASE LEFT( laConfig(m.I), 24 ) == LOWER('RemoveNullCharsFromCode:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 25 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.l_RemoveNullCharsFromCode = ( TRANSFORM(lcValue) == '1' ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RemoveNullCharsFromCode: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 25 ) == LOWER('RemoveZOrderSetFromProps:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 26 ) ) + CASE LEFT( laConfig(m.I), 25 ) == LOWER('RemoveZOrderSetFromProps:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 26 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.l_RemoveZOrderSetFromProps = ( TRANSFORM(lcValue) == '1' ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RemoveZOrderSetFromProps: ' + TRANSFORM(lcValue) ) ENDIF - CASE LEFT( laConfig(I), 9 ) == LOWER('Language:') + CASE LEFT( laConfig(m.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 ) ) + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 10 ) ) .changeLanguage(lcValue) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > Language: ' + TRANSFORM(lcValue) + ' (' + .c_Language + ')' ) - CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('PJX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.PJX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(lo_CFG.PJX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('VCX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('VCX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.VCX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(lo_CFG.VCX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('SCX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('SCX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.SCX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(lo_CFG.SCX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('FRX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('FRX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.FRX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(lo_CFG.FRX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('LBX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('LBX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.LBX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(lo_CFG.LBX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('MNX_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('MNX_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.MNX_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(lo_CFG.MNX_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('DBF_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('DBF_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2', '4', '8' ) THEN lo_CFG.DBF_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(lo_CFG.DBF_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 24 ) == LOWER('DBF_Conversion_Included:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) ) + CASE LEFT( laConfig(m.I), 24 ) == LOWER('DBF_Conversion_Included:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 25 ) ) IF NOT EMPTY(lcValue) THEN lo_CFG.DBF_Conversion_Included = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Included: ' + TRANSFORM(lo_CFG.DBF_Conversion_Included) ) ENDIF - CASE LEFT( laConfig(I), 24 ) == LOWER('DBF_Conversion_Excluded:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) ) + CASE LEFT( laConfig(m.I), 24 ) == LOWER('DBF_Conversion_Excluded:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 25 ) ) IF NOT EMPTY(lcValue) THEN lo_CFG.DBF_Conversion_Excluded = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Excluded: ' + TRANSFORM(lo_CFG.DBF_Conversion_Excluded) ) ENDIF - CASE LEFT( laConfig(I), 23 ) == LOWER('DBC_Conversion_Support:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + CASE LEFT( laConfig(m.I), 23 ) == LOWER('DBC_Conversion_Support:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 24 ) ) IF INLIST( lcValue, '0', '1', '2' ) THEN lo_CFG.DBC_Conversion_Support = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(lo_CFG.DBC_Conversion_Support) ) ENDIF - CASE LEFT( laConfig(I), 16 ) == LOWER('BackgroundImage:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 17 ) ) + CASE LEFT( laConfig(m.I), 16 ) == LOWER('BackgroundImage:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 17 ) ) IF EMPTY(lcValue) OR ADIR( laDirInfo, lcValue ) > 0 THEN lo_CFG.c_BackgroundImage = lcValue .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > BackgroundImage: ' + TRANSFORM(lo_CFG.c_BackgroundImage) ) ENDIF - CASE LEFT( laConfig(I), 25 ) == LOWER('ExcludeDBFAutoincNextval:') - lcValue = ALLTRIM( SUBSTR( laConfig(I), 26 ) ) + CASE LEFT( laConfig(m.I), 25 ) == LOWER('ExcludeDBFAutoincNextval:') + lcValue = ALLTRIM( SUBSTR( laConfig(m.I), 26 ) ) IF INLIST( lcValue, '0', '1' ) THEN lo_CFG.n_ExcludeDBFAutoincNextval = INT( VAL( lcValue ) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > ExcludeDBFAutoincNextval: ' + TRANSFORM(lo_CFG.n_ExcludeDBFAutoincNextval) ) @@ -2455,7 +2457,7 @@ DEFINE CLASS c_foxbin2prg AS Session tcFileName = UPPER(tcFileName) FOR I = 1 TO ALINES( laFiltros, tcFilters + ',', 1+4, ',' ) - IF LIKE( UPPER(laFiltros(I)), tcFileName ) + IF LIKE( UPPER(laFiltros(m.I)), tcFileName ) llFound = .T. EXIT ENDIF @@ -2490,26 +2492,26 @@ DEFINE CLASS c_foxbin2prg AS Session ENDIF FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcTableCFG ), 1+4 ) - lcConfigItem = LOWER( laConfig(I) ) + lcConfigItem = LOWER( laConfig(m.I) ) DO CASE CASE INLIST( LEFT( lcConfigItem, 1 ), '*', '#', '/', "'" ) LOOP CASE LEFT( lcConfigItem, 21 ) == LOWER('DBF_Conversion_Order:') - to_out_DBF_CFG.DBF_Conversion_Order = ALLTRIM( SUBSTR( laConfig(I), 22 ) ) + to_out_DBF_CFG.DBF_Conversion_Order = ALLTRIM( SUBSTR( laConfig(m.I), 22 ) ) IF tlGenerateLog THEN THIS.writeLog(' ' + JUSTFNAME(lcTableCFG) + ' > DBF_Conversion_Order: ' + to_out_DBF_CFG.DBF_Conversion_Order ) ENDIF CASE LEFT( lcConfigItem, 25 ) == LOWER('DBF_Conversion_Condition:') - to_out_DBF_CFG.DBF_Conversion_Condition = ALLTRIM( SUBSTR( laConfig(I), 26 ) ) + to_out_DBF_CFG.DBF_Conversion_Condition = ALLTRIM( SUBSTR( laConfig(m.I), 26 ) ) IF tlGenerateLog THEN THIS.writeLog(' ' + JUSTFNAME(lcTableCFG) + ' > DBF_Conversion_Condition: ' + to_out_DBF_CFG.DBF_Conversion_Condition ) ENDIF CASE LEFT( lcConfigItem, 23 ) == LOWER('DBF_Conversion_Support:') - to_out_DBF_CFG.DBF_Conversion_Support = INT( VAL( SUBSTR( laConfig(I), 24 ) ) ) + to_out_DBF_CFG.DBF_Conversion_Support = INT( VAL( SUBSTR( laConfig(m.I), 24 ) ) ) IF tlGenerateLog THEN THIS.writeLog(' ' + JUSTFNAME(lcTableCFG) + ' > DBF_Conversion_Support: ' + TRANSFORM(to_out_DBF_CFG.DBF_Conversion_Support) ) ENDIF @@ -2794,7 +2796,7 @@ DEFINE CLASS c_foxbin2prg AS Session *IF lnPCount > 0 THEN * .writeLog( 'Params.Externos: ' + TRANSFORM(lnPCount,'@L ##') ) * FOR I = 1 TO lnPCount - * .writeLog( 'Param.' + TRANSFORM(I,'@L ##') + ' [' + laParams(I) + ']' ) + * .writeLog( 'Param.' + TRANSFORM(m.I,'@L ##') + ' [' + laParams(m.I) + ']' ) * ENDFOR * EXIT *ENDIF @@ -2993,7 +2995,7 @@ DEFINE CLASS c_foxbin2prg AS Session FOR I = 1 TO lnFileCount toModulo = NULL - lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) ) + lcFile = FORCEPATH( laFiles(m.I,1), JUSTPATH( lcFileSpec ) ) DO CASE CASE UPPER( JUSTEXT( EVL(tc_InputFile,'') ) ) == 'PJX' AND LEFT(EVL(tcType,'0'),1) == '*' @@ -3010,7 +3012,7 @@ DEFINE CLASS c_foxbin2prg AS Session *-- SE QUIEREN CONVERTIR A TEXTO TODOS LOS ARCHIVOS DE UN DIRECTORIO *-- Filespec: "*.*" IF .hasSupport_Bin2Prg(lcFile) THEN - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() @@ -3029,7 +3031,7 @@ DEFINE CLASS c_foxbin2prg AS Session *-- SE QUIEREN CONVERTIR A BINARIO TODOS LOS ARCHIVOS DE UN DIRECTORIO *-- Filespec: "*.*" IF .hasSupport_Prg2Bin(lcFile) THEN - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() @@ -3051,7 +3053,7 @@ DEFINE CLASS c_foxbin2prg AS Session OTHERWISE *-- DEMÁS ARCHIVOS *-- Filespec: "*.EXT" - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) lnCodError = .convert( lcFile, @toModulo, @toEx, .T., tcOriginalFileName ) .writeLog_Flush() @@ -3103,13 +3105,13 @@ DEFINE CLASS c_foxbin2prg AS Session FOR I = 1 TO lnFileCount toModulo = NULL - lcFile = laFiles(I) + lcFile = laFiles(m.I) IF NOT .hasSupport_Bin2Prg( lcFile ) OR NOT ADIR(laDirInfo, lcFile) > 0 THEN LOOP ENDIF - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() @@ -3164,13 +3166,13 @@ DEFINE CLASS c_foxbin2prg AS Session FOR I = 1 TO lnFileCount toModulo = NULL - lcFile = laFiles(I) + lcFile = laFiles(m.I) IF NOT .hasSupport_Prg2Bin( lcFile ) OR NOT ADIR(laDirInfo, lcFile) > 0 THEN LOOP ENDIF - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) lnCodError = .convert( lcFile, @toModulo, @toEx, .F., tcOriginalFileName ) .writeLog_Flush() @@ -3498,8 +3500,8 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount - lcFile = laFiles(I,1) - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lcFile = laFiles(m.I,1) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) IF .hasSupport_Bin2Prg( UPPER(JUSTEXT(lcFile)) ) AND ADIR( laDirInfo, lcFile ) > 0 THEN lnCodError = .convert( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) @@ -3595,12 +3597,12 @@ DEFINE CLASS c_foxbin2prg AS Session lnFileCount = ALINES( laFiles, STREXTRACT( FILETOSTR(tc_InputFile), C_BUILDPROJ_I, C_BUILDPROJ_F ), 1+4 ) FOR I = lnFileCount TO 1 STEP -1 - IF '.ADD(' $ laFiles(I) - lcFile = .get_AbsolutePath( STREXTRACT( laFiles(I), ".ADD('", "')" ), ADDBS( JUSTPATH( lcFileSpec ) ) ) - laFiles(I) = FORCEEXT( lcFile, .get_Ext2FromExt( UPPER(JUSTEXT(lcFile)) ) ) + IF '.ADD(' $ laFiles(m.I) + lcFile = .get_AbsolutePath( STREXTRACT( laFiles(m.I), ".ADD('", "')" ), ADDBS( JUSTPATH( lcFileSpec ) ) ) + laFiles(m.I) = FORCEEXT( lcFile, .get_Ext2FromExt( UPPER(JUSTEXT(lcFile)) ) ) ELSE lnFileCount = lnFileCount - 1 - ADEL( laFiles, I ) + ADEL( laFiles, m.I ) DIMENSION laFiles(lnFileCount) ENDIF ENDFOR @@ -3614,8 +3616,8 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Luego convierto los archivos incluidos FOR I = 1 TO lnFileCount - lcFile = laFiles(I) - .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', I, lnFileCount, 0 ) + lcFile = laFiles(m.I) + .updateProgressbar( loLang.C_PROCESSING_LOC + ' ' + lcFile + '...', m.I, lnFileCount, 0 ) IF .hasSupport_Prg2Bin( UPPER(JUSTEXT(lcFile)) ) AND ADIR( laDirInfo, lcFile ) > 0 THEN lnCodError = .convert( lcFile, toModulo, @toEx, .F., tcOriginalFileName ) @@ -3974,16 +3976,16 @@ DEFINE CLASS c_foxbin2prg AS Session IF lnFileCount > 0 THEN *-- Busca el archivo de entrada original I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 ) - IF I > 0 THEN - .t_InputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ; - , VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) ) + IF m.I > 0 THEN + .t_InputFile_TimeStamp = DATETIME( YEAR(laFiles(m.I,3)), MONTH(laFiles(m.I,3)), DAY(laFiles(m.I,3)) ; + , VAL(LEFT(laFiles(m.I,4),2)), VAL(SUBSTR(laFiles(m.I,4),4,2)), VAL(RIGHT(laFiles(m.I,4),2)) ) ENDIF IF ADIR( laDirFile, .c_OutputFile ) > 0 THEN I = ASCAN( laFiles, JUSTFNAME(.c_OutputFile), 1, 0, 1, 1+2+4+8 ) - IF I > 0 THEN - .t_OutputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ; - , VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) ) + IF m.I > 0 THEN + .t_OutputFile_TimeStamp = DATETIME( YEAR(laFiles(m.I,3)), MONTH(laFiles(m.I,3)), DAY(laFiles(m.I,3)) ; + , VAL(LEFT(laFiles(m.I,4),2)), VAL(SUBSTR(laFiles(m.I,4),4,2)), VAL(RIGHT(laFiles(m.I,4),2)) ) ENDIF lcExtA = UPPER(JUSTEXT(.c_OutputFile)) @@ -3996,9 +3998,9 @@ DEFINE CLASS c_foxbin2prg AS Session , lcExtA = 'FRX', 'FRT' ; , lcExtA = 'LBX', 'LBT') I = ASCAN( laFiles, JUSTFNAME( FORCEEXT(.c_OutputFile, lcExtB) ), 1, 0, 1, 1+2+4+8 ) - IF I > 0 THEN - ltFilestamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ; - , VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) ) + IF m.I > 0 THEN + ltFilestamp = DATETIME( YEAR(laFiles(m.I,3)), MONTH(laFiles(m.I,3)), DAY(laFiles(m.I,3)) ; + , VAL(LEFT(laFiles(m.I,4),2)), VAL(SUBSTR(laFiles(m.I,4),4,2)), VAL(RIGHT(laFiles(m.I,4),2)) ) ENDIF ENDCASE @@ -4154,14 +4156,14 @@ DEFINE CLASS c_foxbin2prg AS Session lcNext_Bak = '.BAK' FOR I = 1 TO THIS.n_ExtraBackupLevels - IF I = 1 + IF m.I = 1 IF NOT ADIR( laDirInfo, tcOutputFileName + '.BAK' ) > 0 THEN lcNext_Bak = '.BAK' EXIT ENDIF ELSE - IF NOT ADIR( laDirInfo, tcOutputFileName + '.' + PADL(I-1,1,'0') + '.BAK' ) > 0 THEN - lcNext_Bak = '.' + PADL(I-1,1,'0') + '.BAK' + IF NOT ADIR( laDirInfo, tcOutputFileName + '.' + PADL(m.I-1,1,'0') + '.BAK' ) > 0 THEN + lcNext_Bak = '.' + PADL(m.I-1,1,'0') + '.BAK' EXIT ENDIF ENDIF @@ -4203,7 +4205,7 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Anular subcadenas para luego encontrar comentarios '&&' (y analizar solo si existe al menos un '&&') X = 1 - lnAT1 = AT(laSeparador(X,1), lcStr) + lnAT1 = AT(laSeparador(m.X,1), lcStr) *-- Funcionamiento: *-- La anulación de subcadenas se hace comenzando desde la primer comilla doble ["], y luego se va @@ -4218,8 +4220,8 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Si se encuentra algún separador de cadena que no cierre, se genera un error 10 (Syntax Error). IF lnAT1 > 0 THEN FOR I = lnAT1+1 TO lnLen - IF X > 0 THEN - lnAT2 = AT(laSeparador(X,2), lcStr, laSeparador(X,3)) + IF m.X > 0 THEN + lnAT2 = AT(laSeparador(m.X,2), lcStr, laSeparador(m.X,3)) IF lnAT2 > 0 THEN lcStr = STUFF(lcStr, lnAT1, lnAT2-lnAT1+1, REPLICATE('X',lnAT2-lnAT1+1)) @@ -4230,16 +4232,16 @@ DEFINE CLASS c_foxbin2prg AS Session *-- No tiene comentario '&&' real, o sí lo tiene y además contiene un delimitador de cadena como parte del comentario EXIT ELSE - ERROR 'Closing string delimiter <' + laSeparador(X,2) + '> not found: ' + tcLine + ERROR 'Closing string delimiter <' + laSeparador(m.X,2) + '> not found: ' + tcLine ENDIF ENDIF ENDIF *-- Verifico si el carácter es un separador de cadenas: '"[ - X = AT( SUBSTR(lcStr, I, 1), lcSeparadoresIzq) + X = AT( SUBSTR(lcStr, m.I, 1), lcSeparadoresIzq) - IF X > 0 THEN - lnAT1 = AT(laSeparador(X,1), lcStr) + IF m.X > 0 THEN + lnAT1 = AT(laSeparador(m.X,1), lcStr) ENDIF ENDFOR ENDIF @@ -4387,20 +4389,20 @@ DEFINE CLASS c_foxbin2prg AS Session *-- Busco los archivos FOR I = 1 TO lnFiles - IF SUBSTR( laFiles(I,5), 5, 1 ) == 'D' + IF SUBSTR( laFiles(m.I,5), 5, 1 ) == 'D' LOOP ENDIF lnFileCount = lnFileCount + 1 DIMENSION taFiles(lnFileCount) - taFiles(lnFileCount) = tcDir + laFiles(I,1) + taFiles(lnFileCount) = tcDir + laFiles(m.I,1) ENDFOR *-- Busco los subdirectorios FOR I = 1 TO lnFiles - IF NOT SUBSTR( laFiles(I,5), 5, 1 ) == 'D' OR LEFT(laFiles(I,1), 1) == '.' + IF NOT SUBSTR( laFiles(m.I,5), 5, 1 ) == 'D' OR LEFT(laFiles(m.I,1), 1) == '.' LOOP ENDIF - .get_FilesFromDirectory( tcDir + laFiles(I,1), @taFiles, @lnFileCount ) + .get_FilesFromDirectory( tcDir + laFiles(m.I,1), @taFiles, @lnFileCount ) ENDFOR ENDWITH ENDIF @@ -4697,7 +4699,7 @@ DEFINE CLASS c_foxbin2prg AS Session PROCEDURE set_Line LPARAMETERS tcLine, taCodeLines, I - tcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) + tcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) ENDPROC @@ -6071,11 +6073,11 @@ DEFINE CLASS c_conversor_base AS Custom tcValue = '' lnArrayCols = ALEN(taProps,2) - FOR I = I + 1 TO tnProp_Count + FOR I = m.I + 1 TO tnProp_Count IF lnArrayCols = 0 - lcLine = LTRIM( taProps(I), 0, ' ', CHR(9) ) && Quito espacios y TABS de la izquierda + lcLine = LTRIM( taProps(m.I), 0, ' ', CHR(9) ) && Quito espacios y TABS de la izquierda ELSE - lcLine = LTRIM( taProps(I,1), 0, ' ', CHR(9) ) && Quito espacios y TABS de la izquierda + lcLine = LTRIM( taProps(m.I,1), 0, ' ', CHR(9) ) && Quito espacios y TABS de la izquierda ENDIF DO CASE @@ -6083,14 +6085,14 @@ DEFINE CLASS c_conversor_base AS Custom *-- tcValue = tcTAG_I + SUBSTR( tcValue, 3 ) + tcTAG_F .denormalizePropertyValue( @tcPropName, @tcValue, '' ) - I = I + 1 + I = m.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 .denormalizePropertyValue( @tcPropName, @tcValue, '' ) - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -6101,7 +6103,7 @@ DEFINE CLASS c_conversor_base AS Custom ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF @@ -6150,12 +6152,12 @@ DEFINE CLASS c_conversor_base AS Custom N = N + 1 lcRutaDelNombre = LEFT( tcNombreObjeto, RAT( '.', tcNombreObjeto + '.', N ) - 1 ) FOR I = 1 TO toClase._AddObject_Count - loObjeto = toClase._AddObjects(I) + loObjeto = toClase._AddObjects(m.I) *-- Busco tanto el [nombre] del método como [class.nombre]+[nombre] del método IF LOWER(loObjeto._Nombre) == LOWER(toClase._ObjName) + '.' + lcRutaDelNombre ; OR LOWER(loObjeto._Nombre) == lcRutaDelNombre - lnObjeto = I + lnObjeto = m.I EXIT ENDIF @@ -6229,8 +6231,8 @@ DEFINE CLASS c_conversor_base AS Custom LOCAL lcPrevLine, llIsContinuation *-- Analizo la línea anterior para saber si termina con ";" o "," y la actual es continuación - IF I > 1 - lcPrevLine = taCodeLines(I-1) + IF m.I > 1 + lcPrevLine = taCodeLines(m.I-1) ELSE lcPrevLine = '' ENDIF @@ -6261,11 +6263,11 @@ DEFINE CLASS c_conversor_base AS Custom IF tnIniFin = 1 *-- TOKENS DE INICIO - IF UPPER( LEFT( lcLine, ta_ID_Bloques(X,3) ) ) == ta_ID_Bloques(X,1) + IF UPPER( LEFT( lcLine, ta_ID_Bloques(m.X,3) ) ) == ta_ID_Bloques(m.X,1) *-- Evaluar casos especiales lcWord = UPPER( ALLTRIM(GETWORDNUM(lcLine,1) ) ) - IF ta_ID_Bloques(X,1) == 'TEXT' THEN + IF ta_ID_Bloques(m.X,1) == 'TEXT' THEN lcLine = UPPER( lcLine ) + ' ' DO CASE @@ -6282,11 +6284,11 @@ DEFINE CLASS c_conversor_base AS Custom ENDIF ELSE *-- TOKENS DE FIN - IF UPPER( LEFT( lcLine, ta_ID_Bloques(X,4) ) ) == ta_ID_Bloques(X,2) && Fin de bloque encontrado (#ENDI, ENDTEXT, etc) + IF UPPER( LEFT( lcLine, ta_ID_Bloques(m.X,4) ) ) == ta_ID_Bloques(m.X,2) && Fin de bloque encontrado (#ENDI, ENDTEXT, etc) *-- Evaluar casos especiales lcWord = UPPER( ALLTRIM(GETWORDNUM(lcLine,1) ) ) - IF ta_ID_Bloques(X,2) == 'ENDT' AND NOT lcWord == LEFT( 'ENDTEXT', LEN(lcWord) ) + IF ta_ID_Bloques(m.X,2) == 'ENDT' AND NOT lcWord == LEFT( 'ENDTEXT', LEN(lcWord) ) EXIT ENDIF @@ -6310,7 +6312,7 @@ DEFINE CLASS c_conversor_base AS Custom LPARAMETERS tcText LOCAL I FOR I = 0 TO 31 - tcText = STRTRAN( tcText, '{' + TRANSFORM(I) + '}', CHR(I) ) + tcText = STRTRAN( tcText, '{' + TRANSFORM(m.I) + '}', CHR(m.I) ) ENDFOR RELEASE I RETURN tcText @@ -6361,7 +6363,7 @@ DEFINE CLASS c_conversor_base AS Custom FOR I = 1 TO OCCURS( '/>', tcValue ) * issue#16: memberdata property should be saved in compressed format - lcValue = lcValue + CHRTRAN( STREXTRACT( tcValue, '', I, 1+4 ), CR_LF, ' ' ) + lcValue = lcValue + CHRTRAN( STREXTRACT( tcValue, '', m.I, 1+4 ), CR_LF, ' ' ) ENDFOR * issue#16: memberdata property should be saved in compressed format @@ -6434,7 +6436,7 @@ DEFINE CLASS c_conversor_base AS Custom LPARAMETERS tcText LOCAL I FOR I = 0 TO 31 - tcText = STRTRAN( tcText, CHR(I), '{' + TRANSFORM(I) + '}' ) + tcText = STRTRAN( tcText, CHR(m.I), '{' + TRANSFORM(m.I) + '}' ) ENDFOR RELEASE I RETURN tcText @@ -6612,8 +6614,8 @@ DEFINE CLASS c_conversor_base AS Custom * Type="V" Cpid="1252" * ^ ^ => Posiciones del par de comillas dobles - lnPos1 = AT( '"', lcMetadatos, I ) - lnPos2 = AT( '"', lcMetadatos, I + 1 ) + lnPos1 = AT( '"', lcMetadatos, m.I ) + lnPos2 = AT( '"', lcMetadatos, m.I + 1 ) * Type="V" Cpid="1252" * ^ ^ ^ => LastPos, lnPos1 y lnPos2 @@ -6661,7 +6663,7 @@ DEFINE CLASS c_conversor_base AS Custom *-- Anular subcadenas para luego encontrar comentarios '&&' (y analizar solo si existe al menos un '&&') X = 1 - lnAT1 = AT(laSeparador(X,1), lcStr) + lnAT1 = AT(laSeparador(m.X,1), lcStr) *-- Funcionamiento: *-- La anulación de subcadenas se hace comenzando desde la primer comilla doble ["], y luego se va @@ -6676,8 +6678,8 @@ DEFINE CLASS c_conversor_base AS Custom *-- Si se encuentra algún separador de cadena que no cierre, se genera un error 10 (Syntax Error). IF lnAT1 > 0 THEN FOR I = lnAT1+1 TO lnLen - IF X > 0 THEN - lnAT2 = AT(laSeparador(X,2), lcStr, laSeparador(X,3)) + IF m.X > 0 THEN + lnAT2 = AT(laSeparador(m.X,2), lcStr, laSeparador(m.X,3)) IF lnAT2 > 0 THEN lcStr = STUFF(lcStr, lnAT1, lnAT2-lnAT1+1, REPLICATE('X',lnAT2-lnAT1+1)) @@ -6688,16 +6690,16 @@ DEFINE CLASS c_conversor_base AS Custom *-- No tiene comentario '&&' real, o sí lo tiene y además contiene un delimitador de cadena como parte del comentario EXIT ELSE - ERROR 'Closing string delimiter <' + laSeparador(X,2) + '> not found: ' + tcLine + ERROR 'Closing string delimiter <' + laSeparador(m.X,2) + '> not found: ' + tcLine ENDIF ENDIF ENDIF *-- Verifico si el carácter es un separador de cadenas: '"[ - X = AT( SUBSTR(lcStr, I, 1), lcSeparadoresIzq) + X = AT( SUBSTR(lcStr, m.I, 1), lcSeparadoresIzq) - IF X > 0 THEN - lnAT1 = AT(laSeparador(X,1), lcStr) + IF m.X > 0 THEN + lnAT1 = AT(laSeparador(m.X,1), lcStr) ENDIF ENDFOR ENDIF @@ -6743,11 +6745,11 @@ DEFINE CLASS c_conversor_base AS Custom *-- 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 .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; + CASE .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @m.I ; , C_FB2P_VALUE_I, C_FB2P_VALUE_F, C_LEN_FB2P_VALUE_I, C_LEN_FB2P_VALUE_F ) *-- FB2P_VALUE - CASE .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @I ; + CASE .analyzeAssignmentOf_TAG( @tcPropName, @tcValue, @taCodeLines, tnCodeLines, @m.I ; , C_MEMBERDATA_I, C_MEMBERDATA_F, C_LEN_MEMBERDATA_I, C_LEN_MEMBERDATA_F ) *-- MEMBERDATA @@ -6825,12 +6827,12 @@ DEFINE CLASS c_conversor_base AS Custom WITH THIS AS c_conversor_base OF 'FOXBIN2PRG.PRG' FOR I = 1 TO tnCodeLines * Reduzco los espacios. Ej: '#IF .F. && cmt' ==> '#IF .F.&&cmt' - *lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) ) - lcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) + *lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(m.I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) ) + lcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) IF .lineIsOnlyCommentAndNoMetadata( @lcLine ) *-- Optimización: Excluyo las líneas que solo son comentarios - taLineasExclusion(I) = .T. + taLineasExclusion(m.I) = .T. *-- LOOP ENDIF @@ -6839,10 +6841,10 @@ DEFINE CLASS c_conversor_base AS Custom lnPrimerID = 0 FOR X = 1 TO lnID_Bloques_Count - lnLen_IDFinBQ = LEN( ta_ID_Bloques(X,2) ) - IF .isIndicatedToken( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, X, 1 ) ; - AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, I ) - lnPrimerID = X + lnLen_IDFinBQ = LEN( ta_ID_Bloques(m.X,2) ) + IF .isIndicatedToken( @lcLine, @ta_ID_Bloques, lnLen_IDFinBQ, m.X, 1 ) ; + AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, m.I ) + lnPrimerID = m.X lnAnidamientos = 1 EXIT ENDIF @@ -6851,16 +6853,16 @@ DEFINE CLASS c_conversor_base AS Custom IF lnPrimerID > 0 && Se ha identificado un ID de bloque excluyente tnBloquesExclusion = tnBloquesExclusion + 1 DIMENSION taBloquesExclusion(tnBloquesExclusion,2) - taBloquesExclusion(tnBloquesExclusion,1) = I - taLineasExclusion(I) = .T. + taBloquesExclusion(tnBloquesExclusion,1) = m.I + taLineasExclusion(m.I) = .T. * Búsqueda del ID de fin de bloque - FOR I = I + 1 TO tnCodeLines + FOR I = m.I + 1 TO tnCodeLines * Reduzco los espacios. Ej: '#IF .F. && cmt' ==> '#IF .F.&&cmt' - *lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) ) - *lcLine = LTRIM( CHRTRAN( taCodeLines(I), CHR(9), ' ' ) ) - lcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) - taLineasExclusion(I) = .T. + *lcLine = LTRIM( STRTRAN( STRTRAN( CHRTRAN( taCodeLines(m.I), CHR(9), ' ' ), ' ', ' ' ), ' ', ' ' ) ) + *lcLine = LTRIM( CHRTRAN( taCodeLines(m.I), CHR(9), ' ' ) ) + lcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) + taLineasExclusion(m.I) = .T. IF .lineIsOnlyCommentAndNoMetadata( @lcLine ) LOOP @@ -6869,17 +6871,17 @@ DEFINE CLASS c_conversor_base AS Custom lcLine = UPPER( LEFT( lcLine,1 ) ) + UPPER( LTRIM( SUBSTR( lcLine, 2 ) ) ) DO CASE - CASE lnPrimerID = 1 AND .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, X, 1 ) ; - AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, I ) + CASE lnPrimerID = 1 AND .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, m.X, 1 ) ; + AND NOT .currentLineIsPreviousLineContinuation( @taCodeLines, m.I ) *-- Busca el primer marcador (#IF) NOTA: No busco [TEXT] porque no se pueden anidar. lnAnidamientos = lnAnidamientos + 1 - CASE .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, X, 2 ) + CASE .isIndicatedToken( @lcLine, @ta_ID_Bloques, 0, m.X, 2 ) *-- Busca el segundo marcador (#ENDIF o ENDTEXT) lnAnidamientos = lnAnidamientos - 1 IF lnAnidamientos = 0 - taBloquesExclusion(tnBloquesExclusion,2) = I + taBloquesExclusion(tnBloquesExclusion,2) = m.I EXIT ENDIF ENDCASE @@ -7015,9 +7017,9 @@ DEFINE CLASS c_conversor_base AS Custom FOR I = 1 TO OCCURS( '/>', tcValue ) *TEXT TO lcValue TEXTMERGE ADDITIVE NOSHOW FLAGS 1+2 PRETEXT 1+2 - * <<>> <', I, 1+4 ), CR_LF, ' ' )>> + * <<>> <', m.I, 1+4 ), CR_LF, ' ' )>> *ENDTEXT - lcValue = lcValue + CHR(13) + CHR(10) + CHR(9) + CHR(9) + CHRTRAN( STREXTRACT( tcValue, '', I, 1+4 ), CR_LF, ' ' ) + lcValue = lcValue + CHR(13) + CHR(10) + CHR(9) + CHR(9) + CHRTRAN( STREXTRACT( tcValue, '', m.I, 1+4 ), CR_LF, ' ' ) ENDFOR TEXT TO tcValue TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 @@ -7310,18 +7312,18 @@ DEFINE CLASS c_conversor_base AS Custom * CON SORT: * - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final FOR I = 1 TO m.tnPropsAndValues_Count - IF '.' $ laPropsAndValues(I,1) + IF '.' $ laPropsAndValues(m.I,1) IF m.tnSortType = 2 - laPropsAndValues(I,1) = 'B' + JUSTSTEM(laPropsAndValues(I,1)) + '.' ; - + .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(I,1)) ) + laPropsAndValues(m.I,1) = 'B' + JUSTSTEM(laPropsAndValues(m.I,1)) + '.' ; + + .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(m.I,1)) ) ELSE - laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1) + laPropsAndValues(m.I,1) = 'B' + laPropsAndValues(m.I,1) ENDIF ELSE IF m.tnSortType = 2 - laPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', laPropsAndValues(I,1) ) + laPropsAndValues(m.I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', laPropsAndValues(m.I,1) ) ELSE - laPropsAndValues(I,1) = 'A' + laPropsAndValues(I,1) + laPropsAndValues(m.I,1) = 'A' + laPropsAndValues(m.I,1) ENDIF ENDIF ENDFOR @@ -7333,25 +7335,25 @@ DEFINE CLASS c_conversor_base AS Custom FOR I = 1 TO m.tnPropsAndValues_Count *-- Quitar caracteres agregados antes del SORT - IF '.' $ laPropsAndValues(I,1) + IF '.' $ laPropsAndValues(m.I,1) IF m.tnSortType = 2 - taPropsAndValues(I,1) = JUSTSTEM( SUBSTR( laPropsAndValues(I,1), 2 ) ) + '.' ; - + .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', JUSTEXT(laPropsAndValues(I,1)) ) + taPropsAndValues(m.I,1) = JUSTSTEM( SUBSTR( laPropsAndValues(m.I,1), 2 ) ) + '.' ; + + .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', JUSTEXT(laPropsAndValues(m.I,1)) ) ELSE - taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 ) + taPropsAndValues(m.I,1) = SUBSTR( laPropsAndValues(m.I,1), 2 ) ENDIF ELSE IF m.tnSortType = 2 - taPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', laPropsAndValues(I,1) ) + taPropsAndValues(m.I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', laPropsAndValues(m.I,1) ) ELSE - taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 ) + taPropsAndValues(m.I,1) = SUBSTR( laPropsAndValues(m.I,1), 2 ) ENDIF ENDIF - taPropsAndValues(I,2) = laPropsAndValues(I,2) + taPropsAndValues(m.I,2) = laPropsAndValues(m.I,2) IF lnArrayCols >= 3 - taPropsAndValues(I,3) = laPropsAndValues(I,3) + taPropsAndValues(m.I,3) = laPropsAndValues(m.I,3) ENDIF ENDFOR @@ -7362,32 +7364,32 @@ DEFINE CLASS c_conversor_base AS Custom *-- PRIMERO las que no tienen punto FOR I = 1 TO m.tnPropsAndValues_Count - IF EMPTY( laPropsAndValues(I,1) ) + IF EMPTY( laPropsAndValues(m.I,1) ) LOOP ENDIF - IF NOT '.' $ laPropsAndValues(I,1) - X = X + 1 - taPropsAndValues(X,1) = laPropsAndValues(I,1) - taPropsAndValues(X,2) = laPropsAndValues(I,2) + IF NOT '.' $ laPropsAndValues(m.I,1) + X = m.X + 1 + taPropsAndValues(m.X,1) = laPropsAndValues(m.I,1) + taPropsAndValues(m.X,2) = laPropsAndValues(m.I,2) IF lnArrayCols >= 3 - taPropsAndValues(X,3) = laPropsAndValues(I,3) + taPropsAndValues(m.X,3) = laPropsAndValues(m.I,3) ENDIF ENDIF ENDFOR *-- LUEGO las demás props. FOR I = 1 TO m.tnPropsAndValues_Count - IF EMPTY( laPropsAndValues(I,1) ) + IF EMPTY( laPropsAndValues(m.I,1) ) LOOP ENDIF - IF '.' $ laPropsAndValues(I,1) - X = X + 1 - taPropsAndValues(X,1) = laPropsAndValues(I,1) - taPropsAndValues(X,2) = laPropsAndValues(I,2) + IF '.' $ laPropsAndValues(m.I,1) + X = m.X + 1 + taPropsAndValues(m.X,1) = laPropsAndValues(m.I,1) + taPropsAndValues(m.X,2) = laPropsAndValues(m.I,2) IF lnArrayCols >= 3 - taPropsAndValues(X,3) = laPropsAndValues(I,3) + taPropsAndValues(m.X,3) = laPropsAndValues(m.I,3) ENDIF ENDIF ENDFOR @@ -7429,201 +7431,105 @@ DEFINE CLASS c_conversor_base AS Custom lcPropsFile = FORCEPATH( "props_all.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('all', .a_SpecialProps(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_checkbox.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Chk, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('checkbox', .a_SpecialProps_Chk(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_collection.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Coll, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('collection', .a_SpecialProps_Coll(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_combobox.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Cbo, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('combobox', .a_SpecialProps_Cbo(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_commandgroup.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Cmg, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('commandgroup', .a_SpecialProps_Cmg(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_commandbutton.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Cmd, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('commandbutton', .a_SpecialProps_Cmd(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_cursor.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Cur, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('cursor', .a_SpecialProps_Cur(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_cursoradapter.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_CA, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('cursoradapter', .a_SpecialProps_CA(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_dataenvironment.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_DE, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('dataenvironment', .a_SpecialProps_DE(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_editbox.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Edt, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('editbox', .a_SpecialProps_Edt(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_formset.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Frs, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('formset', .a_SpecialProps_Frs(X), X) - *ENDFOR *lcPropsFile = FORCEPATH( "props_grid.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) *I = ALINES( .a_SpecialProps_Grd, FILETOSTR( lcPropsFile ), 1+4 ) lcPropsFile = FORCEPATH( "props_grid_column.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Grc, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('column', .a_SpecialProps_Grc(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_grid_header.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Grh, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('header', .a_SpecialProps_Grh(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_hyperlink.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Hlk, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('hyperlink', .a_SpecialProps_Hlk(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_image.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Img, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('image', .a_SpecialProps_Img(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_label.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Lbl, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('label', .a_SpecialProps_Lbl(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_line.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Lin, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('line', .a_SpecialProps_Lin(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_listbox.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Lst, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('listbox', .a_SpecialProps_Lst(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_olebound.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Ole, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('olebound', .a_SpecialProps_Ole(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_optiongroup.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Opg, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('optiongroup', .a_SpecialProps_Opg(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_optiongroup_option.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Opb, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('option', .a_SpecialProps_Opb(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_projecthook.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Phk, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('projecthook', .a_SpecialProps_Phk(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_relation.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Rel, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('relation', .a_SpecialProps_Rel(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_reportlistener.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Rls, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('reportlistener', .a_SpecialProps_Rls(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_separator.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Sep, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('separator', .a_SpecialProps_Sep(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_shape.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Shp, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('shape', .a_SpecialProps_Shp(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_spinner.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Spn, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('spinner', .a_SpecialProps_Spn(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_textbox.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Txt, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('textbox', .a_SpecialProps_Txt(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_timer.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_Tmr, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('timer', .a_SpecialProps_Tmr(X), X) - *ENDFOR *lcPropsFile = FORCEPATH( "props_toolbar.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) *I = ALINES( .a_SpecialProps_Tbr, FILETOSTR( lcPropsFile ), 1+4 ) lcPropsFile = FORCEPATH( "props_xmladapter.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_XMLAda, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('xmladapter', .a_SpecialProps_XMLAda(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_xmlfield.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_XMLFld, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('xmlfield', .a_SpecialProps_XMLFld(X), X) - *ENDFOR lcPropsFile = FORCEPATH( "props_xmltable.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) ) I = ALINES( .a_SpecialProps_XMLTbl, FILETOSTR( lcPropsFile ), 1+4 ) - *FOR X = 1 TO I - * INSERT INTO foxbin2prg_keywords (c_class, c_keyword, i_order) VALUES ('xmltable', .a_SpecialProps_XMLTbl(X), X) - *ENDFOR #ENDIF ENDWITH @@ -8252,10 +8158,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base * * Skip ZOrderSet if configured to * - IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + laPropsAndValues(I, 1) + '.' ) > 0 THEN + IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + laPropsAndValues(m.I, 1) + '.' ) > 0 THEN LOOP ENDIF - lcMemo = lcMemo + laPropsAndValues(I,1) + ' = ' + laPropsAndValues(I,2) + CR_LF + lcMemo = lcMemo + laPropsAndValues(m.I,1) + ' = ' + laPropsAndValues(m.I,2) + CR_LF ENDFOR ENDWITH ENDIF && toClase._Prop_Count > 0 @@ -8301,7 +8207,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- ARMO EL MEMO A DEVOLVER FOR I = 1 TO toObjeto._Prop_Count - lcMemo = lcMemo + laPropsAndValues(I,1) + ' = ' + laPropsAndValues(I,2) + CR_LF + lcMemo = lcMemo + laPropsAndValues(m.I,1) + ' = ' + laPropsAndValues(m.I,2) + CR_LF ENDFOR ENDWITH ENDIF @@ -8327,10 +8233,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base WITH THIS AS c_conversor_prg_a_bin OF foxbin2prg.prg FOR I = 1 TO toClase._Procedure_Count loProcedure = NULL - loProcedure = toClase._Procedures(I) + loProcedure = toClase._Procedures(m.I) IF loProcedure._ProcLine_Count > 0 THEN - .updateProgressbar( 'Generating Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) + .updateProgressbar( 'Generating Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', m.I, toClase._Procedure_Count, 2 ) IF '.' $ loProcedure._Nombre *-- cboNombre.InteractiveChange ==> No debe acortarse por ser método modificado de combobox heredado de la clase @@ -8356,12 +8262,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF *-- Incluir las líneas del método - *.updateProgressbar( 'Generating Lines of Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', I, toClase._Procedure_Count, 2 ) + *.updateProgressbar( 'Generating Lines of Procedure ' + toClase._Nombre + '.' + loProcedure._Nombre + '...', m.I, toClase._Procedure_Count, 2 ) FOR X = 1 TO loProcedure._ProcLine_Count *TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - * <> + * <> *ENDTEXT - lcMemo = lcMemo + CHR(13) + CHR(10) + loProcedure._ProcLines(X) + lcMemo = lcMemo + CHR(13) + CHR(10) + loProcedure._ProcLines(m.X) ENDFOR TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -8395,7 +8301,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base THIS.updateProgressbar( 'Generating Object Methods for ' + toClase._Nombre + '.' + toObjeto._ObjName + '...', 0, 1, 2 ) FOR I = 1 TO toObjeto._Procedure_Count loProcedure = NULL - loProcedure = toObjeto._Procedures(I) + loProcedure = toObjeto._Procedures(m.I) TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <> <> @@ -8403,7 +8309,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Incluir las líneas del método FOR X = 1 TO loProcedure._ProcLine_Count - lcMemo = lcMemo + CHR(13) + CHR(10) + loProcedure._ProcLines(X) + lcMemo = lcMemo + CHR(13) + CHR(10) + loProcedure._ProcLines(m.X) ENDFOR TEXT TO lcMemo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -8432,8 +8338,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lcComentario = '' FOR I = 1 TO toClase._Prop_Count - IF RTRIM( GETWORDNUM( toClase._Props(I,1), 1, '=' ) ) == tcPropName - lcComentario = toClase._Props( I, 2 ) + IF RTRIM( GETWORDNUM( toClase._Props(m.I,1), 1, '=' ) ) == tcPropName + lcComentario = toClase._Props( m.I, 2 ) EXIT ENDIF ENDFOR @@ -8457,7 +8363,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base FOR I = 1 TO toClase._Procedure_Count loProcedure = NULL - loProcedure = toClase._Procedures(I) + loProcedure = toClase._Procedures(m.I) IF loProcedure._Nombre == tcMethodName lcComentario = loProcedure._Comentario @@ -8513,8 +8419,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base LOCAL lnPos1, lnPos2, I FOR I = OCCURS( '[', tcSeparatedCommaVars ) TO 1 STEP -1 - lnPos1 = AT( '[', tcSeparatedCommaVars, I ) - lnPos2 = AT( ']', tcSeparatedCommaVars, I ) + lnPos1 = AT( '[', tcSeparatedCommaVars, m.I ) + lnPos2 = AT( ']', tcSeparatedCommaVars, m.I ) tcSeparatedCommaVars = STUFF( tcSeparatedCommaVars, lnPos1, lnPos2 - lnPos1 + 1, '' ) ENDFOR @@ -8555,7 +8461,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base LOCAL lcPAM, I FOR I = 1 TO OCCURS( ',', tcPAM + ',' ) - lcPAM = ALLTRIM( GETWORDNUM( tcPAM, I, ',' ) ) + lcPAM = ALLTRIM( GETWORDNUM( tcPAM, m.I, ',' ) ) IF NOT EMPTY(lcPAM) IF EVL(tcPAM_Visibility, 'normal') == 'hidden' @@ -8727,7 +8633,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base DIMENSION laObjNames( toClase._AddObject_Count, 2 ) FOR X = 1 TO toClase._AddObject_Count - loObjeto = toClase._AddObjects( X ) + loObjeto = toClase._AddObjects( m.X ) IF EMPTY(loObjeto._TimeStamp) loObjeto._TimeStamp = .rowTimeStamp( {^2013/11/04 20:00:00} ) @@ -8736,8 +8642,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base loObjeto._UniqueID = toFoxBin2Prg.unique_ID() ENDIF - laObjNames( X, 1 ) = loObjeto._Nombre - laObjNames( X, 2 ) = loObjeto._ZOrder + laObjNames( m.X, 1 ) = loObjeto._Nombre + laObjNames( m.X, 2 ) = loObjeto._ZOrder loObjeto = NULL ENDFOR @@ -8746,7 +8652,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Escribo los objetos en el orden Z FOR X = 1 TO toClase._AddObject_Count - lcObjName = laObjNames( X, 1 ) + lcObjName = laObjNames( m.X, 1 ) FOR EACH loObjeto IN toClase._AddObjects FOXOBJECT *-- Verifico que sea el objeto que corresponde @@ -8791,7 +8697,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base PROCEDURE set_Line LPARAMETERS tcLine, taCodeLines, I - tcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) + tcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) ENDPROC @@ -8823,10 +8729,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) - IF NOT .excludedLine( I, tnBloquesExclusion, @taLineasExclusion ) ; + IF NOT .excludedLine( m.I, tnBloquesExclusion, @taLineasExclusion ) ; AND NOT .lineIsOnlyCommentAndNoMetadata( @tcLine, @tc_Comentario ) DO CASE @@ -8840,12 +8746,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF llEsProcedureDeClase *ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ; + toClase._Nombre + ' (' + loProcedure._Nombre + ')' ; - + ', línea ' + TRANSFORM(I) + ' del archivo ' + .c_InputFile + + ', línea ' + TRANSFORM(m.I) + ' del archivo ' + .c_InputFile ERROR (TEXTMERGE(loLang.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC)) ELSE *ERROR 'Error de anidamiento de estructuras. Se esperaba ENDPROC y se encontró ENDDEFINE en la clase ' ; + toClase._Nombre + ' (' + toObjeto._Nombre + '.' + loProcedure._Nombre + ')' ; - + ', línea ' + TRANSFORM(I) + ' del archivo ' + .c_InputFile + + ', línea ' + TRANSFORM(m.I) + ' del archivo ' + .c_InputFile ERROR (TEXTMERGE(loLang.C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC)) ENDIF ENDCASE @@ -8853,12 +8759,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Quito 2 TABS de la izquierda (si se puede y si el integrador/desarrollador no la lió quitándolos) DO CASE - CASE LEFT( taCodeLines(I),2 ) = C_TAB + C_TAB - loProcedure.add_Line( SUBSTR(taCodeLines(I), 3) ) - CASE LEFT( taCodeLines(I),1 ) = C_TAB - loProcedure.add_Line( SUBSTR(taCodeLines(I), 2) ) + CASE LEFT( taCodeLines(m.I),2 ) = C_TAB + C_TAB + loProcedure.add_Line( SUBSTR(taCodeLines(m.I), 3) ) + CASE LEFT( taCodeLines(m.I),1 ) = C_TAB + loProcedure.add_Line( SUBSTR(taCodeLines(m.I), 2) ) OTHERWISE - loProcedure.add_Line( taCodeLines(I) ) + loProcedure.add_Line( taCodeLines(m.I) ) ENDCASE ENDFOR ENDWITH && THIS @@ -8919,19 +8825,19 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base tcLine = CHRTRAN( tcLine, ['], ["] ) IF EMPTY(toClase._Fin_Cab) - toClase._Fin_Cab = I-1 - toClase._Ini_Cuerpo = I + toClase._Fin_Cab = m.I-1 + toClase._Ini_Cuerpo = m.I ENDIF toObjeto = NULL lcNombre = ALLTRIM( CHRTRAN( STREXTRACT(tcLine, 'ADD OBJECT ', ' AS ', 1, 1), ['"], [] ) ) lcObjName = JUSTEXT( '.' + lcNombre ) - .updateProgressbar( 'Analyzing Block Add Object ' + toClase._Nombre + '.' + lcObjName + '...', I, tnCodeLines, 1 ) + .updateProgressbar( 'Analyzing Block Add Object ' + toClase._Nombre + '.' + lcObjName + '...', m.I, tnCodeLines, 1 ) IF toClase.l_ObjectMetadataInHeader FOR Z = 1 TO toClase._AddObject_Count - IF LOWER(toClase._AddObjects(Z)._Nombre) == LOWER(lcNombre) THEN - toObjeto = toClase._AddObjects(Z) + IF LOWER(toClase._AddObjects(m.Z)._Nombre) == LOWER(lcNombre) THEN + toObjeto = toClase._AddObjects(m.Z) EXIT ENDIF ENDFOR @@ -8964,19 +8870,19 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF lnPos > 0 THEN *-- ERROR: Objeto Duplicado .writeErrorLog( '* ' + loLang.C_DUPLICATED_OBJECT_LOC + ' "' + toClase._Class + '.' + toObjeto._Nombre ; - + '" @line ' + TRANSFORM(I) + ', (1st.Line:' + TRANSFORM(toClase._aPathObjNames(lnPos,2)) + ')' ) + + '" @line ' + TRANSFORM(m.I) + ', (1st.Line:' + TRANSFORM(toClase._aPathObjNames(lnPos,2)) + ')' ) ENDIF ENDIF - IF NOT toClase.l_ObjectMetadataInHeader OR Z=0 + IF NOT toClase.l_ObjectMetadataInHeader OR m.Z=0 toClase.add_Object( toObjeto ) ENDIF - toClase.add_PathObjName(toObjeto._Nombre, I) + toClase.add_PathObjName(toObjeto._Nombre, m.I) *-- Propiedades del ADD OBJECT - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) IF UPPER( LEFT( tcLine, C_LEN_END_OBJECT_I) ) == C_END_OBJECT_I && Fin del ADD OBJECT y METADATOS *< END OBJECT: baseclass = "olecontrol" Uniqueid = "_3X50L3I7V" OLEObject = "C:\WINDOWS\system32\FOXTLIB.OCX" checksum = "4101493921" /> @@ -9002,8 +8908,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Ubico el objeto ole por su nombre (parent+objname), que no se repite. IF EMPTY(toObjeto._Ole) && Si _Ole está vacío es porque el propio control no tiene la info y está en la cabecera (antiguo guardado) - IF toModulo.existeObjetoOLE( toObjeto._Nombre, @Z ) - toObjeto._Ole = toModulo._Ole_Objs(Z)._Value + IF toModulo.existeObjetoOLE( toObjeto._Nombre, @m.Z ) + toObjeto._Ole = toModulo._Ole_Objs(m.Z)._Value ENDIF ENDIF @@ -9011,7 +8917,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;" - .get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I ) + .get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @m.I ) * * Skip ZOrderSet if configured to @@ -9021,7 +8927,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF toObjeto.add_Property( @lcProp, @lcValue ) ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL ) - .get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I ) + .get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @m.I ) * * Skip ZOrderSet if configured to @@ -9090,12 +8996,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base STORE '' TO lcDefinedPAM, lcItem, lcMethods WITH THIS AS c_conversor_prg_a_bin OF foxbin2prg.prg - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE LEFT( tcLine, C_LEN_DEFINED_PAM_F ) == C_DEFINED_PAM_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -9135,7 +9041,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Junto propiedades y los métodos al final. toClase._Defined_PAM = lcDefinedPAM + lcMethods - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -9210,27 +9116,27 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base toClase._ClassLoc = LOWER( ALLTRIM( CHRTRAN( STREXTRACT( tcLine + ' OLEPUBLIC', ' OF ', ' OLEPUBLIC', 1, 1 ), ["'], [] ) ) ) toClase._OlePublic = ' OLEPUBLIC' $ UPPER(tcLine) toClase._Comentario = tc_Comentario - toClase._Inicio = I - toClase._Ini_Cab = I + 1 + toClase._Inicio = m.I + toClase._Ini_Cab = m.I + 1 toModulo.add_Class( toClase ) *-- Ubico el objeto ole por su nombre (parent+objname), que no se repite. - IF toModulo.existeObjetoOLE( toClase._Nombre, @Z ) - toClase._Ole = toModulo._Ole_Objs(Z)._Value + IF toModulo.existeObjetoOLE( toClase._Nombre, @m.Z ) + toClase._Ole = toModulo._Ole_Objs(m.Z)._Value ENDIF * Búsqueda del ID de fin de bloque (ENDDEFINE) WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG' FOR I = toClase._Ini_Cab TO tnCodeLines tc_Comentario = '' - .set_Line( @tcLine, @taCodeLines, I ) + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @tc_Comentario ) LOOP - CASE .analyzeCodeBlock_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines ; + CASE .analyzeCodeBlock_PROCEDURE( @toModulo, @toClase, @loObjeto, @tcLine, @taCodeLines, @m.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 ; @@ -9252,11 +9158,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base CASE NOT llINCLUDE_Completed AND .c_Type <> "SCX" AND .analyzeCodeBlock_INCLUDE( @toModulo, @toClase, @tcLine, @taCodeLines ; - , @I, @tnCodeLines, @tcProcedureAbierto ) + , @m.I, @tnCodeLines, @tcProcedureAbierto ) llINCLUDE_Completed = .T. - CASE NOT llCLASSCOMMENTS_Completed AND .analyzeCodeBlock_CLASSCOMMENTS( @toClase, @tcLine ,@taCodeLines, tnCodeLines, @I ) + CASE NOT llCLASSCOMMENTS_Completed AND .analyzeCodeBlock_CLASSCOMMENTS( @toClase, @tcLine ,@taCodeLines, tnCodeLines, @m.I ) llCLASSCOMMENTS_Completed = .T. @@ -9268,11 +9174,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base * No se usa flag porque puede haber múltiples ObjectMetadata. - CASE NOT llDEFINED_PAM_Completed AND .analyzeCodeBlock_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I ) + CASE NOT llDEFINED_PAM_Completed AND .analyzeCodeBlock_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @m.I ) llDEFINED_PAM_Completed = .T. - CASE .analyzeCodeBlock_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines, @toFoxBin2Prg ) + CASE .analyzeCodeBlock_ADD_OBJECT( @toModulo, @toClase, @tcLine, @m.I, @taCodeLines, @tnCodeLines, @toFoxBin2Prg ) STORE .T. TO llCLASSCOMMENTS_Completed ; , llCLASS_PROPERTY_Completed ; , llPROTECTED_Completed ; @@ -9283,7 +9189,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , llDEFINED_PAM_Completed - CASE .analyzeCodeBlock_ENDDEFINE( @toClase, @tcLine, @I, @tcProcedureAbierto ) + CASE .analyzeCodeBlock_ENDDEFINE( @toClase, @tcLine, @m.I, @tcProcedureAbierto ) EXIT @@ -9293,7 +9199,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- NOTA: Las propiedades se agregan tal cual, incluso aunque estén separadas en *-- varias líneas (memberdata y fb2p_value), ya que luego se ensamblan en classProps2Memo(). * - .get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @I ) + .get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @m.I ) toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) ) @@ -9359,16 +9265,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base IF UPPER( LEFT( tcLine + ' ', 10 ) ) == C_ENDDEFINE + ' ' && Fin de bloque (ENDDEF / ENDPROC) encontrado llBloqueEncontrado = .T. - toClase._Fin = I + toClase._Fin = m.I IF EMPTY( toClase._Ini_Cuerpo ) - toClase._Ini_Cuerpo = I-1 + toClase._Ini_Cuerpo = m.I-1 ENDIF - toClase._Fin_Cuerpo = I-1 + toClase._Fin_Cuerpo = m.I-1 IF EMPTY( toClase._Fin_Cab ) - toClase._Fin_Cab = I-1 + toClase._Fin_Cab = m.I-1 ENDIF STORE '' TO tcProcedureAbierto @@ -9444,12 +9350,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base toClase._Comentario = '' WITH THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE LEFT( tcLine, C_LEN_CLASSCOMMENTS_F ) == C_CLASSCOMMENTS_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -9458,7 +9364,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 IF NOT EMPTY(toClase._Comentario) toClase._Comentario = SUBSTR( toClase._Comentario, 3 ) + CR_LF && Quito el primer CR+LF @@ -9657,8 +9563,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Si el objeto OLE no tiene VALUE, es porque hay otro con el mismo contenido y no se duplicó para preservar espacio. *-- Busco el VALUE del duplicado que se guardó y lo asigno nuevamente FOR Z = 1 TO toModulo._Ole_Obj_count - 1 - IF toModulo._Ole_Objs(Z)._CheckSum == loOle._CheckSum AND NOT EMPTY( toModulo._Ole_Objs(Z)._Value ) - loOle._Value = toModulo._Ole_Objs(Z)._Value + IF toModulo._Ole_Objs(m.Z)._CheckSum == loOle._CheckSum AND NOT EMPTY( toModulo._Ole_Objs(m.Z)._Value ) + loOle._Value = toModulo._Ole_Objs(m.Z)._Value EXIT ENDIF ENDFOR @@ -9693,46 +9599,46 @@ 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 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) CASE UPPER( LEFT( tcLine, 17 ) ) == 'HIDDEN PROCEDURE ' *-- Estructura a reconocer: HIDDEN PROCEDURE nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 18 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) CASE UPPER( LEFT( tcLine, 10 ) ) == 'PROCEDURE ' *-- Estructura a reconocer: PROCEDURE [objeto.]nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 11 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) CASE UPPER( LEFT( tcLine, 19 ) ) == 'PROTECTED FUNCTION ' *-- Estructura a reconocer: PROTECTED PROCEDURE nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 20 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'protected', @toObjeto ) CASE UPPER( LEFT( tcLine, 16 ) ) == 'HIDDEN FUNCTION ' *-- Estructura a reconocer: HIDDEN FUNCTION nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 17 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'hidden', @toObjeto ) CASE UPPER( LEFT( tcLine, 9 ) ) == 'FUNCTION ' *-- Estructura a reconocer: FUNCTION [objeto.]nombre_del_procedimiento llBloqueEncontrado = .T. tcProcedureAbierto = ALLTRIM( SUBSTR( tcLine, 10 ) ) - .evaluateProcedureDefinition( @toClase, I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) + .evaluateProcedureDefinition( @toClase, m.I, @tc_Comentario, tcProcedureAbierto, 'normal', @toObjeto ) ENDCASE IF llBloqueEncontrado *-- Evalúo todo el contenido del PROCEDURE - .updateProgressbar( 'Analyzing Procedure ' + toClase._Nombre + '.' + tcProcedureAbierto + '...', I, tnCodeLines, 1 ) - .analyzeProcedureLines( @toClase, @toObjeto, @tcLine, @taCodeLines, @I, @tnCodeLines, @tcProcedureAbierto ; + .updateProgressbar( 'Analyzing Procedure ' + toClase._Nombre + '.' + tcProcedureAbierto + '...', m.I, tnCodeLines, 1 ) + .analyzeProcedureLines( @toClase, @toObjeto, @tcLine, @taCodeLines, @m.I, @tnCodeLines, @tcProcedureAbierto ; , @tc_Comentario, @taLineasExclusion, @tnBloquesExclusion ) ENDIF ENDWITH @@ -9779,8 +9685,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base , loProcedure AS CL_PROCEDURE OF 'FOXBIN2PRG.PRG' IF EMPTY(toClase._Fin_Cab) - toClase._Fin_Cab = I-1 - toClase._Ini_Cuerpo = I + toClase._Fin_Cab = m.I-1 + toClase._Ini_Cuerpo = m.I ENDIF loProcedure = NULL @@ -9788,7 +9694,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base loProcedure._Nombre = tcProcName loProcedure._ProcType = tcProcType loProcedure._Comentario = tc_Comentario - loProcedure._Inicio = I + loProcedure._Inicio = m.I *-- Anoto en HiddenMethods y ProtectedMethods según corresponda DO CASE @@ -9885,13 +9791,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Búsqueda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE) FOR I = 1 TO tnCodeLines STORE '' TO lc_Comentario - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE - CASE .excludedLine( I, tnBloquesExclusion, @taLineasExclusion ) ; + CASE .excludedLine( m.I, tnBloquesExclusion, @taLineasExclusion ) ; OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios - CASE .analyzeCodeBlock_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ; + CASE .analyzeCodeBlock_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @m.I, tnCodeLines ; , @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario, @toFoxBin2Prg ) *-- Puede haber varias clases definidas * llEXTERNAL_CLASS_Completed = .T. @@ -9971,27 +9877,27 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base *-- Búsqueda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE) FOR I = 1 TO tnCodeLines STORE '' TO lc_Comentario - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llEXTERNAL_CLASS_Completed AND .analyzeCodeBlock_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llEXTERNAL_CLASS_Completed AND .analyzeCodeBlock_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @m.I, tnCodeLines ) *-- Puede haber varias clases externas - CASE NOT llLIBCOMMENT_Completed AND .analyzeCodeBlock_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llLIBCOMMENT_Completed AND .analyzeCodeBlock_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llLIBCOMMENT_Completed = .T. llEXTERNAL_CLASS_Completed = .T. CASE NOT llOLE_DEF_Completed AND .analyzeCodeBlock_OLE_DEF( @toModulo, @lcLine, @taCodeLines ; - , @I, tnCodeLines, @lcProcedureAbierto ) + , @m.I, tnCodeLines, @lcProcedureAbierto ) *-- Puede haber varios objetos OLE CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analyzeCodeBlock_INCLUDE( @toModulo, @loClase, @lcLine ; - , @taCodeLines, @I, tnCodeLines, @lcProcedureAbierto ) + , @taCodeLines, @m.I, tnCodeLines, @lcProcedureAbierto ) * Específico para SCX que lo tiene al inicio llINCLUDE_SCX_Completed = .T. llEXTERNAL_CLASS_Completed = .T. @@ -10050,15 +9956,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lnItem = 0 FOR X = 1 TO toModulo._Clases_Count - IF LOWER( toModulo._Clases(X)._ObjName ) == LOWER( toModulo._ExternalClasses(I,1) ) - lnItem = X + IF LOWER( toModulo._Clases(m.X)._ObjName ) == LOWER( toModulo._ExternalClasses(m.I,1) ) + lnItem = m.X EXIT ENDIF ENDFOR IF lnItem = 0 THEN - lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toModulo._ExternalClasses(I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) - *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' + lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toModulo._ExternalClasses(m.I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) + *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(m.I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' ) ENDIF @@ -10071,15 +9977,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base lnItem = 0 FOR X = 1 TO toModulo._Clases_Count - IF LOWER( toModulo._Clases(X)._BaseClass + '.' + toModulo._Clases(X)._ObjName ) == LOWER( toModulo._ExternalClasses(I,2) ) - lnItem = X + IF LOWER( toModulo._Clases(m.X)._BaseClass + '.' + toModulo._Clases(m.X)._ObjName ) == LOWER( toModulo._ExternalClasses(m.I,2) ) + lnItem = m.X EXIT ENDIF ENDFOR IF lnItem = 0 THEN - lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toModulo._ExternalClasses(I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) - *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' + lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toModulo._ExternalClasses(m.I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) + *ERROR 'No se ha encontrado la clase externa [' + toModulo._ExternalClasses(m.I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' ) ENDIF @@ -10174,7 +10080,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin FOR I = 1 TO lnFileCount IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN - lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) + lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(m.I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) ) *-- Verificación de las Clases, si son Externas y se indicó chequearlas @@ -10185,7 +10091,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin LOOP && Salteo esta clase porque se indicó chequear y no concuerda con las anotadas ENDIF ELSE && toFoxBin2Prg.n_UseClassPerFile = 2 - lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) + lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(m.I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) + '.' + GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) ) *-- Verificación de las Clases, si son Externas y se indicó chequearlas @@ -10402,7 +10308,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin IF tlReplaceClass I = 1 - loClase = toModulo._Clases(I) + loClase = toModulo._Clases(m.I) LOCATE FOR PLATFORM == PADR('WINDOWS', FSIZE('PLATFORM')) AND LOWER(OBJNAME) == loClase._ObjName llReplace = FOUND() ENDIF @@ -10457,11 +10363,11 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin FOR X = 1 TO 2 FOR I = 1 TO toModulo._Clases_Count loClase = NULL - loClase = toModulo._Clases(I) + loClase = toModulo._Clases(m.I) *-- El dataenvironment debe estar primero, luego lo demás. - IF X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ; - OR X = 2 AND loClase._BaseClass == 'dataenvironment' + IF m.X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ; + OR m.X = 2 AND loClase._BaseClass == 'dataenvironment' LOOP ENDIF @@ -10676,7 +10582,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin FOR I = 1 TO lnFileCount IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN - lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) + lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(m.I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) ) *-- Verificación de las Clases, si son Externas y se indicó chequearlas @@ -10687,7 +10593,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin LOOP && Salteo esta clase ENDIF ELSE && toFoxBin2Prg.n_UseClassPerFile = 2 - lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) + lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(m.I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) + '.' + GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) ) *-- Verificación de las Clases, si son Externas y se indicó chequearlas @@ -10874,11 +10780,11 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin FOR X = 1 TO 2 FOR I = 1 TO toModulo._Clases_Count loClase = NULL - loClase = toModulo._Clases(I) + loClase = toModulo._Clases(m.I) *-- El dataenvironment debe estar primero, luego lo demás. - IF X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ; - OR X = 2 AND loClase._BaseClass == 'dataenvironment' + IF m.X = 1 AND NOT loClase._BaseClass == 'dataenvironment' ; + OR m.X = 2 AND loClase._BaseClass == 'dataenvironment' LOOP ENDIF @@ -10941,7 +10847,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin .insert_AllObjects( @loClase, @toFoxBin2Prg ) ENDFOR && I = 1 TO toModulo._Clases_Count - ENDFOR && X = 1 TO 2 + ENDFOR && m.X = 1 TO 2 *-- Inserto el COMMENT final INSERT INTO TABLABIN ; @@ -11293,37 +11199,37 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin *toProject._HomeDir = ADDBS(JUSTPATH(.c_OutputFile)) FOR I = 1 TO tnCodeLines - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llDevInfo_Completed AND .analyzeCodeBlock_DevInfo( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llDevInfo_Completed AND .analyzeCodeBlock_DevInfo( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llDevInfo_Completed = .T. - CASE NOT llServerHead_Completed AND .analyzeCodeBlock_ServerHead( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llServerHead_Completed AND .analyzeCodeBlock_ServerHead( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llServerHead_Completed = .T. - CASE .analyzeCodeBlock_ServerData( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE .analyzeCodeBlock_ServerData( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) *-- Puede haber varios servidores, por eso se siguen valuando - CASE NOT llBuildProj_Completed AND .analyzeCodeBlock_BuildProj( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llBuildProj_Completed AND .analyzeCodeBlock_BuildProj( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llBuildProj_Completed = .T. - CASE NOT llFileComments_Completed AND .analyzeCodeBlock_FileComments( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFileComments_Completed AND .analyzeCodeBlock_FileComments( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFileComments_Completed = .T. - CASE NOT llExcludedFiles_Completed AND .analyzeCodeBlock_ExcludedFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llExcludedFiles_Completed AND .analyzeCodeBlock_ExcludedFiles( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llExcludedFiles_Completed = .T. - CASE NOT llTextFiles_Completed AND .analyzeCodeBlock_TextFiles( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llTextFiles_Completed AND .analyzeCodeBlock_TextFiles( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llTextFiles_Completed = .T. - CASE NOT llProjectProperties_Completed AND .analyzeCodeBlock_ProjectProperties( toProject, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llProjectProperties_Completed AND .analyzeCodeBlock_ProjectProperties( toProject, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llProjectProperties_Completed = .T. ENDCASE @@ -11370,13 +11276,13 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin llBloqueEncontrado = .T. WITH THIS - FOR I = I + 1 TO tnCodeLines + FOR I = m.I + 1 TO tnCodeLines lcComment = '' - .set_Line( @tcLine, @taCodeLines, I ) + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE LEFT( tcLine, LEN(C_BUILDPROJ_F) ) == C_BUILDPROJ_F - I = I + 1 + I = m.I + 1 EXIT CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @lcComment ) @@ -11414,7 +11320,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11452,12 +11358,12 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin llBloqueEncontrado = .T. WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE LEFT( tcLine, LEN(C_DEVINFO_F) ) == C_DEVINFO_F - I = I + 1 + I = m.I + 1 EXIT CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) @@ -11469,7 +11375,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11507,15 +11413,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin loServerHead = toProject._ServerHead WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_SRV_HEAD_F) ) == C_SRV_HEAD_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -11524,7 +11430,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11568,15 +11474,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin loServerData = loServerHead.getServerDataObject() WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_SRV_DATA_F) ) == C_SRV_DATA_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -11586,7 +11492,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDWITH && THIS loServerHead.add_Server( loServerData ) - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11628,15 +11534,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin loFile = NULL WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_FILE_CMTS_F) ) == C_FILE_CMTS_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -11649,7 +11555,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11691,15 +11597,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin loFile = NULL WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_FILE_EXCL_F) ) == C_FILE_EXCL_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -11712,7 +11618,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11754,15 +11660,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin loFile = NULL WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_FILE_TXT_F) ) == C_FILE_TXT_F - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -11775,7 +11681,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11813,15 +11719,15 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin llBloqueEncontrado = .T. WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @tcLine ) LOOP && Saltear comentarios CASE LEFT( tcLine, LEN(C_PROJPROPS_F) ) == C_PROJPROPS_F - I = I + 1 + I = m.I + 1 EXIT CASE LEFT( tcLine ,2 ) == '*<' @@ -11842,7 +11748,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -11999,30 +11905,30 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin *-- Ajuste de los tipos de dato FOR I = 1 TO AMEMBERS(laProps, loReg, 0) - lnNumCampo = ASCAN( laFieldTypes, laProps(I), 1, -1, 1, 1+2+4+8 ) + lnNumCampo = ASCAN( laFieldTypes, laProps(m.I), 1, -1, 1, 1+2+4+8 ) IF lnNumCampo = 0 - *ERROR 'No se encontró el campo [' + laProps(I) + '] en la estructura del archivo ' + DBF("TABLABIN") + *ERROR 'No se encontró el campo [' + laProps(m.I) + '] en la estructura del archivo ' + DBF("TABLABIN") ERROR (TEXTMERGE(loLang.C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC)) ENDIF lcFieldType = laFieldTypes(lnNumCampo,2) lnFieldLen = laFieldTypes(lnNumCampo,3) lnFieldDec = laFieldTypes(lnNumCampo,4) - luValor = EVALUATE('loReg.' + laProps(I)) + luValor = EVALUATE('loReg.' + laProps(m.I)) DO CASE CASE INLIST(lcFieldType, 'B') && Double - ADDPROPERTY( loReg, laProps(I), CAST( luValor AS &lcFieldType. (lnFieldPrec) ) ) + ADDPROPERTY( loReg, laProps(m.I), CAST( luValor AS &lcFieldType. (lnFieldPrec) ) ) CASE INLIST(lcFieldType, 'F', 'N', 'Y') && Float, Numeric, Currency - ADDPROPERTY( loReg, laProps(I), CAST( luValor AS &lcFieldType. (lnFieldLen, lnFieldDec) ) ) + ADDPROPERTY( loReg, laProps(m.I), CAST( luValor AS &lcFieldType. (lnFieldLen, lnFieldDec) ) ) CASE INLIST(lcFieldType, 'W', 'G', 'M', 'Q', 'V', 'C') && Blob, General, Memo, Varbinary, Varchar, Character - ADDPROPERTY( loReg, laProps(I), luValor ) + ADDPROPERTY( loReg, laProps(m.I), luValor ) OTHERWISE && Demás tipos - ADDPROPERTY( loReg, laProps(I), CAST( luValor AS &lcFieldType. (lnFieldLen) ) ) + ADDPROPERTY( loReg, laProps(m.I), CAST( luValor AS &lcFieldType. (lnFieldLen) ) ) ENDCASE @@ -12094,16 +12000,16 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin toReport = CREATEOBJECT('CL_REPORT') FOR I = 1 TO tnCodeLines - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toReport, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE .analyzeCodeBlock_Reportes( toReport, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE .analyzeCodeBlock_Reportes( toReport, @lcLine, @taCodeLines, @m.I, tnCodeLines ) ENDCASE ENDFOR @@ -12150,8 +12056,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin lcValue = STREXTRACT( tcLine, C_DATA_I ) *-- Recorro las fracciones del valor - FOR I = I + 1 TO tnCodeLines - tcLine = taCodeLines(I) + FOR I = m.I + 1 TO tnCodeLines + tcLine = taCodeLines(m.I) IF C_DATA_F $ tcLine && Fin del valor lcValue = lcValue + CR_LF + STREXTRACT( tcLine, '', C_DATA_F ) @@ -12211,19 +12117,19 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin tcLine = ' ' + tcLine FOR X = 1 TO AMEMBERS( laProps, toReg, 0 ) - laProps(X) = ' ' + laProps(X) - lnPos = AT( LOWER(laProps(X)) + '="', tcLine ) + laProps(m.X) = ' ' + laProps(m.X) + lnPos = AT( LOWER(laProps(m.X)) + '="', tcLine ) IF lnPos > 0 - lnLenPropName = LEN(laProps(X)) + lnLenPropName = LEN(laProps(m.X)) lnPos2 = AT( '"', SUBSTR( tcLine, lnPos + lnLenPropName + 2 ) ) lcValue = SUBSTR( tcLine, lnPos + lnLenPropName + 2, lnPos2 - 1 ) - IF laProps(X) == ' NAME' AND NOT EMPTY(lcValue) + IF laProps(m.X) == ' NAME' AND NOT EMPTY(lcValue) lcValue = THIS.denormalizeXMLValue(lcValue) ENDIF - ADDPROPERTY( toReg, laProps(X), lcValue ) + ADDPROPERTY( toReg, laProps(m.X), lcValue ) ENDIF ENDFOR @@ -12268,20 +12174,20 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin WITH THIS AS c_conversor_prg_a_frx OF 'FOXBIN2PRG.PRG' SCATTER MEMO BLANK NAME loReg - FOR I = I + 1 TO tnCodeLines + FOR I = m.I + 1 TO tnCodeLines lcComment = '' - .set_Line( @tcLine, @taCodeLines, I ) + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE LEFT( tcLine, LEN(C_TAG_REPORTE_F) ) == C_TAG_REPORTE_F - I = I + 1 + I = m.I + 1 EXIT - CASE .analyzeCodeBlock_platform( toReport, @tcLine, @taCodeLines, @I, @tnCodeLines, @loReg ) + CASE .analyzeCodeBlock_platform( toReport, @tcLine, @taCodeLines, @m.I, @tnCodeLines, @loReg ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'picture' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'picture' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'tag' ) *-- ARREGLO ALGUNOS VALORES CAMBIADOS AL TEXTUALIZAR DO CASE CASE loReg.ObjType == "1" @@ -12292,30 +12198,30 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin loReg.TAG = .decode_SpecialCodes_1_31( loReg.TAG ) ENDCASE - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag2' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.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 .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'penred' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'penred' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'style' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'style' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'expr' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'expr' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'supexpr' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'supexpr' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'comment' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'comment' ) - CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'user' ) + CASE .analyzeCodeBlock_CDATA_inline( toReport, @tcLine, @taCodeLines, @m.I, tnCodeLines, @loReg, 'user' ) ENDCASE ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 toReport.ADD( loReg ) ENDIF @@ -12442,7 +12348,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin IF llImportData AND lnCodeLines > 1 AND toTable._I > 1 THEN *-- Identifico los registros de la tabla y los agrego I = toTable._I - 1 - toTable.analyzeCodeBlock( C_TABLE_I, @laCodeLines, @I, lnCodeLines, @toFoxBin2Prg ) + toTable.analyzeCodeBlock( C_TABLE_I, @laCodeLines, @m.I, lnCodeLines, @toFoxBin2Prg ) ENDIF IF NOT EMPTY(lcAlterTable) @@ -12735,16 +12641,16 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin toTable = CREATEOBJECT('CL_DBF_TABLE') FOR I = 1 TO tnCodeLines - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toTable, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toTable, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueTable_Completed AND toTable.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llBloqueTable_Completed AND toTable.analyzeCodeBlock( @lcLine, @taCodeLines, @m.I, tnCodeLines ) llBloqueTable_Completed = .T. EXIT @@ -12826,10 +12732,10 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin *-- Quito la última parte del cierre de para anexar lo intermedio FOR X = 1 TO lnCodeLines - IF C_DATABASE_F $ laCodeLines(X) THEN + IF C_DATABASE_F $ laCodeLines(m.X) THEN EXIT ENDIF - C_FB2PRG_CODE = C_FB2PRG_CODE + laCodeLines(X) + CR_LF + C_FB2PRG_CODE = C_FB2PRG_CODE + laCodeLines(m.X) + CR_LF ENDFOR .updateProgressbar( 'Identifying Header Blocks...', 1, lnCodeLines, 1 ) @@ -12845,8 +12751,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin *-- Busco "storedprocedures" y le pongo "z" al inicio FOR I = 1 TO lnFileCount - IF LOWER( laFiles(I,1)) == lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN - laFiles(I,1) = lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile) + IF LOWER( laFiles(m.I,1)) == lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN + laFiles(m.I,1) = lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile) EXIT ENDIF ENDFOR @@ -12855,14 +12761,14 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin *-- Busco "zstoredprocedures" y le quito la "z" del inicio FOR I = 1 TO lnFileCount - IF LOWER( laFiles(I,1)) == lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN - laFiles(I,1) = lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile) + IF LOWER( laFiles(m.I,1)) == lcBaseFilename + '.zdatabase.storedproceduressource.' + JUSTEXT(.c_InputFile) THEN + laFiles(m.I,1) = lcBaseFilename + '.database.storedproceduressource.' + JUSTEXT(.c_InputFile) EXIT ENDIF ENDFOR FOR I = 1 TO lnFileCount - lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) + lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(m.I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile ) lcMemberType = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) ) lcMemberName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) ) @@ -12918,7 +12824,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin lcTempTxt = FILETOSTR( lcInputFile_Class ) FOR Y = 7 TO ALINES( laLines, lcTempTxt ) - C_FB2PRG_CODE = C_FB2PRG_CODE + laLines(Y) + CR_LF + C_FB2PRG_CODE = C_FB2PRG_CODE + laLines(m.Y) + CR_LF ENDFOR lcLastMemberType = lcMemberType @@ -12949,8 +12855,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin ENDIF *-- Agrego la última parte con el cierre de - FOR X = X TO lnCodeLines - C_FB2PRG_CODE = C_FB2PRG_CODE + laCodeLines(X) + CR_LF + FOR X = m.X TO lnCodeLines + C_FB2PRG_CODE = C_FB2PRG_CODE + laCodeLines(m.X) + CR_LF ENDFOR lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE ) @@ -13127,16 +13033,16 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin *-- Búsqueda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE) FOR I = 1 TO tnCodeLines STORE '' TO lc_Comentario - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( @toDatabase, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llEXTERNAL_MEMBER_Completed AND .analyzeCodeBlock_EXTERNAL_MEMBER( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llEXTERNAL_MEMBER_Completed AND .analyzeCodeBlock_EXTERNAL_MEMBER( @toDatabase, @lcLine, @taCodeLines, @m.I, tnCodeLines ) *-- Puede haber varias clases externas ENDCASE @@ -13197,16 +13103,16 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin IF tnCodeLines > 1 FOR I = 1 TO tnCodeLines - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toDatabase, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueDatabase_Completed AND toDatabase.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines, @toFoxBin2Prg ) + CASE NOT llBloqueDatabase_Completed AND toDatabase.analyzeCodeBlock( @lcLine, @taCodeLines, @m.I, tnCodeLines, @toFoxBin2Prg ) llBloqueDatabase_Completed = .T. ENDCASE @@ -13258,15 +13164,15 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin lnItem = 0 FOR X = 1 TO toDatabase._Members_Count - IF LOWER( toDatabase._Members(X,1) ) == LOWER( toDatabase._ExternalClasses(I,1) ) - lnItem = X + IF LOWER( toDatabase._Members(m.X,1) ) == LOWER( toDatabase._ExternalClasses(m.I,1) ) + lnItem = m.X EXIT ENDIF ENDFOR IF lnItem = 0 THEN - lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toDatabase._ExternalClasses(I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) - *ERROR 'No se ha encontrado la clase externa [' + toDatabase._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' + lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toDatabase._ExternalClasses(m.I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) ) + *ERROR 'No se ha encontrado la clase externa [' + toDatabase._ExternalClasses(m.I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']' ERROR ( loLang.C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' ) ENDIF @@ -13406,16 +13312,16 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin toMenu = CREATEOBJECT('CL_MENU') FOR I = 1 TO tnCodeLines - .set_Line( @lcLine, @taCodeLines, I ) + .set_Line( @lcLine, @taCodeLines, m.I ) DO CASE CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Vacía o solo Comentarios LOOP - CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toMenu, @lcLine, @taCodeLines, @I, tnCodeLines ) + CASE NOT llFoxBin2Prg_Completed AND .analyzeCodeBlock_FoxBin2Prg( toMenu, @lcLine, @taCodeLines, @m.I, tnCodeLines ) llFoxBin2Prg_Completed = .T. - CASE NOT llBloqueMenu_Completed AND toMenu.analyzeCodeBlock( @lcLine, @taCodeLines, @I, tnCodeLines, THIS ) + CASE NOT llBloqueMenu_Completed AND toMenu.analyzeCodeBlock( @lcLine, @taCodeLines, @m.I, tnCodeLines, THIS ) llBloqueMenu_Completed = .T. ENDCASE @@ -13583,12 +13489,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base FOR I = 1 TO tnProtected_Count DO CASE - CASE EMPTY( taProtected(I) ) + CASE EMPTY( taProtected(m.I) ) LOOP - CASE RIGHT( taProtected(I), 1 ) == '^' + CASE RIGHT( taProtected(m.I), 1 ) == '^' *-- Hidden Property or method - lcProp = CHRTRAN( taProtected(I), '^', '' ) + lcProp = CHRTRAN( taProtected(m.I), '^', '' ) IF ASCAN(taPropsAndComments, '*' + lcProp, 1, 0, 1, 1+2+4) > 0 LOOP && method ENDIF @@ -13596,10 +13502,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base OTHERWISE *-- Protected Property or method - IF ASCAN(taPropsAndComments, '*' + taProtected(I), 1, 0, 1, 1+2+4) > 0 + IF ASCAN(taPropsAndComments, '*' + taProtected(m.I), 1, 0, 1, 1+2+4) > 0 LOOP && method ENDIF - tcProtectedProp = tcProtectedProp + ',' + taProtected(I) + tcProtectedProp = tcProtectedProp + ',' + taProtected(m.I) ENDCASE ENDFOR @@ -13632,29 +13538,29 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- o si son de la clase. IF tnMethodCount - lnMethodCount > 0 THEN FOR I = lnMethodCount + 1 TO tnMethodCount - IF taMethods(I,2) = 0 + IF taMethods(m.I,2) = 0 LOOP ENDIF IF EMPTY(toRegObj.PARENT) - lcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1) + lcMethodName = toRegObj.OBJNAME + '.' + taMethods(m.I,1) ELSE DO CASE CASE '.' $ toRegObj.PARENT - lcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1) + lcMethodName = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT) + 1) + '.' + toRegObj.OBJNAME + '.' + taMethods(m.I,1) CASE LOWER( LEFT(toRegObj.PARENT + '.', LEN( toRegClass.OBJNAME + '.' ) ) ) == LOWER( toRegClass.OBJNAME + '.' ) - lcMethodName = toRegObj.OBJNAME + '.' + taMethods(I,1) + lcMethodName = toRegObj.OBJNAME + '.' + taMethods(m.I,1) OTHERWISE - lcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + taMethods(I,1) + lcMethodName = toRegObj.PARENT + '.' + toRegObj.OBJNAME + '.' + taMethods(m.I,1) ENDCASE ENDIF *-- Genero el método SIN indentar, ya que se hace luego - taCode(taMethods(I,2)) = 'PROCEDURE ' + lcMethodName + CR_LF + .indentMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' - taMethods(I,1) = lcMethodName + taCode(taMethods(m.I,2)) = 'PROCEDURE ' + lcMethodName + CR_LF + .indentMemo( taCode(taMethods(m.I,2)) ) + CR_LF + 'ENDPROC' + taMethods(m.I,1) = lcMethodName ENDFOR ENDIF ENDWITH && THIS @@ -13690,11 +13596,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF tnMethodCount > 0 THEN WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG' FOR I = 1 TO tnMethodCount - lcMethodName = CHRTRAN( taMethods(I,1), '^', '' ) - lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1+2+4) + lcMethodName = CHRTRAN( taMethods(m.I,1), '^', '' ) + lnProtectedItem = ASCAN( taProtected, taMethods(m.I,1), 1, 0, 0, 1+2+4) IF lnProtectedItem = 0 - lnProtectedItem = ASCAN( taProtected, taMethods(I,1) + '^', 1, 0, 0, 1+2+4) + lnProtectedItem = ASCAN( taProtected, taMethods(m.I,1) + '^', 1, 0, 0, 1+2+4) IF lnProtectedItem = 0 *-- Método común @@ -13711,7 +13617,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethodName, 1, 0, 1, 1+2+4+8) *-- Nombre del método - lcMethod = lcProcDef + ' ' + taMethods(I,1) + lcMethod = lcProcDef + ' ' + taMethods(m.I,1) *-- Comentarios del método (si tiene) IF lnCommentRow > 0 AND NOT EMPTY(taPropsAndComments(lnCommentRow,2)) @@ -13719,13 +13625,13 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF *-- Código del método - IF taMethods(I,2) > 0 THEN - taCode(taMethods(I,2)) = lcMethod + CR_LF + .indentMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC' + IF taMethods(m.I,2) > 0 THEN + taCode(taMethods(m.I,2)) = lcMethod + CR_LF + .indentMemo( taCode(taMethods(m.I,2)) ) + CR_LF + 'ENDPROC' ELSE lnLen = ALEN(taCode,1) + 1 DIMENSION taCode( lnLen ) taCode( lnLen ) = lcMethod + CR_LF + 'ENDPROC' - taMethods(I,2) = lnLen + taMethods(m.I,2) = lnLen ENDIF ENDFOR ENDWITH && THIS @@ -13760,7 +13666,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base INTO ARRAY ta_NombresObjsOle FOR I = 1 TO _TALLY - ta_NombresObjsOle(I) = ALLTRIM( ta_NombresObjsOle(I) ) + ta_NombresObjsOle(m.I) = ALLTRIM( ta_NombresObjsOle(m.I) ) ENDFOR RETURN @@ -13795,14 +13701,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base DIMENSION taPropsAndComments(tnPropsAndComments_Count,2) FOR I = 1 TO tnPropsAndComments_Count - lnPos = AT(' ', laLines(I)) && Un espacio separa la propiedad de su comentario (si tiene) + lnPos = AT(' ', laLines(m.I)) && Un espacio separa la propiedad de su comentario (si tiene) IF lnPos = 0 - taPropsAndComments(I,1) = LOWER( laLines(I) ) - taPropsAndComments(I,2) = '' + taPropsAndComments(m.I,1) = LOWER( laLines(m.I) ) + taPropsAndComments(m.I,2) = '' ELSE - taPropsAndComments(I,1) = LOWER( LEFT( laLines(I), lnPos - 1 ) ) - taPropsAndComments(I,2) = SUBSTR( laLines(I), lnPos + 1 ) + taPropsAndComments(m.I,1) = LOWER( LEFT( laLines(m.I), lnPos - 1 ) ) + taPropsAndComments(m.I,2) = SUBSTR( laLines(m.I), lnPos + 1 ) ENDIF ENDFOR @@ -13871,22 +13777,22 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- 1) OBTENCIÓN Y SEPARACIÓN DE PROPIEDADES Y VALORES *-- Crear un array con los valores especiales que pueden estar repartidos entre varias lineas FOR I = 1 TO m.lnItemCount - IF EMPTY( laItems(I) ) + IF EMPTY( laItems(m.I) ) LOOP ENDIF - IF C_MPROPHEADER $ laItems(I) + IF C_MPROPHEADER $ laItems(m.I) *-- Solo entrará por aquí cuando se evalúe una propiedad de PROPERTIES con un valor especial (largo) lnLenAcum = 0 - lnPosEQ = AT( '=', laItems(I) ) - lcPropName = lcLastIncompletePropName + LEFT( laItems(I), lnPosEQ - 2 ) - lnLenVal = INT( VAL( SUBSTR( laItems(I), lnPosEQ + 2 + 517, 8) ) ) - lcValue = SUBSTR( laItems(I), lnPosEQ + 2 + 517 + 8 ) + lnPosEQ = AT( '=', laItems(m.I) ) + lcPropName = lcLastIncompletePropName + LEFT( laItems(m.I), lnPosEQ - 2 ) + lnLenVal = INT( VAL( SUBSTR( laItems(m.I), lnPosEQ + 2 + 517, 8) ) ) + lcValue = SUBSTR( laItems(m.I), lnPosEQ + 2 + 517 + 8 ) IF LEN( lcValue ) < lnLenVal *-- Como el valor es multi-línea, debo agregarle los CR_LF que le quitó el ALINES() - FOR I = I + 1 TO m.lnItemCount - lcValue = lcValue + CR_LF + laItems(I) + FOR I = m.I + 1 TO m.lnItemCount + lcValue = lcValue + CR_LF + laItems(m.I) IF LEN( lcValue ) >= lnLenVal EXIT @@ -13899,14 +13805,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF *-- Es un valor especial, por lo que se encapsula en un marcador especial - X = X + 1 - DIMENSION taPropsAndValues(X,2) - taPropsAndValues(X,1) = lcPropName - taPropsAndValues(X,2) = .normalizePropertyValue( lcPropName, lcValue, '' ) + X = m.X + 1 + DIMENSION taPropsAndValues(m.X,2) + taPropsAndValues(m.X,1) = lcPropName + taPropsAndValues(m.X,2) = .normalizePropertyValue( lcPropName, lcValue, '' ) ELSE *-- Propiedad normal - lnPosEQ = AT( '=', laItems(I) ) + lnPosEQ = AT( '=', laItems(m.I) ) IF lnPosEQ = 0 THEN *-- AUTOFIX DE PROPIEDAD PARTIDA: @@ -13919,27 +13825,27 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base * command2.Caption = "Command2" * *-- Solución: Guardar esta parte del nombre y agregarlo a la próxima propiedad. - lcLastIncompletePropName = laItems(I) + lcLastIncompletePropName = laItems(m.I) LOOP ENDIF * Skip ZOrderSet property if configured to - IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + lcLastIncompletePropName + LEFT( laItems(I), lnPosEQ - 2 ) + '.' ) > 0 THEN + IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + lcLastIncompletePropName + LEFT( laItems(m.I), lnPosEQ - 2 ) + '.' ) > 0 THEN lcLastIncompletePropName = '' LOOP ENDIF - X = X + 1 - DIMENSION taPropsAndValues(X,2) - taPropsAndValues(X,1) = lcLastIncompletePropName + LEFT( laItems(I), lnPosEQ - 2 ) - taPropsAndValues(X,2) = .normalizePropertyValue( taPropsAndValues(X,1), LTRIM( SUBSTR( laItems(I), lnPosEQ + 2 ) ), '' ) + X = m.X + 1 + DIMENSION taPropsAndValues(m.X,2) + taPropsAndValues(m.X,1) = lcLastIncompletePropName + LEFT( laItems(m.I), lnPosEQ - 2 ) + taPropsAndValues(m.X,2) = .normalizePropertyValue( taPropsAndValues(m.X,1), LTRIM( SUBSTR( laItems(m.I), lnPosEQ + 2 ) ), '' ) ENDIF lcLastIncompletePropName = '' ENDFOR - tnPropsAndValues_Count = X + tnPropsAndValues_Count = m.X lcMethods = '' @@ -13949,7 +13855,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Agregar propiedades primero FOR I = 1 TO m.tnPropsAndValues_Count - tcSortedMemo = m.tcSortedMemo + m.taPropsAndValues(I,1) + ' = ' + m.taPropsAndValues(I,2) + CR_LF + tcSortedMemo = m.tcSortedMemo + m.taPropsAndValues(m.I,1) + ' = ' + m.taPropsAndValues(m.I,2) + CR_LF ENDFOR *-- Agregar métodos al final @@ -14003,11 +13909,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base FOR I = tnProtected_Count TO 1 STEP -1 *-- El ASCAN es para evitar valores repetidos, que se eliminarán. v1.19.29 - taProtected(I) = taProtected(I) - IF ASCAN( taProtected, taProtected(I), 1, -1, 0, 1+2+4 ) = I - tcSortedMemo = tcSortedMemo + taProtected(I) + CR_LF + taProtected(m.I) = taProtected(m.I) + IF ASCAN( taProtected, taProtected(m.I), 1, -1, 0, 1+2+4 ) = m.I + tcSortedMemo = tcSortedMemo + taProtected(m.I) + CR_LF ELSE - ADEL( taProtected, I ) + ADEL( taProtected, m.I ) tnProtected_Count = tnProtected_Count - 1 ENDIF ENDFOR @@ -14049,7 +13955,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF ELSE * No Existe: se agrega al array - loObjs.Add( '', lcParentObjName ) + IF NOT EMPTY(lcParentObjName) AND loObjs.GetKey(lcParentObjName) = 0 + loObjs.Add( '', lcParentObjName ) + ENDIF ENDIF ENDSCAN @@ -14082,18 +13990,18 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Quito las líneas en blanco luego del final del ENDPROC X = 0 FOR I = lnFin TO 1 STEP -1 - IF NOT EMPTY(laLineas(I)) && Última línea de código - IF llProcedure AND LEFT( CHRTRAN(laLineas(I), C_TAB, ' ') + ' ', 8 ) <> C_ENDPROC + ' ' THEN + IF NOT EMPTY(laLineas(m.I)) && Última línea de código + IF llProcedure AND LEFT( CHRTRAN(laLineas(m.I), C_TAB, ' ') + ' ', 8 ) <> C_ENDPROC + ' ' THEN *ERROR 'Procedimiento sin cerrar. La última línea de código debe ser ENDPROC. [' + laLineas(1) + ']' ERROR (TEXTMERGE(loLang.C_PROCEDURE_NOT_CLOSED_ON_LINE_LOC)) ENDIF EXIT ENDIF - X = X + 1 + X = m.X + 1 ENDFOR - IF X > 0 - lnFin = lnFin - X + IF m.X > 0 + lnFin = lnFin - m.X DIMENSION laLineas(lnFin) ENDIF @@ -14104,7 +14012,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base FOR I = lnInicio + lnOffset TO lnFin - lnOffset *-- TEXT/ENDTEXT aquí da error 2044 de recursividad. No usar. - lcMethod = lcMethod + CR_LF + tcIndentation + laLineas(I) + lcMethod = lcMethod + CR_LF + tcIndentation + laLineas(m.I) ENDFOR IF llProcedure AND tlKeepProcHeader @@ -14139,7 +14047,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base IF NOT EMPTY(tcMethod) FOR I = 1 TO ALINES(laLines, m.tcMethod, 0) - lcLine = lcLine + ', ' + laLines(I) + lcLine = lcLine + ', ' + laLines(m.I) ENDFOR lcLine = SUBSTR(lcLine, 3) @@ -14177,7 +14085,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDIF FOR I = 1 TO tnPropCount - lcLine = lcLine + tcLeftIndentation + taPropsAndValues(I,1) + ' = ' + taPropsAndValues(I,2) + lcFinDeLinea + lcLine = lcLine + tcLeftIndentation + taPropsAndValues(m.I,1) + ' = ' + taPropsAndValues(m.I,2) + lcFinDeLinea ENDFOR *-- Quito el ", ;" final @@ -14234,17 +14142,17 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ALINES(laCodeLines, lcMethods) FOR I = .n_Methods_LineNo TO 1 STEP -1 - lcLine = LTRIM( laCodeLines(I), 0, ' ', CHR(9) ) + lcLine = LTRIM( laCodeLines(m.I), 0, ' ', CHR(9) ) DO CASE CASE LEFT(lcLine, 10) == 'PROCEDURE ' lcMethod = ALLTRIM( SUBSTR( lcLine, 11) ) - lnErrorLine = .n_Methods_LineNo - I + lnErrorLine = .n_Methods_LineNo - m.I EXIT CASE LEFT(lcLine, 9) == 'FUNCTION ' lcMethod = ALLTRIM( SUBSTR( lcLine, 10) ) - lnErrorLine = .n_Methods_LineNo - I + lnErrorLine = .n_Methods_LineNo - m.I EXIT ENDCASE @@ -14305,24 +14213,24 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base lnDeleted = 0 FOR I = tnMethodCount TO 1 STEP -1 - IF taMethods(I,2) > 0 THEN - IF '.' $ taMethods(I,1) + IF taMethods(m.I,2) > 0 THEN + IF '.' $ taMethods(m.I,1) *-- Los métodos con '.' los mando a otro array lnDeleted = lnDeleted + 1 - laMethods(lnDeleted,1) = taMethods(I,1) - laMethods(lnDeleted,2) = taMethods(I,2) - laMethods(lnDeleted,3) = taMethods(I,3) - ADEL( taMethods, I ) + laMethods(lnDeleted,1) = taMethods(m.I,1) + laMethods(lnDeleted,2) = taMethods(m.I,2) + laMethods(lnDeleted,3) = taMethods(m.I,3) + ADEL( taMethods, m.I ) ENDIF ENDIF ENDFOR FOR I = lnDeleted TO 1 STEP -1 *-- Los métodos con '.' los paso al final - I2 = tnMethodCount - lnDeleted + (lnDeleted - I) + 1 - taMethods(I2,1) = laMethods(I,1) - taMethods(I2,2) = laMethods(I,2) - taMethods(I2,3) = laMethods(I,3) + I2 = tnMethodCount - lnDeleted + (lnDeleted - m.I) + 1 + taMethods(I2,1) = laMethods(m.I,1) + taMethods(I2,2) = laMethods(m.I,2) + taMethods(I2,3) = laMethods(m.I,3) ENDFOR ENDIF @@ -14383,14 +14291,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Delete beginning empty lines before first "PROCEDURE", that is the first not empty line. FOR I = 1 TO lnLineCount - IF EMPTY(laLine(I)) OR LEFT( LTRIM(laLine(I)),1 ) = '*' + IF EMPTY(laLine(m.I)) OR LEFT( LTRIM(laLine(m.I)),1 ) = '*' *-- Skip empty and commented lines ELSE - IF I > 1 - FOR X = I-1 TO 1 STEP -1 - ADEL(laLine, X) + IF m.I > 1 + FOR X = m.I-1 TO 1 STEP -1 + ADEL(laLine, m.X) ENDFOR - lnLineCount = lnLineCount - I + 1 + lnLineCount = lnLineCount - m.I + 1 DIMENSION laLine(lnLineCount) ENDIF EXIT @@ -14399,11 +14307,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Delete ending empty lines after last "ENDPROC", that is the last not empty line. FOR I = lnLineCount TO 1 STEP -1 - IF EMPTY(laLine(I)) OR LEFT( LTRIM(laLine(I)),1 ) = '*' - ADEL(laLine, I) + IF EMPTY(laLine(m.I)) OR LEFT( LTRIM(laLine(m.I)),1 ) = '*' + ADEL(laLine, m.I) ELSE - IF I < lnLineCount - lnLineCount = I + IF m.I < lnLineCount + lnLineCount = m.I DIMENSION laLine(lnLineCount) ENDIF EXIT @@ -14416,25 +14324,25 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Analyze and count line methods, get method names and consolidate block code FOR I = 1 TO lnLineCount IF toFoxBin2Prg.l_RemoveNullCharsFromCode - laLine(I) = CHRTRAN( laLine(I), C_NULL_CHAR, '' ) + laLine(m.I) = CHRTRAN( laLine(m.I), C_NULL_CHAR, '' ) ENDIF - lnLine_Len = LEN( laLine(I) ) + lnLine_Len = LEN( laLine(m.I) ) lcLastLine = lcLine - toFoxBin2Prg.set_Line( @lcLine, @laLine, I ) + toFoxBin2Prg.set_Line( @lcLine, @laLine, m.I ) .get_SeparatedLineAndComment( @lcLine ) DO CASE - CASE laLineasExclusion(I) + CASE laLineasExclusion(m.I) IF tnMethodCount > 0 AND llProcOpen - taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF + taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(m.I) + CR_LF ELSE *-- Invalid method code, as outer code added for tools like ReFox or others, is cleaned up ENDIF CASE RIGHT(lcLastLine,1) == ';' *-- Saltear el análisis de esta línea, que es continuación de la anterior (lcLastLine). - taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF + taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(m.I) + CR_LF LOOP CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 10) ) == 'PROCEDURE ' @@ -14443,7 +14351,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 11) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = '' - taCode(tnMethodCount) = 'PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 9) ) == 'FUNCTION ' && NOT VALID WITH VFP IDE, BUT 3rd. PARTY SOFTWARE CAN USE IT @@ -14452,7 +14360,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 10) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = '' - taCode(tnMethodCount) = 'PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 17) ) == 'HIDDEN PROCEDURE ' @@ -14461,7 +14369,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 18) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = 'HIDDEN ' - taCode(tnMethodCount) = 'HIDDEN PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'HIDDEN PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 16) ) == 'HIDDEN FUNCTION ' && NOT VALID WITH VFP IDE, BUT 3rd. PARTY SOFTWARE CAN USE IT @@ -14470,7 +14378,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 17) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = 'HIDDEN ' - taCode(tnMethodCount) = 'HIDDEN PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'HIDDEN PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 20) ) == 'PROTECTED PROCEDURE ' @@ -14479,7 +14387,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 21) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = 'PROTECTED ' - taCode(tnMethodCount) = 'PROTECTED PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'PROTECTED PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 19) ) == 'PROTECTED FUNCTION ' && NOT VALID WITH VFP IDE, BUT 3rd. PARTY SOFTWARE CAN USE IT @@ -14488,7 +14396,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(lcLine, 20) ) taMethods(tnMethodCount, 2) = tnMethodCount taMethods(tnMethodCount, 3) = 'PROTECTED ' - taCode(tnMethodCount) = 'PROTECTED PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(I) + CR_LF + taCode(tnMethodCount) = 'PROTECTED PROCEDURE ' + taMethods(tnMethodCount, 1) + CR_LF && laLine(m.I) + CR_LF llProcOpen = .T. CASE lnTextNodes = 0 AND LEFT(lcLine, 7) == 'ENDPROC' @@ -14507,8 +14415,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taCode(tnMethodCount) = taCode(tnMethodCount) + lcLine &&+ CR_LF llProcOpen = .F. - CASE lnTextNodes = 0 AND LEFT(laLine(I), 7) == 'ENDFUNC' && NOT VALID WITH VFP IDE, BUT 3rd. PARTY SOFTWARE CAN USE IT - IF lnLine_Len >= 7 AND LEFT( UPPER( CHRTRAN( laLine(I) , '&'+CHR(9)+CHR(0), ' ') ) + ' ' ,8) == 'ENDFUNC ' + CASE lnTextNodes = 0 AND LEFT(laLine(m.I), 7) == 'ENDFUNC' && NOT VALID WITH VFP IDE, BUT 3rd. PARTY SOFTWARE CAN USE IT + IF lnLine_Len >= 7 AND LEFT( UPPER( CHRTRAN( laLine(m.I) , '&'+CHR(9)+CHR(0), ' ') ) + ' ' ,8) == 'ENDFUNC ' *-- Es el final de estructura ENDPROC IF NOT llProcOpen *-- Esto no es normal, porque hay más de un ENDFUNC, por lo que se ignora. @@ -14524,21 +14432,21 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base taCode(tnMethodCount) = taCode(tnMethodCount) + lcLine &&+ CR_LF llProcOpen = .F. - *CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(I)),1 ) = '*' + *CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(m.I)),1 ) = '*' CASE tnMethodCount = 0 OR NOT llProcOpen *-- Skip empty and commented lines before methods begin - *-- Aquí como condición podría poner: NOT llProcOpen AND LEFT(laLine(I), 7) # 'ENDPROC', pero abarcaría demasiado. + *-- Aquí como condición podría poner: NOT llProcOpen AND LEFT(laLine(m.I), 7) # 'ENDPROC', pero abarcaría demasiado. OTHERWISE && Method Code - taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF + taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(m.I) + CR_LF ENDCASE ENDFOR *-- Agrego los métodos definidos, pero sin código (Protected/Reserved3) FOR I = 1 TO tnPropsAndComments_Count - lcMethod = CHRTRAN( taPropsAndComments(I,1), '*', '' ) - IF LEFT( taPropsAndComments(I,1), 1 ) == '*' AND ASCAN( taMethods, lcMethod, 1, 0, 1, 1+2+4+8 ) = 0 + lcMethod = CHRTRAN( taPropsAndComments(m.I,1), '*', '' ) + IF LEFT( taPropsAndComments(m.I,1), 1 ) == '*' AND ASCAN( taMethods, lcMethod, 1, 0, 1, 1+2+4+8 ) = 0 tnMethodCount = tnMethodCount + 1 DIMENSION taMethods(tnMethodCount, 3) &&, taCode(tnMethodCount) taMethods(tnMethodCount, 1) = lcMethod @@ -14691,11 +14599,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base FOR I = 1 TO tnMethodCount *-- Genero los métodos indentados *-- Sustituyo el TEXT/ENDTEXT aquí porque a veces quita espacios de la derecha, y eso es peligroso - IF taMethods(I,2) = 0 + IF taMethods(m.I,2) = 0 LOOP ENDIF - lcMethods = lcMethods + CR_LF + .indentMemo( taCode(taMethods(I,2)), CHR(9) + CHR(9), .T. ) + CR_LF + lcMethods = lcMethods + CR_LF + .indentMemo( taCode(taMethods(m.I,2)), CHR(9) + CHR(9), .T. ) + CR_LF ENDFOR ENDWITH && THIS @@ -14738,10 +14646,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base *-- Escribo las propiedades de la clase y sus comentarios (los comentarios aquí son redundantes) FOR I = 1 TO tnPropsAndValues_Count - tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + taPropsAndValues(I,1) + ' = ' + taPropsAndValues(I,2) + tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + taPropsAndValues(m.I,1) + ' = ' + taPropsAndValues(m.I,2) IF tnPropsAndComments_Count > 0 THEN - lnComment = ASCAN( taPropsAndComments, taPropsAndValues(I,1), 1, 0, 1, 1+2+4+8) + lnComment = ASCAN( taPropsAndComments, taPropsAndValues(m.I,1), 1, 0, 1, 1+2+4+8) IF lnComment > 0 AND NOT EMPTY(taPropsAndComments(lnComment,2)) tcCodigo = tcCodigo + CHR(9) + CHR(9) + '&' + '& ' + taPropsAndComments(lnComment,2) @@ -14797,23 +14705,23 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDTEXT FOR I = 1 TO tnPropsAndComments_Count - IF EMPTY(taPropsAndComments(I,1)) + IF EMPTY(taPropsAndComments(m.I,1)) LOOP ENDIF - lcType = LEFT( taPropsAndComments(I,1), 1 ) + lcType = LEFT( taPropsAndComments(m.I,1), 1 ) lcType = ICASE( lcType == '*', 'm' ; , lcType == '^', 'a' ; , 'p' ) IF lcType == 'p' THEN - tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + CHR(9) + '*' + lcType + ': ' + taPropsAndComments(I,1) + tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + CHR(9) + '*' + lcType + ': ' + taPropsAndComments(m.I,1) ELSE - tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + CHR(9) + '*' + lcType + ': ' + SUBSTR( taPropsAndComments(I,1), 2) + tcCodigo = tcCodigo + CHR(13) + CHR(10) + CHR(9) + CHR(9) + '*' + lcType + ': ' + SUBSTR( taPropsAndComments(m.I,1), 2) ENDIF - IF NOT EMPTY(taPropsAndComments(I,2)) - tcCodigo = tcCodigo + CHR(9) + CHR(9) + '&' + '& ' + taPropsAndComments(I,2) + IF NOT EMPTY(taPropsAndComments(m.I,2)) + tcCodigo = tcCodigo + CHR(9) + CHR(9) + '&' + '& ' + taPropsAndComments(m.I,2) ENDIF ENDFOR @@ -15580,7 +15488,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg lcCodigo = lcCodigo + CR_LF + ' *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder ' FOR I = 1 TO lnObjCount - .write_OBJECTMETADATA( laObjs(I,1), @lcCodigo ) + .write_OBJECTMETADATA( laObjs(m.I,1), @lcCodigo ) ENDFOR lcCodigo = lcCodigo + CR_LF @@ -15600,7 +15508,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) FOR I = 1 TO lnObjCount - .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo, @toFoxBin2Prg ) + .write_ADD_OBJECTS_WithProperties( laObjs(m.I,1), @lcCodigo, @toFoxBin2Prg ) ENDFOR @@ -15691,15 +15599,15 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg IF .l_Test *FOR I = 1 TO lnClassCount - * lcCodigo = lcCodigo + laClasses(I,2) + * lcCodigo = lcCodigo + laClasses(m.I,2) *ENDFOR *toModulo = lcCodigo ELSE DO CASE CASE (toFoxBin2Prg.n_UseClassPerFile = 0 AND NOT EMPTY(toFoxBin2Prg.c_ClassToConvert)) && LibName.ClassName.SC2 FOR I = 1 TO lnClassCount - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR @@ -15709,8 +15617,8 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ENDIF FOR I = 1 TO lnClassCount - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR @@ -15720,14 +15628,14 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg ENDIF FOR I = 1 TO lnClassCount - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,3) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,3) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR OTHERWISE FOR I = 1 TO lnClassCount - lcCodigo = lcCodigo + laClasses(I,2) + lcCodigo = lcCodigo + laClasses(m.I,2) ENDFOR .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) @@ -15949,7 +15857,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg lcCodigo = lcCodigo + CR_LF + ' *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder ' FOR I = 1 TO lnObjCount - .write_OBJECTMETADATA( laObjs(I,1), @lcCodigo ) + .write_OBJECTMETADATA( laObjs(m.I,1), @lcCodigo ) ENDFOR lcCodigo = lcCodigo + CR_LF @@ -15969,7 +15877,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) FOR I = 1 TO lnObjCount - .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo, @toFoxBin2Prg ) + .write_ADD_OBJECTS_WithProperties( laObjs(m.I,1), @lcCodigo, @toFoxBin2Prg ) ENDFOR @@ -16062,7 +15970,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg IF .l_Test *FOR I = 1 TO lnClassCount - * lcCodigo = lcCodigo + laClasses(I,2) + * lcCodigo = lcCodigo + laClasses(m.I,2) *ENDFOR *toModulo = lcCodigo ELSE @@ -16071,8 +15979,8 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) FOR I = 1 TO lnClassCount - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR @@ -16080,14 +15988,14 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) FOR I = 1 TO lnClassCount - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,3) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,3) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR OTHERWISE FOR I = 1 TO lnClassCount - lcCodigo = lcCodigo + laClasses(I,2) + lcCodigo = lcCodigo + laClasses(m.I,2) ENDFOR .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) @@ -16638,9 +16546,9 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg ENDWITH FOR I = 1 TO ALINES( laLines, STREXTRACT( lcStrPJM, '[OLEServers]', '[OLEServersEnd]' ), 4 ) - ALINES( laProps, laLines(I), 1, ',' ) + ALINES( laProps, laLines(m.I), 1, ',' ) - IF I = 1 + IF m.I = 1 WITH loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ._LibraryName = laProps(1) ._InternalName = laProps(2) @@ -16674,7 +16582,7 @@ DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg *-- Escaneo el proyecto FOR I = 1 TO ALINES( laLines, STREXTRACT( lcStrPJM, '[ProjectFiles]', '[EOF]' ), 4 ) - ALINES( laProps, laLines(I) + ',', 1, ',' ) + ALINES( laProps, laLines(m.I) + ',', 1, ',' ) loReg = NULL loReg = CREATEOBJECT("EMPTY") ADDPROPERTY( loReg, 'ID', IIF( toFoxBin2Prg.l_ClearUniqueID, 0, VAL( laProps(1) ) ) ) @@ -17318,8 +17226,8 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg *-- Cierro DBC FOR I = 1 TO ADATABASES(laDatabases2) - IF ASCAN( laDatabases, laDatabases2(I), 1, 0, 0, 1+2+4 ) = 0 - SET DATABASE TO (laDatabases2(I)) + IF ASCAN( laDatabases, laDatabases2(m.I), 1, 0, 0, 1+2+4 ) = 0 + SET DATABASE TO (laDatabases2(m.I)) CLOSE DATABASES EXIT ENDIF @@ -17483,7 +17391,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg IF .l_Test *FOR I = 1 TO lnClassCount - * lcCodigo = lcCodigo + laClasses(I,2) + * lcCodigo = lcCodigo + laClasses(m.I,2) *ENDFOR *toDatabase = lcCodigo ELSE @@ -17492,13 +17400,13 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg FOR I = 1 TO lnClassCount * lcOutputFile = 'DBCName' + '.' + 'MemberType' + '.' + 'MemberName' + '.' + 'dc2' - lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,3) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile ) - lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2) + lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(m.I,3) + '.' + laClasses(m.I,1) + '.' + JUSTEXT( .c_OutputFile ) + lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(m.I,2) .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) ENDFOR ELSE FOR I = 1 TO lnClassCount - lcCodigo = lcCodigo + laClasses(I,2) + lcCodigo = lcCodigo + laClasses(m.I,2) ENDFOR .write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg ) @@ -17682,7 +17590,7 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM * I (v! IN ) Número de línea en análisis *--------------------------------------------------------------------------------------------------- LPARAMETERS tcLine, taCodeLines, I - tcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) + tcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) ENDPROC @@ -17741,7 +17649,7 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM *-- Anular subcadenas para luego encontrar comentarios '&&' (y analizar solo si existe al menos un '&&') X = 1 - lnAT1 = AT(laSeparador(X,1), lcStr) + lnAT1 = AT(laSeparador(m.X,1), lcStr) *-- Funcionamiento: *-- La anulación de subcadenas se hace comenzando desde la primer comilla doble ["], y luego se va @@ -17756,8 +17664,8 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM *-- Si se encuentra algún separador de cadena que no cierre, se genera un error 10 (Syntax Error). IF lnAT1 > 0 THEN FOR I = lnAT1+1 TO lnLen - IF X > 0 THEN - lnAT2 = AT(laSeparador(X,2), lcStr, laSeparador(X,3)) + IF m.X > 0 THEN + lnAT2 = AT(laSeparador(m.X,2), lcStr, laSeparador(m.X,3)) IF lnAT2 > 0 THEN lcStr = STUFF(lcStr, lnAT1, lnAT2-lnAT1+1, REPLICATE('X',lnAT2-lnAT1+1)) @@ -17768,16 +17676,16 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM *-- No tiene comentario '&&' real, o sí lo tiene y además contiene un delimitador de cadena como parte del comentario EXIT ELSE - ERROR 'Closing string delimiter <' + laSeparador(X,2) + '> not found: ' + tcLine + ERROR 'Closing string delimiter <' + laSeparador(m.X,2) + '> not found: ' + tcLine ENDIF ENDIF ENDIF *-- Verifico si el carácter es un separador de cadenas: '"[ - X = AT( SUBSTR(lcStr, I, 1), lcSeparadoresIzq) + X = AT( SUBSTR(lcStr, m.I, 1), lcSeparadoresIzq) - IF X > 0 THEN - lnAT1 = AT(laSeparador(X,1), lcStr) + IF m.X > 0 THEN + lnAT1 = AT(laSeparador(m.X,1), lcStr) ENDIF ENDFOR ENDIF @@ -17857,7 +17765,7 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION * I (v! IN ) Número de línea en análisis *--------------------------------------------------------------------------------------------------- LPARAMETERS tcLine, taCodeLines, I - tcLine = LTRIM( taCodeLines(I), 0, CHR(9), ' ' ) + tcLine = LTRIM( taCodeLines(m.I), 0, CHR(9), ' ' ) ENDPROC @@ -17916,7 +17824,7 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION *-- Anular subcadenas para luego encontrar comentarios '&&' (y analizar solo si existe al menos un '&&') X = 1 - lnAT1 = AT(laSeparador(X,1), lcStr) + lnAT1 = AT(laSeparador(m.X,1), lcStr) *-- Funcionamiento: *-- La anulación de subcadenas se hace comenzando desde la primer comilla doble ["], y luego se va @@ -17931,8 +17839,8 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION *-- Si se encuentra algún separador de cadena que no cierre, se genera un error 10 (Syntax Error). IF lnAT1 > 0 THEN FOR I = lnAT1+1 TO lnLen - IF X > 0 THEN - lnAT2 = AT(laSeparador(X,2), lcStr, laSeparador(X,3)) + IF m.X > 0 THEN + lnAT2 = AT(laSeparador(m.X,2), lcStr, laSeparador(m.X,3)) IF lnAT2 > 0 THEN lcStr = STUFF(lcStr, lnAT1, lnAT2-lnAT1+1, REPLICATE('X',lnAT2-lnAT1+1)) @@ -17943,16 +17851,16 @@ DEFINE CLASS CL_COL_BASE AS COLLECTION *-- No tiene comentario '&&' real, o sí lo tiene y además contiene un delimitador de cadena como parte del comentario EXIT ELSE - ERROR 'Closing string delimiter <' + laSeparador(X,2) + '> not found: ' + tcLine + ERROR 'Closing string delimiter <' + laSeparador(m.X,2) + '> not found: ' + tcLine ENDIF ENDIF ENDIF *-- Verifico si el carácter es un separador de cadenas: '"[ - X = AT( SUBSTR(lcStr, I, 1), lcSeparadoresIzq) + X = AT( SUBSTR(lcStr, m.I, 1), lcSeparadoresIzq) - IF X > 0 THEN - lnAT1 = AT(laSeparador(X,1), lcStr) + IF m.X > 0 THEN + lnAT1 = AT(laSeparador(m.X,1), lcStr) ENDIF ENDFOR ENDIF @@ -18054,7 +17962,7 @@ DEFINE CLASS CL_CLASSLIB AS CL_CUS_BASE WITH THIS AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG' FOR X = 1 TO ._Ole_Obj_count - IF LOWER(._Ole_Objs(X)._Nombre) == LOWER(tcNombre) + IF LOWER(._Ole_Objs(m.X)._Nombre) == LOWER(tcNombre) llExiste = .T. EXIT ENDIF @@ -18215,7 +18123,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE ._aPathObjName_Count = ._aPathObjName_Count + 1 DIMENSION ._aPathObjNames(._aPathObjName_Count,2) ._aPathObjNames(._aPathObjName_Count,1) = tcPathObjName - ._aPathObjNames(._aPathObjName_Count,2) = I + ._aPathObjNames(._aPathObjName_Count,2) = m.I ENDWITH RETURN @@ -18764,10 +18672,10 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE lcHomeDir = ADDBS( EVL(JUSTPATH(.c_InputFile), ._HomeDir) ) FOR I = 1 TO .Count - taFiles(I,1) = .Item(I).Name - taFiles(I,2) = ( ADIR(laDirFile, .get_AbsolutePath( taFiles(I,1), lcHomeDir) ) = 1 ) + taFiles(m.I,1) = .Item(m.I).Name + taFiles(m.I,2) = ( ADIR(laDirFile, .get_AbsolutePath( taFiles(m.I,1), lcHomeDir) ) = 1 ) - IF NOT taFiles(I,2) + IF NOT taFiles(m.I,2) lnCount = lnCount + 1 ENDIF ENDFOR @@ -18946,20 +18854,20 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE IF LEFT(tcLine, LEN('')) == '' LOCAL lcValue llBloqueEncontrado = .T. - lcValue = STREXTRACT( taCodeLines(I), '', '', 1, 2 ) + lcValue = STREXTRACT( taCodeLines(m.I), '', '', 1, 2 ) WITH THIS AS CL_DBC_BASE OF 'FOXBIN2PRG.PRG' IF NOT '' $ tcLine THEN - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE '' $ tcLine && Fin - lcValue = lcValue + CR_LF + LEFT( taCodeLines(I), AT( '', taCodeLines(I) ) - 1 ) + lcValue = lcValue + CR_LF + LEFT( taCodeLines(m.I), AT( '', taCodeLines(m.I) ) - 1 ) EXIT OTHERWISE && Línea de Stored Procedure - lcValue = lcValue + CR_LF + taCodeLines(I) + lcValue = lcValue + CR_LF + taCodeLines(m.I) ENDCASE ENDFOR ENDIF @@ -19882,8 +19790,8 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -19894,7 +19802,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_CONNECTIONS_I $ tcLine loConnections = ._Connections - loConnections.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loConnections.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) loConnections.KeySort=2 FOR EACH loConnection IN loConnections &&FOXOBJECT @@ -19903,7 +19811,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_TABLES_I $ tcLine loTables = ._Tables - loTables.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loTables.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) loTables.KeySort=2 FOR EACH loTable IN loTables &&FOXOBJECT @@ -19912,7 +19820,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CASE C_VIEWS_I $ tcLine loViews = ._Views - loViews.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loViews.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) loViews.KeySort=2 FOR EACH loView IN loViews &&FOXOBJECT @@ -19920,11 +19828,11 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE ENDFOR CASE C_STORED_PROC_I $ tcLine - .analyzeCodeBlock_SP( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_SP( @tcLine, @taCodeLines, @m.I, tnCodeLines ) .add_DBCMember('database.storedproceduressource') CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Otro valor *-- Estructura a reconocer: @@ -19939,7 +19847,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -19972,15 +19880,15 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE lcValue = '' WITH THIS AS CL_DBC OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE C_STORED_PROC_F $ tcLine && Fin EXIT OTHERWISE && Línea de Stored Procedure - lcValue = lcValue + CR_LF + taCodeLines(I) + lcValue = lcValue + CR_LF + taCodeLines(m.I) ENDCASE ENDFOR @@ -20201,8 +20109,8 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -20213,12 +20121,12 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE CASE C_CONNECTION_I $ tcLine loConnection = CREATEOBJECT("CL_DBC_CONNECTION") - loConnection.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loConnection.analyzeCodeBlock( @tcLine, @taCodeLines, @m.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 - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Otro valor *-- No hay otros valores @@ -20229,7 +20137,7 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -20332,7 +20240,7 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE IF lnConnection_Count > 0 FOR I = 1 TO lnConnection_Count loConnection = CREATEOBJECT('CL_DBC_CONNECTION') - loConnection.read_BinDataToProperties( laConnections(I) ) + loConnection.read_BinDataToProperties( laConnections(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loConnection, PADR(loConnection._Name,128) ) ENDFOR @@ -20426,8 +20334,8 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -20437,7 +20345,7 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de CONNECTION *-- Estructura a reconocer: @@ -20452,7 +20360,7 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -20608,8 +20516,8 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -20620,7 +20528,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE CASE C_TABLE_I $ tcLine loTable = CREATEOBJECT("CL_DBC_TABLE") - loTable.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loTable.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loTable, PADR(loTable._Name,128) ) @@ -20633,7 +20541,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -20742,7 +20650,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE IF lnTable_Count > 0 FOR I = 1 TO lnTable_Count loTable = CREATEOBJECT("CL_DBC_TABLE") - loTable.read_BinDataToProperties( laTables(I) ) + loTable.read_BinDataToProperties( laTables(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loTable, PADR(loTable._Name,128) ) ENDFOR @@ -20837,8 +20745,8 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_TABLE OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -20849,22 +20757,22 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE CASE C_FIELD_ORDER_I $ tcLine loFields = ._Fields - loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_FIELDS_I $ tcLine loFields = ._Fields - loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_INDEXES_I $ tcLine loIndexes = ._Indexes - loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_RELATIONS_I $ tcLine loRelations = ._Relations - loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de TABLE *-- Estructura a reconocer: @@ -20879,7 +20787,7 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -21073,8 +20981,8 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE WITH THIS AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG' *.n_Campos = 0 && Descomentar para forzar modo LEGACY - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21085,7 +20993,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE CASE C_FIELD_I $ tcLine loField = CREATEOBJECT("CL_DBC_FIELD_DB") - loField.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @m.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 @@ -21111,7 +21019,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -21150,8 +21058,8 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21300,7 +21208,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE IF lnField_Count > 0 FOR I = 1 TO lnField_Count loField = CREATEOBJECT("CL_DBC_FIELD_DB") - loField.read_BinDataToProperties( tcTable, laFields(I) ) + loField.read_BinDataToProperties( tcTable, laFields(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loField, PADR(loField._Name,128) ) ENDFOR @@ -21382,8 +21290,8 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_FIELD_DB OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21393,7 +21301,7 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -21408,7 +21316,7 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -21548,8 +21456,8 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_INDEXES_DB OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21561,7 +21469,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.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndex.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loIndex, PADR(loIndex._Name,128) ) @@ -21574,7 +21482,7 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -21687,7 +21595,7 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE IF lnIndex_Count > 0 FOR I = 1 TO lnIndex_Count loIndex = CREATEOBJECT("CL_DBC_INDEX_DB") - loIndex.read_BinDataToProperties( tcTable + '.' + laIndexes(I) ) + loIndex.read_BinDataToProperties( tcTable + '.' + laIndexes(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loIndex, PADR(loIndex._Name,128) ) ENDFOR @@ -21755,8 +21663,8 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_INDEX_DB OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21766,7 +21674,7 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -21781,7 +21689,7 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -21903,8 +21811,8 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -21916,7 +21824,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE CASE C_VIEW_I $ tcLine loView = NULL loView = CREATEOBJECT("CL_DBC_VIEW") - loView.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loView.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loView, PADR(loView._Name,128) ) @@ -21929,7 +21837,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -22037,7 +21945,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE IF lnView_Count > 0 FOR I = 1 TO lnView_Count loView = CREATEOBJECT("CL_DBC_VIEW") - loView.read_BinDataToProperties( laViews(I) ) + loView.read_BinDataToProperties( laViews(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loView, PADR(loView._Name,128) ) ENDFOR @@ -22169,8 +22077,8 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_VIEW OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -22181,25 +22089,25 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE CASE C_FIELD_ORDER_I $ tcLine loFields = ._Fields - loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeOrderCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_FIELDS_I $ tcLine loFields = NULL loFields = ._Fields - loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_INDEXES_I $ tcLine loIndexes = NULL loIndexes = ._Indexes - loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE C_RELATIONS_I $ tcLine loRelations = NULL loRelations = ._Relations - loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelations.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de VIEW *-- Estructura a reconocer: @@ -22214,7 +22122,7 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -22477,8 +22385,8 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE WITH THIS AS CL_DBC_FIELDS_VW OF 'FOXBIN2PRG.PRG' *.n_Campos = 0 && Descomentar para forzar modo LEGACY - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -22490,7 +22398,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.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @m.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 @@ -22516,7 +22424,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -22556,8 +22464,8 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_FIELDS_VW OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -22705,7 +22613,7 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE IF lnField_Count > 0 FOR I = 1 TO lnField_Count loField = CREATEOBJECT("CL_DBC_FIELD_VW") - loField.read_BinDataToProperties( tcView, laFields(I) ) + loField.read_BinDataToProperties( tcView, laFields(m.I) ) *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) .ADD( loField, PADR(loField._Name,128) ) ENDFOR @@ -22795,8 +22703,8 @@ DEFINE CLASS CL_DBC_FIELD_VW AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_FIELD_VW OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -22806,7 +22714,7 @@ DEFINE CLASS CL_DBC_FIELD_VW AS CL_DBC_BASE EXIT CASE '' $ tcLine - .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @I, tnCodeLines ) + .analyzeCodeBlock_Comment( @tcLine, @taCodeLines, @m.I, tnCodeLines ) OTHERWISE && Propiedad de FIELD *-- Estructura a reconocer: @@ -22822,7 +22730,7 @@ DEFINE CLASS CL_DBC_FIELD_VW AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -22967,8 +22875,8 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_RELATIONS OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -22980,7 +22888,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE CASE C_RELATION_I $ tcLine loRelation = NULL loRelation = CREATEOBJECT("CL_DBC_RELATION") - loRelation.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loRelation.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) TRY *-- El siguiente PADR() es porque si no "estoXXX" está antes que "esto" cuando keysort=2 (raro...) @@ -22998,7 +22906,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23102,9 +23010,9 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE ASORT( laRelations, 2, -1, 0, 1 ) FOR I = 1 TO lnRelation_Count - IF laRelations(I,1) == UPPER( RTRIM( tcTable ) ) + IF laRelations(m.I,1) == UPPER( RTRIM( tcTable ) ) loRelation = CREATEOBJECT('CL_DBC_RELATION') - loRelation.read_BinDataToProperties( @laRelations, I ) + loRelation.read_BinDataToProperties( @laRelations, m.I ) TRY .ADD( loRelation, loRelation._Name ) CATCH TO loEx WHEN loEx.ERRORNO = 2062 && The specified Key already exists. @@ -23179,8 +23087,8 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBC_RELATION OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -23202,7 +23110,7 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23231,7 +23139,7 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE WITH THIS AS CL_DBC_RELATION OF 'FOXBIN2PRG.PRG' LOCAL lcText, loEx AS EXCEPTION lcText = '' - .read_BinDataToProperties(@taRelations, X) + .read_BinDataToProperties(@taRelations, m.X) TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <<>> @@ -23292,12 +23200,12 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE WITH THIS AS CL_DBC_RELATION OF 'FOXBIN2PRG.PRG' IF NOT ._Saved THEN - ._Name = 'Relation ' + TRANSFORM(I) - ._ChildTable = ALLTRIM(taRelations(I,1)) - ._ParentTable = ALLTRIM(taRelations(I,2)) - ._ChildIndex = ALLTRIM(taRelations(I,3)) - ._ParentIndex = ALLTRIM(taRelations(I,4)) - ._RefIntegrity = ALLTRIM(taRelations(I,5)) + ._Name = 'Relation ' + TRANSFORM(m.I) + ._ChildTable = ALLTRIM(taRelations(m.I,1)) + ._ParentTable = ALLTRIM(taRelations(m.I,2)) + ._ChildIndex = ALLTRIM(taRelations(m.I,3)) + ._ParentIndex = ALLTRIM(taRelations(m.I,4)) + ._RefIntegrity = ALLTRIM(taRelations(m.I,5)) *-- ._Saved = .T. ENDIF @@ -23387,8 +23295,8 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -23399,12 +23307,12 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE CASE NOT llFieldsEvaluated AND C_FIELDS_I $ tcLine loFields = ._Fields - loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loFields.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) llFieldsEvaluated = .T. CASE NOT llIndexesEvaluated AND C_INDEXES_I $ tcLine loIndexes = ._Indexes - loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndexes.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) llIndexesEvaluated = .T. CASE C_RECORDS_I $ tcLine @@ -23418,7 +23326,7 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE ENDIF loRecords = ._Records - loRecords.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines, ._Fields, @toFoxBin2Prg ) + loRecords.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines, ._Fields, @toFoxBin2Prg ) OTHERWISE && Otro valor *-- Estructura a reconocer: @@ -23429,13 +23337,13 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE ENDCASE ENDFOR - ._I = I + ._I = m.I ENDWITH && THIS ENDIF CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23617,8 +23525,8 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_FIELDS OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -23630,7 +23538,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE CASE C_FIELD_I $ tcLine loField = NULL loField = CREATEOBJECT("CL_DBF_FIELD") - loField.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loField.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) .ADD( loField, loField._Name ) OTHERWISE && Otro valor @@ -23642,7 +23550,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23692,13 +23600,13 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE loField = CREATEOBJECT('CL_DBF_FIELD') FOR I = 1 TO tnField_Count - IF taFields(I,17) > 0 AND toFoxBin2Prg.n_ExcludeDBFAutoincNextval = 1 + IF taFields(m.I,17) > 0 AND toFoxBin2Prg.n_ExcludeDBFAutoincNextval = 1 *-- If AutoIncNextVal is excluded from text, then assign 1 for allowing regeneration *-- of DBF with this field. - taFields(I,17) = 1 + taFields(m.I,17) = 1 ENDIF - lcText = lcText + loField.toText( @taFields, I ) + lcText = lcText + loField.toText( @taFields, m.I ) ENDFOR TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -23795,8 +23703,8 @@ DEFINE CLASS CL_DBF_FIELD AS CL_CUS_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_FIELD OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -23818,7 +23726,7 @@ DEFINE CLASS CL_DBF_FIELD AS CL_CUS_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23844,29 +23752,29 @@ DEFINE CLASS CL_DBF_FIELD AS CL_CUS_BASE EXTERNAL ARRAY taFields TRY - LOCAL I, lcText, loEx AS EXCEPTION + LOCAL lcText, loEx AS EXCEPTION lcText = '' TEXT TO lcText TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> <<>> <> ENDTEXT @@ -23914,8 +23822,8 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_INDEXES OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -23927,7 +23835,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE CASE C_INDEX_I $ tcLine loIndex = NULL loIndex = CREATEOBJECT("CL_DBF_INDEX") - loIndex.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines ) + loIndex.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines ) .ADD( loIndex, loIndex._TagName ) OTHERWISE && Otro valor @@ -23939,7 +23847,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -23994,7 +23902,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE loIndex = CREATEOBJECT("CL_DBF_INDEX") FOR I = 1 TO tnTagInfo_Count - lcText = lcText + loIndex.toText( @taTagInfo, I ) + lcText = lcText + loIndex.toText( @taTagInfo, m.I ) ENDFOR TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -24067,8 +23975,8 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -24090,7 +23998,7 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -24119,20 +24027,20 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE LOCAL X, lcText, loEx AS EXCEPTION lcText = '' - FOR X = 1 TO ALEN(taTagInfo,1) - IF TAG('', X) == taTagInfo(I,1) THEN + FOR m.X = 1 TO ALEN(taTagInfo,1) + IF TAG(m.X) == taTagInfo(m.I,1) THEN EXIT ENDIF ENDFOR TEXT TO lcText TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 <<>> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> - <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> <<>> ENDTEXT @@ -24195,8 +24103,8 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE loRecord = NULL loRecord = CREATEOBJECT("CL_DBF_RECORD") - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -24207,10 +24115,10 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE CASE ' 8*1024 THEN + toFoxBin2Prg.updateProgressbar( 'Exporting DBF Data... ' + TRANSFORM(m.I) + '/' + TRANSFORM(lnReccount) + '', 1+(m.I/lnReccount), 3, 2 ) DOEVENTS *FFLUSH( toFoxBin2Prg.n_FileHandle, .T. ) ENDIF @@ -24339,7 +24247,7 @@ DEFINE CLASS CL_DBF_RECORDS AS CL_COL_BASE * I (v! IN ) Número de línea en análisis *--------------------------------------------------------------------------------------------------- LPARAMETERS tcLine, taCodeLines, I - tcLine = taCodeLines(I) + tcLine = taCodeLines(m.I) ENDPROC @@ -24380,8 +24288,8 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE llBloqueEncontrado = .T. WITH THIS AS CL_DBF_RECORD OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) OR LEFT(tcLine, 1) == '*' @@ -24437,8 +24345,8 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE luValue = .Decode(lcValue, .T.) EXIT ELSE - I = I + 1 - .set_Line( @tcLine, @taCodeLines, I ) + I = m.I + 1 + .set_Line( @tcLine, @taCodeLines, m.I ) lcValue = lcValue + CR_LF + tcLine ENDIF ENDDO @@ -24489,7 +24397,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE CATCH TO loEx IF loEx.ERRORNO = 1470 && Incorrect property name. - loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', lcFieldName=[' + TRANSFORM(lcFieldName) + '], Value=[' + TRANSFORM(lcValue) + ']' + loEx.USERVALUE = 'I=' + TRANSFORM(m.I) + ', tcLine=' + TRANSFORM(tcLine) + ', lcFieldName=[' + TRANSFORM(lcFieldName) + '], Value=[' + TRANSFORM(lcValue) + ']' ENDIF IF THIS.n_Debug > 0 AND _VFP.STARTMODE = 0 @@ -24529,9 +24437,9 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE ENDTEXT FOR I = 1 TO tnField_Count - lcField = taFields[I, 1] - lcFieldType = taFields[I, 2] - llNoCPTran = taFields[I, 6] + lcField = taFields[m.I, 1] + lcFieldType = taFields[m.I, 2] + llNoCPTran = taFields[m.I, 6] IF lcFieldType == 'G' *-- Saltar campos de tipo General @@ -24648,7 +24556,7 @@ DEFINE CLASS CL_DBF_RECORD AS CL_CUS_BASE * I (v! IN ) Número de línea en análisis *--------------------------------------------------------------------------------------------------- LPARAMETERS tcLine, taCodeLines, I - tcLine = taCodeLines(I) + tcLine = taCodeLines(m.I) ENDPROC @@ -24873,7 +24781,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE lcStr = lcStr + PADL( LEN(._TypeLib), 4, ' ' ) + ._TypeLib FOR I = 1 TO ._ServerCount - loServerData = ._Servers(I) + loServerData = ._Servers(m.I) lcStr = lcStr + loServerData.getRowServerInfo() ENDFOR ENDIF @@ -24918,7 +24826,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE *-- Recorro los servidores FOR I = 1 TO ._ServerCount - loServerData = ._Servers(I) + loServerData = ._Servers(m.I) lcText = lcText + loServerData.getFormattedServerText() loServerData = NULL ENDFOR @@ -25245,8 +25153,8 @@ DEFINE CLASS CL_MENU_COL_BASE AS CL_COL_BASE FOR I = 1 TO lnLine_Count *-- Si existe el snippet #NAME, lo usa - IF EMPTY(tcProcName) AND UPPER( LEFT( CHRTRAN( ALLTRIM(laProcLines(I)), C_TAB, ' ' ), 6 ) ) == '#NAME ' - tcProcName = ALLTRIM( SUBSTR( ALLTRIM( CHRTRAN( laProcLines(I), C_TAB, ' ' ) ), 7 ) ) + IF EMPTY(tcProcName) AND UPPER( LEFT( CHRTRAN( ALLTRIM(laProcLines(m.I)), C_TAB, ' ' ), 6 ) ) == '#NAME ' + tcProcName = ALLTRIM( SUBSTR( ALLTRIM( CHRTRAN( laProcLines(m.I), C_TAB, ' ' ) ), 7 ) ) EXIT ENDIF ENDFOR @@ -25280,22 +25188,22 @@ DEFINE CLASS CL_MENU_COL_BASE AS CL_COL_BASE CASE tnIndentation = 0 FOR I = 1 TO lnLine_Count *-- No Indentar - tcProcCode = tcProcCode + laProcLines(I) + CR_LF + tcProcCode = tcProcCode + laProcLines(m.I) + CR_LF ENDFOR CASE tnIndentation > 0 FOR I = 1 TO lnLine_Count *-- Indentar - tcProcCode = tcProcCode + C_TAB + laProcLines(I) + CR_LF + tcProcCode = tcProcCode + C_TAB + laProcLines(m.I) + CR_LF ENDFOR OTHERWISE FOR I = 1 TO lnLine_Count *-- Quitar indentación - IF INLIST( LEFT(laProcLines(I),1), SPACE(1), C_TAB ) - tcProcCode = tcProcCode + SUBSTR( laProcLines(I), 2 ) + CR_LF + IF INLIST( LEFT(laProcLines(m.I),1), SPACE(1), C_TAB ) + tcProcCode = tcProcCode + SUBSTR( laProcLines(m.I), 2 ) + CR_LF ELSE - tcProcCode = tcProcCode + laProcLines(I) + CR_LF + tcProcCode = tcProcCode + laProcLines(m.I) + CR_LF ENDIF ENDFOR ENDCASE @@ -25365,8 +25273,8 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE SCATTER MEMO BLANK NAME .oReg loReg = .oReg - FOR I = I + 0 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 0 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -25397,16 +25305,16 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDCASE llBloque_MenuLocation_Analizado = .T. - CASE NOT llBloque_SetupCode_Analizado AND .analyzeCodeBlock_SetupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_SetupCode_Analizado AND .analyzeCodeBlock_SetupCode( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) llBloque_SetupCode_Analizado = .T. - CASE NOT llBloque_MenuCode_Analizado AND .analyzeCodeBlock_MenuCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_MenuCode_Analizado AND .analyzeCodeBlock_MenuCode( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) llBloque_MenuCode_Analizado = .T. - CASE NOT llBloque_CleanupCode_Analizado AND .analyzeCodeBlock_CleanupCode( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_CleanupCode_Analizado AND .analyzeCodeBlock_CleanupCode( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) llBloque_CleanupCode_Analizado = .T. - CASE NOT llBloque_Procedure_Analizado AND .analyzeCodeBlock_PROCEDURE( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE NOT llBloque_Procedure_Analizado AND .analyzeCodeBlock_PROCEDURE( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) llBloque_Procedure_Analizado = .T. OTHERWISE && Otro valor @@ -25459,20 +25367,20 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_MENU OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE C_SETUPCODE_F $ tcLine && Fin - I = I + 1 + I = m.I + 1 EXIT OTHERWISE && Líneas de procedure - lcText = lcText + CR_LF + taCodeLines(I) + lcText = lcText + CR_LF + taCodeLines(m.I) ENDCASE ENDFOR - I = I - 1 + I = m.I - 1 .oReg.SETUP = SUBSTR( lcText, 3 ) && Quito el primer CR_LF ENDWITH && THIS ENDIF @@ -25513,20 +25421,20 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_MENU OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE C_CLEANUPCODE_F $ tcLine && Fin - I = I + 1 + I = m.I + 1 EXIT OTHERWISE && Líneas de procedure - lcText = lcText + CR_LF + taCodeLines(I) + lcText = lcText + CR_LF + taCodeLines(m.I) ENDCASE ENDFOR - I = I - 1 + I = m.I - 1 .oReg.Cleanup = SUBSTR( lcText, 3 ) && Quito el primer CR_LF ENDWITH && THIS ENDIF @@ -25574,9 +25482,9 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE llBloqueEncontrado = .T. - FOR I = I + 0 TO tnCodeLines + FOR I = m.I + 0 TO tnCodeLines STORE '' TO lcExpr, lcProcName, lcProcCode - .set_Line( @tcLine, @taCodeLines, I ) + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -25620,7 +25528,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE loBarPop.c_ParentName = '' loBarPop.n_ParentCode = .oReg.OBJCODE loBarPop.n_ParentType = .oReg.ObjType - loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, @tnCodeLines, toConversor ) .ADD( loBarPop ) EXIT @@ -25649,7 +25557,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE loBarPop.c_ParentName = '' loBarPop.n_ParentCode = .oReg.OBJCODE loBarPop.n_ParentType = .oReg.ObjType - loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, @tnCodeLines, toConversor ) .ADD( loBarPop ) *-- Creo option @@ -25676,14 +25584,14 @@ 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.analyzeCodeBlock( @tcLine, @taCodeLines, @I, @tnCodeLines, toConversor ) + loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, @tnCodeLines, toConversor ) loOption.ADD( loBarPop ) loBarPop = NULL loOption = NULL EXIT OTHERWISE && Otro valor - I = I - 1 + I = m.I - 1 EXIT ENDCASE ENDFOR @@ -25731,12 +25639,12 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE llBloqueEncontrado = .T. WITH THIS AS CL_MENU OF 'FOXBIN2PRG.PRG' - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE C_PROC_CODE_F $ tcLine && Fin - I = I + 1 + I = m.I + 1 EXIT OTHERWISE && Líneas de procedure @@ -25745,7 +25653,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -26090,9 +25998,9 @@ DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE loReg.ItemNum = STR(0,3) llBloqueEncontrado = .T. - FOR I = I + 0 TO tnCodeLines + FOR I = m.I + 0 TO tnCodeLines STORE '' TO lcExpr, lcProcName, lcProcCode - .set_Line( @tcLine, @taCodeLines, I ) + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -26146,12 +26054,12 @@ DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE CASE LEFT( tcLine, 11 ) == 'DEFINE PAD ' OR LEFT( tcLine, 11 ) == 'DEFINE BAR ' loOption = NULL loOption = CREATEOBJECT("CL_MENU_OPTION") - lnLast_I = I + lnLast_I = m.I loOption.c_ParentName = loReg.LevelName loOption.n_ParentCode = loReg.OBJCODE loOption.n_ParentType = loReg.ObjType - IF NOT loOption.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + IF NOT loOption.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) I = lnLast_I llBloqueEncontrado = .F. EXIT @@ -26168,7 +26076,7 @@ DEFINE CLASS CL_MENU_BARPOP AS CL_MENU_COL_BASE ENDIF OTHERWISE && Otro valor - I = I - 1 + I = m.I - 1 EXIT ENDCASE ENDFOR @@ -26334,8 +26242,8 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE llBloqueEncontrado = .T. - FOR I = I + 0 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 0 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -26351,7 +26259,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE loReg.ObjType = C_OBJTYPE_MENUTYPE_BARorPOPUP loReg.OBJCODE = C_OBJCODE_MENUBARPOPUP_MENUBAR - CASE .analyzeCodeBlock_DefinePAD( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE .analyzeCodeBlock_DefinePAD( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) IF loReg.PROMPT == '' *-- Esta opción no corresponde a este nivel. Debe subir. llBloqueEncontrado = .F. @@ -26361,7 +26269,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE EXIT ENDIF - CASE .analyzeCodeBlock_DefineBAR( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) + CASE .analyzeCodeBlock_DefineBAR( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) IF loReg.PROMPT == '' *-- Esta opción no corresponde a este nivel. Debe subir. llBloqueEncontrado = .F. @@ -26374,19 +26282,19 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE CASE LEFT( tcLine, 13 ) == 'DEFINE POPUP ' loBarPop = NULL loBarPop = CREATEOBJECT("CL_MENU_BARPOP") - lnLast_I = I + lnLast_I = m.I loBarPop.c_ParentName = loReg.LevelName loBarPop.n_ParentCode = loReg.OBJCODE loBarPop.n_ParentType = loReg.ObjType .ADD( loBarPop ) - IF NOT loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @I, tnCodeLines, toConversor ) - I = I - 1 + IF NOT loBarPop.analyzeCodeBlock( @tcLine, @taCodeLines, @m.I, tnCodeLines, toConversor ) + I = m.I - 1 ENDIF loBarPop = NULL EXIT OTHERWISE && Otro valor - I = I - 1 + I = m.I - 1 EXIT ENDCASE ENDFOR @@ -26464,8 +26372,8 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE *-- ANALISIS DEL "DEFINE PAD" DO CASE CASE ';' $ tcLine - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) IF EMPTY(loReg.COMMENT) && No volver a buscar el comentario si ya existe *-- Busco si tiene comentario @@ -26511,7 +26419,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDIF ENDFOR - CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment ) + CASE .set_Line( @tcLine, @taCodeLines, m.I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment ) *-- Es un Bar de una sola línea y con comentarios loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '', CHR(13) ), '', CHR(10) ) @@ -26526,8 +26434,8 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE *-------------------------------- *-- ANALISIS DEL "ON PAD" u "ON SELECTION PAD" - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -26536,7 +26444,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE CASE LEFT( tcLine, 7 ) == 'ON PAD ' loReg.OBJCODE = C_OBJCODE_MENUOPTION_SUBMENU && Submenu - I = I + 1 + I = m.I + 1 EXIT CASE LEFT( tcLine, 17 ) == 'ON SELECTION PAD ' @@ -26561,7 +26469,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDCASE - I = I + 1 + I = m.I + 1 EXIT OTHERWISE @@ -26569,12 +26477,12 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDCASE IF NOT ';' $ tcLine && Fin - I = I + 1 + I = m.I + 1 EXIT ENDIF ENDFOR - I = I - 1 + I = m.I - 1 ENDWITH && THIS ENDIF @@ -26663,8 +26571,8 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE *-- ANALISIS DEL "DEFINE BAR" DO CASE CASE ';' $ tcLine - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) IF EMPTY(loReg.COMMENT) && No volver a buscar el comentario si ya existe *-- Busco si tiene comentario @@ -26710,7 +26618,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDIF ENDFOR - CASE .set_Line( @tcLine, @taCodeLines, I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment ) + CASE .set_Line( @tcLine, @taCodeLines, m.I ) AND .get_SeparatedLineAndComment( @tcLine, @lcComment ) *-- Es un Bar de una sola línea y con comentarios loReg.COMMENT = STRTRAN( STRTRAN( lcComment, '', CHR(13) ), '', CHR(10) ) @@ -26719,7 +26627,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE IF LEFT(lcBarName,1) == '_' *-- Es un BAR del Sistema, así que no tiene ON BAR ni nada más. loReg.OBJCODE = C_OBJCODE_MENUOPTION_BARNUM && Bar# - I = I + 1 + I = m.I + 1 EXIT ENDIF @@ -26733,8 +26641,8 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE *-------------------------------- *-- ANALISIS DEL "ON BAR" U "ON SELECTION BAR" - FOR I = I + 1 TO tnCodeLines - .set_Line( @tcLine, @taCodeLines, I ) + FOR I = m.I + 1 TO tnCodeLines + .set_Line( @tcLine, @taCodeLines, m.I ) DO CASE CASE EMPTY( tcLine ) @@ -26749,7 +26657,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE CASE LEFT( tcLine, 7 ) == 'ON BAR ' loReg.OBJCODE = C_OBJCODE_MENUOPTION_SUBMENU && Submenu - I = I + 1 + I = m.I + 1 EXIT CASE LEFT( tcLine, 17 ) == 'ON SELECTION BAR ' @@ -26774,7 +26682,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDCASE - I = I + 1 + I = m.I + 1 EXIT CASE LEFT( tcLine, 19 ) == 'ON SELECTION POPUP ' @@ -26785,13 +26693,13 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE ENDCASE IF NOT ';' $ tcLine && Fin - I = I + 1 + I = m.I + 1 EXIT ENDIF ENDFOR ENDWITH && THIS - I = I - 1 + I = m.I - 1 ENDIF CATCH TO loEx @@ -27624,11 +27532,11 @@ DEFINE CLASS CL_DBF_UTILS AS Session DIMENSION taFields(lnFieldCount,4) FOR I = 1 TO lnFieldCount - WITH .Fields.Item(I) - taFields(I,1) = .FieldName - taFields(I,2) = .FieldType - taFields(I,3) = .FieldWidth - taFields(I,4) = .FieldDecimals + WITH .Fields.Item(m.I) + taFields(m.I,1) = .FieldName + taFields(m.I,2) = .FieldType + taFields(m.I,3) = .FieldWidth + taFields(m.I,4) = .FieldDecimals ENDWITH ENDFOR ENDWITH @@ -28046,7 +27954,7 @@ DEFINE CLASS CL_LANG AS Custom .C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "Aucune classe externe est trouvé" .C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "Nom de membre externe n'a pas été trouvé" .C_EXTERNAL_PARAMETERS_LOC = "PARAMÈTRES EXTERNES" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Champ [<< laProps (m.I) >>] ne trouve pas dans la structure du fichier DBF <<('TABLABIN')>>" .C_FILE_DOESNT_EXIST_LOC = "Fichier ne existe pas:" .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] ne est pas supporté" .C_FILE_NOT_FOUND_LOC = "Fichier introuvable" @@ -28108,8 +28016,8 @@ DEFINE CLASS CL_LANG AS Custom .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Fichier de numérisation et de l'information de répertoire pour" .C_SOURCEFILE_LOC = "Fichier source: " .C_SOURCESAFE_COMPATIBILITY_MODE_LOC = "Mode de compatibilité SourceSafe" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC prévu, mais a trouvé ENDDEFINE sur la classe <> (<>), ligne <> du fichier <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <> (<>.<>), ligne <> du fichier <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting erreur de structure. ENDPROC prévu, mais a trouvé ENDDEFINE sur la classe <> (<>), ligne <> du fichier <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting erreur de structure. ENDPROC attendue, mais ENDDEFINE sur la classe <> (<>.<>), ligne <> du fichier <>" .C_UNKNOWN_CLASS_NAME_LOC = "Classe inconnue[<>]" .C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Utilisez le fichier Optimisation d'horodatage" .C_USING_THIS_SETTINGS_LOC = "Utilisation de ce paramètre" @@ -28152,7 +28060,7 @@ DEFINE CLASS CL_LANG AS Custom .C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "No se encontró la clase externa" .C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "No se encontró el miembro externo" .C_EXTERNAL_PARAMETERS_LOC = "PARÁMETROS EXTERNOS" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontró el campo [<>] en la estructura del archivo <>" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "No se encontró el campo [<>] en la estructura del archivo <>" .C_FILE_DOESNT_EXIST_LOC = "El archivo no existe:" .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "El archivo [<<.c_InputFile>>] no está soportado" .C_FILE_NOT_FOUND_LOC = "No se encontró el archivo" @@ -28214,8 +28122,8 @@ DEFINE CLASS CL_LANG AS Custom .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Escaneando archivos e información de directorio para" .C_SOURCEFILE_LOC = "Archivo origen: " .C_SOURCESAFE_COMPATIBILITY_MODE_LOC = "Modo de Compatibilidad SourceSafe" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>), línea <> del archivo <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Error de anidamiento de estructuras. Se esperaba ENDPROC pero se encontró ENDDEFINE en la clase <> (<>.<>), línea <> del archivo <>" .C_UNKNOWN_CLASS_NAME_LOC = "Clase [<>] desconocida" .C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Usar Optimización de filestamp de archivo" .C_USING_THIS_SETTINGS_LOC = "Usando esta configuración" @@ -28258,7 +28166,7 @@ DEFINE CLASS CL_LANG AS Custom .C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "Keine externe Klasse gefunden" .C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "Externe Mitglied wurde nicht gefunden" .C_EXTERNAL_PARAMETERS_LOC = "EXTERNE PARAMETER" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<>] nicht in der Struktur von Datei <> gefunden" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Feld [<>] nicht in der Struktur von Datei <> gefunden" .C_FILE_DOESNT_EXIST_LOC = "Datei existiert nicht:" .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "Datei [<<.c_InputFile>>] wird nicht unterstützt" .C_FILE_NOT_FOUND_LOC = "Datei nicht gefunden" @@ -28320,8 +28228,8 @@ DEFINE CLASS CL_LANG AS Custom .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scanne Datei- und Verzeichnisinformationen für" .C_SOURCEFILE_LOC = "Quell Datei: " .C_SOURCESAFE_COMPATIBILITY_MODE_LOC = "Sourcesafe-Kompatibilitätsmodus" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC erwartet, aber es wurde ENDDEFINE in Klasse <> (<>), Zeile <> der Datei <> gefunden" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Fehler in Verschachtelungsstruktur. ENDPROC wurde erwartet, aber es wurde ENDDEFINE in Klasse <> (<>.<>), Zeile <> der Datei <> gefunden" .C_UNKNOWN_CLASS_NAME_LOC = "Unbekannte Klasse [<>]" .C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Verwenden Sie Datei-Zeitstempel-Optimierung" .C_USING_THIS_SETTINGS_LOC = "Mit dieser einstellung" @@ -28364,7 +28272,7 @@ DEFINE CLASS CL_LANG AS Custom .C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC = "External class was not found" .C_EXTERNAL_MEMBER_NAME_WAS_NOT_FOUND_LOC = "External member name was not found" .C_EXTERNAL_PARAMETERS_LOC = "EXTERNAL PARAMETERS" - .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" + .C_FIELD_NOT_FOUND_ON_FILE_STRUCTURE_LOC = "Field [<>] not found in structure of file <>" .C_FILE_DOESNT_EXIST_LOC = "File does not exist:" .C_FILE_NAME_IS_NOT_SUPPORTED_LOC = "File [<<.c_InputFile>>] is not supported" .C_FILE_NOT_FOUND_LOC = "File not found" @@ -28426,8 +28334,8 @@ DEFINE CLASS CL_LANG AS Custom .C_SCANNING_FILE_AND_DIR_INFO_LOC = "Scanning file and directory information for" .C_SOURCEFILE_LOC = "Source file: " .C_SOURCESAFE_COMPATIBILITY_MODE_LOC = "SourceSafe Compatibility Mode" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" - .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>), line <> of file <>" + .C_STRUCTURE_NESTING_ERROR_ENDPROC_EXPECTED_2_LOC = "Nesting structure error. ENDPROC expected but found ENDDEFINE on class <> (<>.<>), line <> of file <>" .C_UNKNOWN_CLASS_NAME_LOC = "Unknown class [<>]" .C_USE_FILE_TIMESTAMP_OPTIMIZATION_LOC = "Use file timestamp Optimization" .C_USING_THIS_SETTINGS_LOC = "Using this settings"