Changeset: 174 fernando - 23/02/2014 16:42:53:
v1.19.12 - Generación de VC2/SC2 con nuevo header metadata <OBJECTDATA> para centralizar uniqueid, timestamp y ZOrder y reducir bastante las diferencias en un diff/merge (mejora propuesta por Ryan Harris) - Generación del BINARIO desde el nuevo header metadata <OBJECTDATA> (se mantiene la compatibilidad con los antiguos archivos VC2/SC2) - Arreglo de casos de prueba FoxUnit para contemplar la nueva funcionalidad - Limpieza, refactorización y optimización de código - Mejora estética presentación en cabecera VC2/SC2
This commit is contained in:
@@ -107,6 +107,9 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.DBF_Conversion_Support = 2
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
||||||
|
|
||||||
@@ -176,6 +179,9 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.DBF_Conversion_Support = 2
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
||||||
|
|
||||||
@@ -246,6 +252,9 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.DBF_Conversion_Support = 2
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
@@ -316,6 +325,9 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.DBF_Conversion_Support = 2
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
|
|||||||
@@ -291,6 +291,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -365,6 +367,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -437,6 +441,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -684,6 +690,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
loCnv.l_UseTimestamps = .T.
|
||||||
|
loCnv.l_ClearUniqueID = .F.
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
|||||||
_ProductName = " FOXBIN2PRG"
|
_ProductName = " FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "19"
|
_MinorVer = "19"
|
||||||
_Revision = " 261"
|
_Revision = " 277"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "1"
|
_AutoIncrement = "1"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
@@ -50,8 +50,8 @@ MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK
|
|||||||
loProject = _VFP.Projects('foxbin2prg.pjx')
|
loProject = _VFP.Projects('foxbin2prg.pjx')
|
||||||
|
|
||||||
WITH loProject.FILES
|
WITH loProject.FILES
|
||||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="1131721714" ObjRev="0" />
|
||||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145939245" ID="1130644423" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="1130644423" ObjRev="544" />
|
||||||
*</BuildProj>
|
*</BuildProj>
|
||||||
|
|
||||||
.ITEM('__newproject.f2b').Remove()
|
.ITEM('__newproject.f2b').Remove()
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
335
foxbin2prg.prg
335
foxbin2prg.prg
@@ -1,6 +1,6 @@
|
|||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* M<>dulo.........: FOXBIN2PRG.PRG - PARA VISUAL FOXPRO 9.0
|
* M<>dulo.........: FOXBIN2PRG.PRG - PARA VISUAL FOXPRO 9.0
|
||||||
* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com)
|
* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) - http://fdbozzo.blogspot.com
|
||||||
* Fecha creaci<63>n.: 04/11/2013
|
* Fecha creaci<63>n.: 04/11/2013
|
||||||
*
|
*
|
||||||
* LICENCIA:
|
* LICENCIA:
|
||||||
@@ -70,6 +70,10 @@
|
|||||||
* 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge
|
* 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge
|
||||||
* 02/02/2014 FDBOZZO v1.19.7 Encapsulaci<63>n de objetos OLE en el propio control o clase // Blocksize ajustado
|
* 02/02/2014 FDBOZZO v1.19.7 Encapsulaci<63>n de objetos OLE en el propio control o clase // Blocksize ajustado
|
||||||
* 03/02/2014 FDBOZZO v1.19.8 Arreglo bug pageframe (error activePage)
|
* 03/02/2014 FDBOZZO v1.19.8 Arreglo bug pageframe (error activePage)
|
||||||
|
* 08/02/2014 FDBOZZO v1.19.9 Nuevos items de config.en foxbin2prg.cfg / Bug en Localizaci<63>n / Mejora log / Parametrizaci<63>n N<> backups / Timestamps desactivados por defecto
|
||||||
|
* 09/02/2014 FDBOZZO v1.19.10 Parametrizaci<63>n soporte de tipo de conversi<73>n por archivo / ClearUniqueID
|
||||||
|
* 13/02/2014 FDBOZZO v1.19.11 Optimizaciones WITH/ENDWITH (16%+velocidad) / Arreglo bug #IF anidados
|
||||||
|
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / Tambi<62>n mover UniqueIDs y Timestamps a metadata
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -86,6 +90,7 @@
|
|||||||
* 14/12/2013 Fidel Charny REPORTE BUG scx v1.13: La regeneraci<63>n de los forms (SCX) no regenera el <20>ltimo registro COMMENT (arreglado en v.1.14)
|
* 14/12/2013 Fidel Charny REPORTE BUG scx v1.13: La regeneraci<63>n de los forms (SCX) no regenera el <20>ltimo registro COMMENT (arreglado en v.1.14)
|
||||||
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
||||||
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
||||||
|
* 20/02/2014 Ryan Harris PROPUESTA DE MEJORA v1.19.11: Centralizar los ZOrder de los controles en metadata de cabecera de la clase para minimizar diferencias
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -110,21 +115,21 @@
|
|||||||
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
|
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
|
||||||
* generar errores de compilaci<63>n, t<>picamente los #include.
|
* generar errores de compilaci<63>n, t<>picamente los #include.
|
||||||
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
||||||
* tcNoTimestamps (v? IN ) '1' para mantener los timestamps vac<61>os. <EFBFBD>til para minimizar diferencias en Diff/Merge por este motivo.
|
* tcNoTimestamps ( ) Sin uso. Utilizar el archivo de configuraci<63>n.
|
||||||
*
|
*
|
||||||
* Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX"
|
* Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX"
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName, tcRecompile, tcNoTimestamps
|
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName, tcRecompile, tcNoTimestamps
|
||||||
|
|
||||||
*-- Internacionalizaci<63>n / Internationalization
|
|
||||||
*-- Fin / End
|
|
||||||
|
|
||||||
*-- NO modificar! / Do NOT change!
|
*-- NO modificar! / Do NOT change!
|
||||||
#DEFINE C_CMT_I '*--'
|
#DEFINE C_CMT_I '*--'
|
||||||
#DEFINE C_CMT_F '--*'
|
#DEFINE C_CMT_F '--*'
|
||||||
#DEFINE C_METADATA_I '*< CLASSDATA:'
|
#DEFINE C_CLASSDATA_I '*< CLASSDATA:'
|
||||||
#DEFINE C_METADATA_F '/>'
|
#DEFINE C_CLASSDATA_F '/>'
|
||||||
#DEFINE C_LEN_METADATA_I LEN(C_METADATA_I)
|
#DEFINE C_LEN_CLASSDATA_I LEN(C_CLASSDATA_I)
|
||||||
|
#DEFINE C_OBJECTDATA_I '*< OBJECTDATA:'
|
||||||
|
#DEFINE C_OBJECTDATA_F '/>'
|
||||||
|
#DEFINE C_LEN_OBJECTDATA_I LEN(C_OBJECTDATA_I)
|
||||||
#DEFINE C_OLE_I '*< OLE:'
|
#DEFINE C_OLE_I '*< OLE:'
|
||||||
#DEFINE C_OLE_F '/>'
|
#DEFINE C_OLE_F '/>'
|
||||||
#DEFINE C_LEN_OLE_I LEN(C_OLE_I)
|
#DEFINE C_LEN_OLE_I LEN(C_OLE_I)
|
||||||
@@ -780,7 +785,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
||||||
.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
||||||
.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile))
|
.l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile))
|
||||||
.l_UseTimestamps = (TRANSFORM(tcNoTimestamps) == '0')
|
.l_UseTimestamps = (TRANSFORM(tcNoTimestamps) == '1')
|
||||||
.l_Debug = (TRANSFORM(tcDebug)=='1' OR FILE(FORCEEXT(.c_Foxbin2prg_FullPath,'LOG')))
|
.l_Debug = (TRANSFORM(tcDebug)=='1' OR FILE(FORCEEXT(.c_Foxbin2prg_FullPath,'LOG')))
|
||||||
.n_ExtraBackupLevels = INT(VAL(TRANSFORM(tcExtraBackupLevels)))
|
.n_ExtraBackupLevels = INT(VAL(TRANSFORM(tcExtraBackupLevels)))
|
||||||
|
|
||||||
@@ -818,7 +823,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
|
* se hace desde el directorio del archivo, con lo que las referencias relativas pueden
|
||||||
* generar errores de compilaci<63>n, t<>picamente los #include.
|
* generar errores de compilaci<63>n, t<>picamente los #include.
|
||||||
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
* NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usar<61> como base para recompilar
|
||||||
* tcNoTimestamps (v? IN ) Indica si se deben vacar ('1') o no ['0'] los timestamps de registro
|
* tcNoTimestamps ( ) Sin uso. Utilizar el archivo de configuraci<63>n.
|
||||||
* tcBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
* tcBackupLevels (v? IN ) Indica la cantidad de niveles de backup a realizar (por defecto '1')
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
||||||
@@ -850,7 +855,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ C_TAB + 'tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) )
|
+ C_TAB + 'tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) )
|
||||||
|
|
||||||
tcRecompile = EVL(tcRecompile,'1')
|
tcRecompile = EVL(tcRecompile,'1')
|
||||||
tcNoTimestamps = EVL(tcNoTimestamps,'0')
|
tcNoTimestamps = '0' &&EVL(tcNoTimestamps,'0')
|
||||||
|
|
||||||
IF _VFP.STARTMODE > 0
|
IF _VFP.STARTMODE > 0
|
||||||
SET ESCAPE OFF
|
SET ESCAPE OFF
|
||||||
@@ -2638,7 +2643,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
+ [<memberdata name="analizarbloque_foxbin2prg" display="analizarBloque_FoxBin2Prg"/>] ;
|
+ [<memberdata name="analizarbloque_foxbin2prg" display="analizarBloque_FoxBin2Prg"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_hidden" display="analizarBloque_HIDDEN"/>] ;
|
+ [<memberdata name="analizarbloque_hidden" display="analizarBloque_HIDDEN"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_include" display="analizarBloque_INCLUDE"/>] ;
|
+ [<memberdata name="analizarbloque_include" display="analizarBloque_INCLUDE"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_metadata" display="analizarBloque_METADATA"/>] ;
|
+ [<memberdata name="analizarbloque_classmetadata" display="analizarBloque_CLASSMETADATA"/>] ;
|
||||||
|
+ [<memberdata name="analizarbloque_objectmetadata" display="analizarBloque_OBJECTMETADATA"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_ole_def" display="analizarBloque_OLE_DEF"/>] ;
|
+ [<memberdata name="analizarbloque_ole_def" display="analizarBloque_OLE_DEF"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_procedure" display="analizarBloque_PROCEDURE"/>] ;
|
+ [<memberdata name="analizarbloque_procedure" display="analizarBloque_PROCEDURE"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_protected" display="analizarBloque_PROTECTED"/>] ;
|
+ [<memberdata name="analizarbloque_protected" display="analizarBloque_PROTECTED"/>] ;
|
||||||
@@ -2747,9 +2753,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
LPARAMETERS tcLineWithMetadata, taPropsAndValues, tnPropsAndValues_Count, tcLeftTag, tcRightTag
|
LPARAMETERS tcLineWithMetadata, taPropsAndValues, tnPropsAndValues_Count, tcLeftTag, tcRightTag
|
||||||
EXTERNAL ARRAY taPropsAndValues
|
EXTERNAL ARRAY taPropsAndValues
|
||||||
|
|
||||||
LOCAL lcMetadatos, I, X, lnEqualSigns, lcNextVar, lcStr, lcVirtualMeta, lnPos1, lnPos2, lnLastPos, lnCantComillas
|
LOCAL lcMetadatos, I, lnEqualSigns, lcNextVar, lcStr, lcVirtualMeta, lnPos1, lnPos2, lnLastPos, lnCantComillas
|
||||||
STORE '' TO lcVirtualMeta
|
STORE '' TO lcVirtualMeta
|
||||||
STORE 0 TO lnPos1, lnPos2, lnLastPos, tnPropsAndValues_Count, I, X
|
STORE 0 TO lnPos1, lnPos2, lnLastPos, tnPropsAndValues_Count, I
|
||||||
|
|
||||||
lcMetadatos = ALLTRIM( STREXTRACT( tcLineWithMetadata, tcLeftTag, tcRightTag, 1, 1) )
|
lcMetadatos = ALLTRIM( STREXTRACT( tcLineWithMetadata, tcLeftTag, tcRightTag, 1, 1) )
|
||||||
lnCantComillas = OCCURS( '"', lcMetadatos )
|
lnCantComillas = OCCURS( '"', lcMetadatos )
|
||||||
@@ -2769,7 +2775,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
* TENER EN CUENTA AL GENERAR EL TEXTO O AL MODIFICARLO MANUALMENTE AL MERGEAR
|
* TENER EN CUENTA AL GENERAR EL TEXTO O AL MODIFICARLO MANUALMENTE AL MERGEAR
|
||||||
*-------------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------------
|
||||||
FOR I = 1 TO lnCantComillas STEP 2
|
FOR I = 1 TO lnCantComillas STEP 2
|
||||||
X = X + 1
|
tnPropsAndValues_Count = tnPropsAndValues_Count + 1
|
||||||
|
|
||||||
* Type="V" Cpid="1252"
|
* Type="V" Cpid="1252"
|
||||||
* ^ ^ => Posiciones del par de comillas dobles
|
* ^ ^ => Posiciones del par de comillas dobles
|
||||||
@@ -2778,8 +2784,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
* Type="V" Cpid="1252"
|
* Type="V" Cpid="1252"
|
||||||
* ^ ^ ^ => LastPos, lnPos1 y lnPos2
|
* ^ ^ ^ => LastPos, lnPos1 y lnPos2
|
||||||
taPropsAndValues(X,1) = ALLTRIM( GETWORDNUM( SUBSTR( lcMetadatos, lnLastPos, lnPos1 - lnLastPos ), 1, '=' ) )
|
taPropsAndValues(tnPropsAndValues_Count,1) = ALLTRIM( GETWORDNUM( SUBSTR( lcMetadatos, lnLastPos, lnPos1 - lnLastPos ), 1, '=' ) )
|
||||||
taPropsAndValues(X,2) = SUBSTR( lcMetadatos, lnPos1 + 1, lnPos2 - lnPos1 - 1 )
|
taPropsAndValues(tnPropsAndValues_Count,2) = SUBSTR( lcMetadatos, lnPos1 + 1, lnPos2 - lnPos1 - 1 )
|
||||||
|
|
||||||
lnLastPos = lnPos2 + 1
|
lnLastPos = lnPos2 + 1
|
||||||
ENDFOR
|
ENDFOR
|
||||||
@@ -3832,7 +3838,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
IF LEFT( tcLine, 11 ) == 'ADD OBJECT '
|
IF LEFT( tcLine, 11 ) == 'ADD OBJECT '
|
||||||
*-- Estructura a reconocer: ADD OBJECT 'frm_a.Check1' AS check [WITH]
|
*-- Estructura a reconocer: ADD OBJECT 'frm_a.Check1' AS check [WITH]
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, Z, lcProp, lcValue
|
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, Z, lcProp, lcValue, lcNombre, lcObjName
|
||||||
tcLine = CHRTRAN( tcLine, ['], ["] )
|
tcLine = CHRTRAN( tcLine, ['], ["] )
|
||||||
|
|
||||||
IF EMPTY(toClase._Fin_Cab)
|
IF EMPTY(toClase._Fin_Cab)
|
||||||
@@ -3840,22 +3846,42 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
toClase._Ini_Cuerpo = I
|
toClase._Ini_Cuerpo = I
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toObjeto = NULL
|
toObjeto = NULL
|
||||||
toObjeto = CREATEOBJECT('CL_OBJETO')
|
lcNombre = ALLTRIM( CHRTRAN( STREXTRACT(tcLine, 'ADD OBJECT ', ' AS ', 1, 1), ['"], [] ) )
|
||||||
toClase.add_Object( toObjeto )
|
lcObjName = JUSTEXT( '.' + lcNombre )
|
||||||
toObjeto._Nombre = ALLTRIM( CHRTRAN( STREXTRACT(tcLine, 'ADD OBJECT ', ' AS ', 1, 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)
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF ISNULL(toObjeto)
|
||||||
|
toObjeto = CREATEOBJECT('CL_OBJETO')
|
||||||
|
*-- Luego se reasigna el ZOrder, pero si no lo hace, se pone <20>ltimo como si se acabara de agregar.
|
||||||
|
*-- Puede pasar si se agrega manualmente al TX2 y se olvida agregar la metadata OBJECTDATA.
|
||||||
|
toObjeto._ZOrder = 9999
|
||||||
|
toObjeto._Nombre = lcNombre
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
toObjeto._ObjName = lcObjName
|
||||||
|
|
||||||
IF '.' $ toObjeto._Nombre
|
IF '.' $ toObjeto._Nombre
|
||||||
toObjeto._ObjName = JUSTEXT( toObjeto._Nombre )
|
|
||||||
toObjeto._Parent = toClase._ObjName + '.' + JUSTSTEM( toObjeto._Nombre )
|
toObjeto._Parent = toClase._ObjName + '.' + JUSTSTEM( toObjeto._Nombre )
|
||||||
ELSE
|
ELSE
|
||||||
toObjeto._ObjName = toObjeto._Nombre
|
|
||||||
toObjeto._Parent = toClase._ObjName
|
toObjeto._Parent = toClase._ObjName
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toObjeto._Nombre = toObjeto._Parent + '.' + toObjeto._ObjName
|
toObjeto._Nombre = toObjeto._Parent + '.' + toObjeto._ObjName
|
||||||
toObjeto._Class = ALLTRIM( STREXTRACT(tcLine + ' WITH', ' AS ', ' WITH', 1, 1) )
|
toObjeto._Class = ALLTRIM( STREXTRACT(tcLine + ' WITH', ' AS ', ' WITH', 1, 1) )
|
||||||
|
|
||||||
|
IF NOT toClase.l_ObjectMetadataInHeader
|
||||||
|
toClase.add_Object( toObjeto )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
*-- Propiedades del ADD OBJECT
|
*-- Propiedades del ADD OBJECT
|
||||||
WITH THIS
|
WITH THIS
|
||||||
@@ -3870,10 +3896,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
toObjeto._ClassLib = .get_ValueByName_FromListNamesWithValues( 'ClassLib', 'C', @laPropsAndValues )
|
toObjeto._ClassLib = .get_ValueByName_FromListNamesWithValues( 'ClassLib', 'C', @laPropsAndValues )
|
||||||
toObjeto._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues )
|
toObjeto._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues )
|
||||||
toObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues )
|
|
||||||
|
IF NOT toClase.l_ObjectMetadataInHeader
|
||||||
|
toObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues )
|
||||||
|
toObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
|
||||||
|
toObjeto._ZOrder = .get_ValueByName_FromListNamesWithValues( 'ZOrder', 'I', @laPropsAndValues )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
toObjeto._Ole2 = .get_ValueByName_FromListNamesWithValues( 'OLEObject', 'C', @laPropsAndValues )
|
toObjeto._Ole2 = .get_ValueByName_FromListNamesWithValues( 'OLEObject', 'C', @laPropsAndValues )
|
||||||
toObjeto._ZOrder = .get_ValueByName_FromListNamesWithValues( 'ZOrder', 'I', @laPropsAndValues )
|
|
||||||
toObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
|
|
||||||
toObjeto._Ole = STRCONV( .get_ValueByName_FromListNamesWithValues( 'Value', 'C', @laPropsAndValues ), 14 )
|
toObjeto._Ole = STRCONV( .get_ValueByName_FromListNamesWithValues( 'Value', 'C', @laPropsAndValues ), 14 )
|
||||||
|
|
||||||
IF NOT EMPTY( toObjeto._Ole2 ) && Le agrego "OLEObject = " delante
|
IF NOT EMPTY( toObjeto._Ole2 ) && Le agrego "OLEObject = " delante
|
||||||
@@ -3891,11 +3921,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;"
|
IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;"
|
||||||
*toObjeto.add_Property( .desnormalizarAsignacion( LEFT(tcLine, LEN(tcLine) - 3) ) )
|
|
||||||
.get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue )
|
.get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue )
|
||||||
toObjeto.add_Property( @lcProp, @lcValue )
|
toObjeto.add_Property( @lcProp, @lcValue )
|
||||||
ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>)
|
ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>)
|
||||||
*toObjeto.add_Property( .desnormalizarAsignacion( RTRIM(tcLine) ) )
|
|
||||||
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue )
|
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue )
|
||||||
toObjeto.add_Property( @lcProp, @lcValue )
|
toObjeto.add_Property( @lcProp, @lcValue )
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -4031,8 +4059,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
TRY
|
TRY
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
LOCAL Z, lcProp, lcValue, loEx AS EXCEPTION ;
|
LOCAL Z, lcProp, lcValue, loEx AS EXCEPTION ;
|
||||||
, llMETADATA_Completed, llPROTECTED_Completed, llHIDDEN_Completed, llDEFINED_PAM_Completed ;
|
, llCLASSMETADATA_Completed, llPROTECTED_Completed, llHIDDEN_Completed, llDEFINED_PAM_Completed ;
|
||||||
, llINCLUDE_Completed, llCLASS_PROPERTY_Completed ;
|
, llINCLUDE_Completed, llCLASS_PROPERTY_Completed, llOBJECTMETADATA_Completed ;
|
||||||
, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
STORE '' TO tcProcedureAbierto
|
STORE '' TO tcProcedureAbierto
|
||||||
@@ -4075,7 +4103,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
llPROTECTED_Completed = .T.
|
llPROTECTED_Completed = .T.
|
||||||
llHIDDEN_Completed = .T.
|
llHIDDEN_Completed = .T.
|
||||||
llINCLUDE_Completed = .T.
|
llINCLUDE_Completed = .T.
|
||||||
llMETADATA_Completed = .T.
|
llCLASSMETADATA_Completed = .T.
|
||||||
|
llOBJECTMETADATA_Completed = .T.
|
||||||
llDEFINED_PAM_Completed = .T.
|
llDEFINED_PAM_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
@@ -4092,8 +4121,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
llINCLUDE_Completed = .T.
|
llINCLUDE_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llMETADATA_Completed AND .analizarBloque_METADATA( @toClase, @tcLine )
|
CASE NOT llCLASSMETADATA_Completed AND .analizarBloque_CLASSMETADATA( @toClase, @tcLine )
|
||||||
llMETADATA_Completed = .T.
|
llCLASSMETADATA_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
|
CASE NOT llOBJECTMETADATA_Completed AND .analizarBloque_OBJECTMETADATA( @toClase, @tcLine )
|
||||||
|
*llOBJECTMETADATA_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
CASE NOT llDEFINED_PAM_Completed AND .analizarBloque_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I )
|
CASE NOT llDEFINED_PAM_Completed AND .analizarBloque_DEFINED_PAM( @toClase, @tcLine, @taCodeLines, tnCodeLines, @I )
|
||||||
@@ -4105,7 +4138,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
llPROTECTED_Completed = .T.
|
llPROTECTED_Completed = .T.
|
||||||
llHIDDEN_Completed = .T.
|
llHIDDEN_Completed = .T.
|
||||||
llINCLUDE_Completed = .T.
|
llINCLUDE_Completed = .T.
|
||||||
llMETADATA_Completed = .T.
|
llCLASSMETADATA_Completed = .T.
|
||||||
|
llOBJECTMETADATA_Completed = .T.
|
||||||
llDEFINED_PAM_Completed = .T.
|
llDEFINED_PAM_Completed = .T.
|
||||||
|
|
||||||
|
|
||||||
@@ -4119,7 +4153,6 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*-- NOTA: Las propiedades se agregan tal cual, incluso aunque est<73>n separadas en
|
*-- NOTA: Las propiedades se agregan tal cual, incluso aunque est<73>n separadas en
|
||||||
*-- varias l<>neas (memberdata y fb2p_value), ya que luego se ensamblan en classProps2Memo().
|
*-- varias l<>neas (memberdata y fb2p_value), ya que luego se ensamblan en classProps2Memo().
|
||||||
*
|
*
|
||||||
*toClase.add_Property( THIS.desnormalizarAsignacion( RTRIM(tcLine) ), RTRIM(tc_Comentario) )
|
|
||||||
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @I )
|
.get_SeparatedPropAndValue( RTRIM(tcLine), @lcProp, @lcValue, @toClase, @taCodeLines, tnCodeLines, @I )
|
||||||
toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) )
|
toClase.add_Property( @lcProp, @lcValue, RTRIM(tc_Comentario) )
|
||||||
|
|
||||||
@@ -4241,7 +4274,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE analizarBloque_METADATA
|
PROCEDURE analizarBloque_CLASSMETADATA
|
||||||
LPARAMETERS toClase, tcLine
|
LPARAMETERS toClase, tcLine
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
@@ -4250,12 +4283,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
LOCAL llBloqueEncontrado
|
LOCAL llBloqueEncontrado
|
||||||
|
|
||||||
IF LEFT(tcLine, C_LEN_METADATA_I) == C_METADATA_I && METADATA de la CLASE
|
IF LEFT(tcLine, C_LEN_CLASSDATA_I) == C_CLASSDATA_I && METADATA de la CLASE
|
||||||
*< CLASSDATA: Baseclass="custom" Timestamp="2013/11/19 11:51:04" Scale="Foxels" Uniqueid="_3WF0VSTN1" ProjectClassIcon="container.ico" ClassIcon="toolbar.ico" />
|
*< CLASSDATA: Baseclass="custom" Timestamp="2013/11/19 11:51:04" Scale="Foxels" Uniqueid="_3WF0VSTN1" ProjectClassIcon="container.ico" ClassIcon="toolbar.ico" />
|
||||||
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count
|
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
WITH THIS
|
WITH THIS
|
||||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_METADATA_I, C_METADATA_F )
|
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_CLASSDATA_I, C_CLASSDATA_F )
|
||||||
|
|
||||||
toClase._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues )
|
toClase._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues )
|
||||||
toClase._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
|
toClase._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
|
||||||
@@ -4276,6 +4309,36 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE analizarBloque_OBJECTMETADATA
|
||||||
|
LPARAMETERS toClase, tcLine
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
LOCAL llBloqueEncontrado
|
||||||
|
|
||||||
|
IF LEFT(tcLine, C_LEN_OBJECTDATA_I) == C_OBJECTDATA_I && METADATA del ADD OBJECT
|
||||||
|
*< OBJECTDATA: ObjName="txtValor" Timestamp="2013/11/19 11:51:04" Uniqueid="_3WF0VSTN1" />
|
||||||
|
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
toClase.l_ObjectMetadataInHeader = .T.
|
||||||
|
|
||||||
|
loObjeto = CREATEOBJECT('CL_OBJETO')
|
||||||
|
toClase.add_Object( loObjeto )
|
||||||
|
|
||||||
|
WITH THIS
|
||||||
|
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_OBJECTDATA_I, C_OBJECTDATA_F )
|
||||||
|
loObjeto._Nombre = .get_ValueByName_FromListNamesWithValues( 'ObjPath', 'C', @laPropsAndValues )
|
||||||
|
loObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues ) ) )
|
||||||
|
loObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues )
|
||||||
|
ENDWITH && THIS
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE analizarBloque_OLE_DEF
|
PROCEDURE analizarBloque_OLE_DEF
|
||||||
LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto
|
LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto
|
||||||
@@ -6928,6 +6991,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
+ [<memberdata name="write_add_objects_withproperties" display="write_ADD_OBJECTS_WithProperties"/>] ;
|
+ [<memberdata name="write_add_objects_withproperties" display="write_ADD_OBJECTS_WithProperties"/>] ;
|
||||||
+ [<memberdata name="write_all_object_methods" display="write_ALL_OBJECT_METHODS"/>] ;
|
+ [<memberdata name="write_all_object_methods" display="write_ALL_OBJECT_METHODS"/>] ;
|
||||||
+ [<memberdata name="write_cabecera_reporte" display="write_CABECERA_REPORTE"/>] ;
|
+ [<memberdata name="write_cabecera_reporte" display="write_CABECERA_REPORTE"/>] ;
|
||||||
|
+ [<memberdata name="write_classmetadata" display="write_CLASSMETADATA"/>] ;
|
||||||
+ [<memberdata name="write_class_methods" display="write_CLASS_METHODS"/>] ;
|
+ [<memberdata name="write_class_methods" display="write_CLASS_METHODS"/>] ;
|
||||||
+ [<memberdata name="write_class_properties" display="write_CLASS_PROPERTIES"/>] ;
|
+ [<memberdata name="write_class_properties" display="write_CLASS_PROPERTIES"/>] ;
|
||||||
+ [<memberdata name="write_dataenvironment_reporte" display="write_DATAENVIRONMENT_REPORTE"/>] ;
|
+ [<memberdata name="write_dataenvironment_reporte" display="write_DATAENVIRONMENT_REPORTE"/>] ;
|
||||||
@@ -6951,7 +7015,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
+ [<memberdata name="write_enddefine_sicorresponde" display="write_ENDDEFINE_SiCorresponde"/>] ;
|
+ [<memberdata name="write_enddefine_sicorresponde" display="write_ENDDEFINE_SiCorresponde"/>] ;
|
||||||
+ [<memberdata name="write_hidden_properties" display="write_HIDDEN_Properties"/>] ;
|
+ [<memberdata name="write_hidden_properties" display="write_HIDDEN_Properties"/>] ;
|
||||||
+ [<memberdata name="write_include" display="write_INCLUDE"/>] ;
|
+ [<memberdata name="write_include" display="write_INCLUDE"/>] ;
|
||||||
+ [<memberdata name="write_metadata" display="write_METADATA"/>] ;
|
+ [<memberdata name="write_objectmetadata" display="write_OBJECTMETADATA"/>] ;
|
||||||
+ [<memberdata name="write_protected_properties" display="write_PROTECTED_Properties"/>] ;
|
+ [<memberdata name="write_protected_properties" display="write_PROTECTED_Properties"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
@@ -7002,12 +7066,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
||||||
*tcMethods2 = tcMethods
|
|
||||||
*TEXT TO tcMethods2 ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
|
||||||
* <<'PROCEDURE'>> <<tcMethodName>>
|
|
||||||
* <<.IndentarMemo( taCode(taMethods(I,2)) )>>
|
|
||||||
* <<'ENDPROC'>>
|
|
||||||
*ENDTEXT
|
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + tcMethodName
|
tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + tcMethodName
|
||||||
tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
||||||
@@ -7511,7 +7569,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*-- Defino los objetos a cargar
|
*-- Defino los objetos a cargar
|
||||||
THIS.get_PropsAndValuesFrom_PROPERTIES( toRegObj.PROPERTIES, 1, @laPropsAndValues, @lnPropsAndValues_Count, @lcMemo )
|
THIS.get_PropsAndValuesFrom_PROPERTIES( toRegObj.PROPERTIES, 1, @laPropsAndValues, @lnPropsAndValues_Count, @lcMemo )
|
||||||
*lcMemo = THIS.set_MultilineMemoWithAddObjectProperties( lcMemo, C_TAB + C_TAB, .T. )
|
|
||||||
lcMemo = THIS.set_MultilineMemoWithAddObjectProperties( @laPropsAndValues, @lnPropsAndValues_Count, C_TAB + C_TAB, .T. )
|
lcMemo = THIS.set_MultilineMemoWithAddObjectProperties( @laPropsAndValues, @lnPropsAndValues_Count, C_TAB + C_TAB, .T. )
|
||||||
|
|
||||||
IF '.' $ toRegObj.PARENT
|
IF '.' $ toRegObj.PARENT
|
||||||
@@ -7544,8 +7601,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||||
BaseClass="<<toRegObj.Baseclass>>" UniqueID="<<toRegObj.Uniqueid>>"
|
BaseClass="<<toRegObj.Baseclass>>" <<>>
|
||||||
Timestamp="<<THIS.getTimeStamp(toRegObj.Timestamp)>>" ZOrder="<<TRANSFORM(toRegObj._ZOrder)>>" <<>>
|
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
*-- Agrego metainformaci<63>n para objetos OLE
|
*-- Agrego metainformaci<63>n para objetos OLE
|
||||||
@@ -7592,12 +7648,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
FOR I = 1 TO lnMethodCount
|
FOR I = 1 TO lnMethodCount
|
||||||
*-- Genero los m<>todos indentados
|
*-- Genero los m<>todos indentados
|
||||||
*TEXT TO lcMethods2 ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
|
||||||
* <<>> <<laMethods(I,3)>>PROCEDURE <<laMethods(I,1)>>
|
|
||||||
* <<.IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )>>
|
|
||||||
* <<>> ENDPROC
|
|
||||||
|
|
||||||
*ENDTEXT
|
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
||||||
@@ -7659,21 +7709,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- C<>digo del m<>todo
|
*-- C<>digo del m<>todo
|
||||||
*TEXT TO lcMethods2 ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
|
||||||
* <<.IndentarMemo( taCode(taMethods(I,2)), CHR(9) + CHR(9) )>>
|
|
||||||
* <<>> ENDPROC
|
|
||||||
|
|
||||||
*ENDTEXT
|
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
||||||
lcMethods = lcMethods + CR_LF
|
lcMethods = lcMethods + CR_LF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
*TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
|
||||||
* <<lcMethods>>
|
|
||||||
*ENDTEXT
|
|
||||||
|
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + lcMethods &&+ CR_LF
|
C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + lcMethods &&+ CR_LF
|
||||||
|
|
||||||
@@ -7822,6 +7863,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
<<>> <<C_DEFINED_PAM_F>>
|
<<>> <<C_DEFINED_PAM_F>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -7883,7 +7926,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE write_METADATA
|
PROCEDURE write_CLASSMETADATA
|
||||||
LPARAMETERS toRegClass
|
LPARAMETERS toRegClass
|
||||||
|
|
||||||
*-- Agrego Metadatos de la clase (Baseclass, Timestamp, Scale, Uniqueid)
|
*-- Agrego Metadatos de la clase (Baseclass, Timestamp, Scale, Uniqueid)
|
||||||
@@ -7892,9 +7935,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||||
<<>> <<C_METADATA_I>>
|
<<>> <<C_CLASSDATA_I>>
|
||||||
Baseclass="<<toRegClass.Baseclass>>"
|
Baseclass="<<toRegClass.Baseclass>>"
|
||||||
Timestamp="<<THIS.getTimeStamp(toRegClass.Timestamp)>>"
|
Timestamp="<<ALLTRIM(THIS.getTimeStamp(toRegClass.Timestamp))>>"
|
||||||
Scale="<<toRegClass.Reserved6>>"
|
Scale="<<toRegClass.Reserved6>>"
|
||||||
Uniqueid="<<toRegClass.Uniqueid>>"
|
Uniqueid="<<toRegClass.Uniqueid>>"
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
@@ -7922,8 +7965,43 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||||
<<C_METADATA_F>>
|
<<C_CLASSDATA_F>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF
|
||||||
|
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE write_OBJECTMETADATA
|
||||||
|
LPARAMETERS toRegObj
|
||||||
|
LOCAL lcNombre
|
||||||
|
|
||||||
|
*-- Agrego Metadatos de los objetos (Timestamp, UniqueID)
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
IF '.' $ toRegObj.PARENT
|
||||||
|
*-- Este caso: clase.objeto.objeto ==> se quita clase
|
||||||
|
lcNombre = SUBSTR(toRegObj.PARENT, AT('.', toRegObj.PARENT)+1) + '.' + toRegObj.OBJNAME
|
||||||
|
ELSE
|
||||||
|
*-- Este caso: objeto
|
||||||
|
lcNombre = toRegObj.OBJNAME
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||||
|
<<>> <<C_OBJECTDATA_I>>
|
||||||
|
ObjPath="<<lcNombre>>"
|
||||||
|
UniqueID="<<toRegObj.Uniqueid>>"
|
||||||
|
Timestamp="<<ALLTRIM(THIS.getTimeStamp(toRegObj.Timestamp))>>"
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||||
|
<<C_OBJECTDATA_F>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -8439,10 +8517,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
DODEFAULT( @toModulo, @toEx )
|
DODEFAULT( @toModulo, @toEx )
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
|
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
||||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
|
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
||||||
STORE 0 TO lnCodError, lnLastClass
|
, laObjs(1,3), I
|
||||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount
|
||||||
|
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1), laObjs(1)
|
||||||
STORE NULL TO loRegClass, loRegObj
|
STORE NULL TO loRegClass, loRegObj
|
||||||
|
|
||||||
WITH THIS AS c_conversor_vcx_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_vcx_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
@@ -8476,6 +8555,8 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDIF
|
ENDIF
|
||||||
IF toFoxBin2Prg.l_ClearUniqueID
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
loRegClass.UNIQUEID = ''
|
loRegClass.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegClass.UNIQUEID = ALLTRIM(loRegClass.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
||||||
@@ -8486,34 +8567,57 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_DEFINE_CLASS_COMMENTS( @loRegClass )
|
.write_DEFINE_CLASS_COMMENTS( @loRegClass )
|
||||||
|
|
||||||
.write_METADATA( @loRegClass )
|
.write_CLASSMETADATA( @loRegClass )
|
||||||
|
|
||||||
.write_INCLUDE( @loRegClass )
|
|
||||||
|
|
||||||
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
|
||||||
|
|
||||||
|
|
||||||
*-------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------
|
||||||
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA EXPORTAR SU DEFINICI<43>N
|
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA EXPORTAR SU DEFINICI<43>N
|
||||||
*-------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------
|
||||||
|
lnObjCount = 0
|
||||||
lnRecno = RECNO()
|
lnRecno = RECNO()
|
||||||
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
||||||
|
|
||||||
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
||||||
|
lnObjCount = lnObjCount + 1
|
||||||
|
DIMENSION laObjs(lnObjCount,3)
|
||||||
SCATTER MEMO NAME loRegObj
|
SCATTER MEMO NAME loRegObj
|
||||||
|
laObjs(lnObjCount,1) = loRegObj
|
||||||
|
laObjs(lnObjCount,2) = RECNO() && ZOrder
|
||||||
|
laObjs(lnObjCount,3) = lnObjCount && Alphabetic order
|
||||||
|
|
||||||
IF NOT toFoxBin2Prg.l_UseTimestamps
|
IF NOT toFoxBin2Prg.l_UseTimestamps
|
||||||
loRegObj.TIMESTAMP = 0
|
loRegObj.TIMESTAMP = 0
|
||||||
ENDIF
|
ENDIF
|
||||||
IF toFoxBin2Prg.l_ClearUniqueID
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
loRegObj.UNIQUEID = ''
|
loRegObj.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios
|
loRegObj = NULL
|
||||||
.write_ADD_OBJECTS_WithProperties( @loRegObj )
|
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
|
ASORT(laObjs, 2, -1, 0, 0) && Orden por ZOrder
|
||||||
|
|
||||||
|
IF lnObjCount > 0
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + 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) )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
.write_INCLUDE( @loRegClass )
|
||||||
|
|
||||||
|
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
||||||
|
|
||||||
|
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico (del SCAN original)
|
||||||
|
|
||||||
|
FOR I = 1 TO lnObjCount
|
||||||
|
.write_ADD_OBJECTS_WithProperties( laObjs(I,1) )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
@@ -8541,6 +8645,8 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDIF
|
ENDIF
|
||||||
IF toFoxBin2Prg.l_ClearUniqueID
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
loRegObj.UNIQUEID = ''
|
loRegObj.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
||||||
@@ -8612,9 +8718,10 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen ;
|
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
||||||
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1)
|
, laPropsAndValues(1), laPropsAndComments(1), lnLastClass, lnRecno, lcMethods, lcObjName, la_NombresObjsOle(1) ;
|
||||||
STORE 0 TO lnCodError, lnLastClass
|
, laObjs(1,3), I
|
||||||
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount
|
||||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
||||||
STORE NULL TO loRegClass, loRegObj
|
STORE NULL TO loRegClass, loRegObj
|
||||||
|
|
||||||
@@ -8626,9 +8733,6 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE
|
INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ OF TABLABIN ADDITIVE
|
||||||
SET ORDER TO 0 IN TABLABIN
|
SET ORDER TO 0 IN TABLABIN
|
||||||
|
|
||||||
*toModulo = NULL
|
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
|
||||||
|
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
|
||||||
|
|
||||||
.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
|
.get_NombresObjetosOLEPublic( @la_NombresObjsOle )
|
||||||
@@ -8660,9 +8764,18 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
AND (EMPTY(TABLABIN.PARENT) ;
|
AND (EMPTY(TABLABIN.PARENT) ;
|
||||||
AND (TABLABIN.BASECLASS == 'dataenvironment' OR TABLABIN.BASECLASS == 'form' OR TABLABIN.BASECLASS == 'formset' ) )
|
AND (TABLABIN.BASECLASS == 'dataenvironment' OR TABLABIN.BASECLASS == 'form' OR TABLABIN.BASECLASS == 'formset' ) )
|
||||||
|
|
||||||
*loRegClass = NULL
|
loRegClass = NULL
|
||||||
SCATTER MEMO NAME loRegClass
|
SCATTER MEMO NAME loRegClass
|
||||||
|
|
||||||
|
IF NOT toFoxBin2Prg.l_UseTimestamps
|
||||||
|
loRegClass.TIMESTAMP = 0
|
||||||
|
ENDIF
|
||||||
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
|
loRegClass.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegClass.UNIQUEID = ALLTRIM(loRegClass.UNIQUEID)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
||||||
|
|
||||||
.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
.write_ENDDEFINE_SiCorresponde( lnLastClass )
|
||||||
@@ -8671,34 +8784,58 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_DEFINE_CLASS_COMMENTS( @loRegClass )
|
.write_DEFINE_CLASS_COMMENTS( @loRegClass )
|
||||||
|
|
||||||
.write_METADATA( @loRegClass )
|
.write_CLASSMETADATA( @loRegClass )
|
||||||
|
|
||||||
.write_INCLUDE( @loRegClass )
|
|
||||||
|
|
||||||
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
|
||||||
|
|
||||||
|
|
||||||
*-------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------
|
||||||
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA EXPORTAR SU DEFINICI<43>N
|
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA EXPORTAR SU DEFINICI<43>N
|
||||||
*-------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------
|
||||||
|
lnObjCount = 0
|
||||||
lnRecno = RECNO()
|
lnRecno = RECNO()
|
||||||
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
||||||
|
|
||||||
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
SCAN REST WHILE TABLABIN.PLATFORM = "WINDOWS" AND ALLTRIM(GETWORDNUM(TABLABIN.PARENT, 1, '.')) == lcObjName
|
||||||
|
lnObjCount = lnObjCount + 1
|
||||||
|
DIMENSION laObjs(lnObjCount,3)
|
||||||
SCATTER MEMO NAME loRegObj
|
SCATTER MEMO NAME loRegObj
|
||||||
|
laObjs(lnObjCount,1) = loRegObj
|
||||||
|
laObjs(lnObjCount,2) = RECNO() && ZOrder
|
||||||
|
laObjs(lnObjCount,3) = lnObjCount && Orden alfab<61>tico
|
||||||
|
|
||||||
IF NOT toFoxBin2Prg.l_UseTimestamps
|
IF NOT toFoxBin2Prg.l_UseTimestamps
|
||||||
loRegObj.TIMESTAMP = 0
|
loRegObj.TIMESTAMP = 0
|
||||||
ENDIF
|
ENDIF
|
||||||
IF toFoxBin2Prg.l_ClearUniqueID
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
loRegObj.UNIQUEID = ''
|
loRegObj.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
ADDPROPERTY( loRegObj, '_ZOrder', RECNO()*100 ) && Para permitir insertar objetos manualmente entre medias al integrar cambios
|
loRegObj = NULL
|
||||||
.write_ADD_OBJECTS_WithProperties( @loRegObj )
|
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
|
ASORT(laObjs, 2, -1, 0, 0) && Orden por ZOrder
|
||||||
|
|
||||||
|
IF lnObjCount > 0
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + 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) )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
.write_INCLUDE( @loRegClass )
|
||||||
|
|
||||||
|
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected )
|
||||||
|
|
||||||
|
|
||||||
|
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico de objetos (del SCAN original)
|
||||||
|
|
||||||
|
FOR I = 1 TO lnObjCount
|
||||||
|
.write_ADD_OBJECTS_WithProperties( laObjs(I,1) )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
@@ -8728,6 +8865,8 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDIF
|
ENDIF
|
||||||
IF toFoxBin2Prg.l_ClearUniqueID
|
IF toFoxBin2Prg.l_ClearUniqueID
|
||||||
loRegObj.UNIQUEID = ''
|
loRegObj.UNIQUEID = ''
|
||||||
|
ELSE
|
||||||
|
loRegObj.UNIQUEID = ALLTRIM(loRegObj.UNIQUEID)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
.get_ADD_OBJECT_METHODS( @loRegObj, @loRegClass, @lcMethods )
|
||||||
@@ -10138,6 +10277,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
|
|||||||
+ [<memberdata name="add_procedure" display="add_Procedure"/>] ;
|
+ [<memberdata name="add_procedure" display="add_Procedure"/>] ;
|
||||||
+ [<memberdata name="add_property" display="add_Property"/>] ;
|
+ [<memberdata name="add_property" display="add_Property"/>] ;
|
||||||
+ [<memberdata name="add_object" display="add_Object"/>] ;
|
+ [<memberdata name="add_object" display="add_Object"/>] ;
|
||||||
|
+ [<memberdata name="l_objectmetadatainheader" display="l_ObjectMetadataInHeader"/>] ;
|
||||||
+ [<memberdata name="_addobject_count" display="_AddObject_Count"/>] ;
|
+ [<memberdata name="_addobject_count" display="_AddObject_Count"/>] ;
|
||||||
+ [<memberdata name="_addobjects" display="_AddObjects"/>] ;
|
+ [<memberdata name="_addobjects" display="_AddObjects"/>] ;
|
||||||
+ [<memberdata name="_baseclass" display="_BaseClass"/>] ;
|
+ [<memberdata name="_baseclass" display="_BaseClass"/>] ;
|
||||||
@@ -10189,6 +10329,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
|
|||||||
|
|
||||||
|
|
||||||
DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1]
|
DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1]
|
||||||
|
l_ObjectMetadataInHeader = .F.
|
||||||
_Nombre = ''
|
_Nombre = ''
|
||||||
_ObjName = ''
|
_ObjName = ''
|
||||||
_Parent = ''
|
_Parent = ''
|
||||||
@@ -10706,7 +10847,6 @@ DEFINE CLASS CL_DBC_COL_BASE AS CL_COL_BASE
|
|||||||
+ [<memberdata name="updatedbc" display="updateDBC"/>] ;
|
+ [<memberdata name="updatedbc" display="updateDBC"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
*PROTECTED __ObjectID, __ObjectType
|
|
||||||
__ObjectID = 0
|
__ObjectID = 0
|
||||||
_Name = ''
|
_Name = ''
|
||||||
|
|
||||||
@@ -11459,7 +11599,6 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
LOCAL lcBinRecord, lnLen, lcDataType
|
LOCAL lcBinRecord, lnLen, lcDataType
|
||||||
|
|
||||||
lcBinRecord = ''
|
lcBinRecord = ''
|
||||||
*lcDataType = IIF( tnPropertyID = 2, 'B', VARTYPE(teData) )
|
|
||||||
lcDataType = THIS.getDBCPropertyValueTypeByPropertyID( tnPropertyID )
|
lcDataType = THIS.getDBCPropertyValueTypeByPropertyID( tnPropertyID )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
@@ -15899,11 +16038,9 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE
|
|||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE loHeader.ObjType = 1 && Menu Bar (Sistema)
|
CASE loHeader.ObjType = 1 && Menu Bar (Sistema)
|
||||||
*lcText = lcText + CR_LF + 'DEFINE MENU _MSYSMENU BAR'
|
|
||||||
lcText = lcText + CR_LF + 'DEFINE MENU ' + loBarPop.NAME + ' BAR'
|
lcText = lcText + CR_LF + 'DEFINE MENU ' + loBarPop.NAME + ' BAR'
|
||||||
|
|
||||||
CASE loHeader.ObjType = 5 && Menu Bar (On top)
|
CASE loHeader.ObjType = 5 && Menu Bar (On top)
|
||||||
*lcText = lcText + CR_LF + 'DEFINE MENU _ONTOP BAR'
|
|
||||||
lcText = lcText + CR_LF + 'DEFINE MENU ' + loBarPop.NAME + ' BAR'
|
lcText = lcText + CR_LF + 'DEFINE MENU ' + loBarPop.NAME + ' BAR'
|
||||||
|
|
||||||
CASE loHeader.ObjType = 4 && Shortcut
|
CASE loHeader.ObjType = 4 && Shortcut
|
||||||
|
|||||||
Reference in New Issue
Block a user