- Implementación de n_UseClassPerFile:2 para poder generar clases y forms como Archivo.ClaseBase.Clase.ext2 en vez de Archivo.Clase.ext2
This commit is contained in:
397
foxbin2prg.prg
397
foxbin2prg.prg
@@ -586,7 +586,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
+ [<memberdata name="n_showprogressbar" display="n_ShowProgressbar"/>] ;
|
+ [<memberdata name="n_showprogressbar" display="n_ShowProgressbar"/>] ;
|
||||||
+ [<memberdata name="l_stdouthabilitado" display="l_StdOutHabilitado"/>] ;
|
+ [<memberdata name="l_stdouthabilitado" display="l_StdOutHabilitado"/>] ;
|
||||||
+ [<memberdata name="l_test" display="l_Test"/>] ;
|
+ [<memberdata name="l_test" display="l_Test"/>] ;
|
||||||
+ [<memberdata name="l_useclassperfile" display="l_UseClassPerFile"/>] ;
|
+ [<memberdata name="n_useclassperfile" display="n_UseClassPerFile"/>] ;
|
||||||
+ [<memberdata name="n_cfg_actual" display="n_CFG_Actual"/>] ;
|
+ [<memberdata name="n_cfg_actual" display="n_CFG_Actual"/>] ;
|
||||||
+ [<memberdata name="n_existecapitalizacion" display="n_ExisteCapitalizacion"/>] ;
|
+ [<memberdata name="n_existecapitalizacion" display="n_ExisteCapitalizacion"/>] ;
|
||||||
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
+ [<memberdata name="n_extrabackuplevels" display="n_ExtraBackupLevels"/>] ;
|
||||||
@@ -670,7 +670,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
l_CancelWithEscKey = .T.
|
l_CancelWithEscKey = .T.
|
||||||
l_DropNullCharsFromCode = .T.
|
l_DropNullCharsFromCode = .T.
|
||||||
l_Recompile = .T.
|
l_Recompile = .T.
|
||||||
l_UseClassPerFile = .F.
|
n_UseClassPerFile = 0
|
||||||
l_ClassPerFileCheck = .F.
|
l_ClassPerFileCheck = .F.
|
||||||
l_RedirectClassPerFileToMain = .F.
|
l_RedirectClassPerFileToMain = .F.
|
||||||
l_NoTimestamps = .T.
|
l_NoTimestamps = .T.
|
||||||
@@ -954,11 +954,11 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE l_UseClassPerFile_ACCESS
|
PROCEDURE n_UseClassPerFile_ACCESS
|
||||||
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
|
||||||
RETURN THIS.l_UseClassPerFile
|
RETURN THIS.n_UseClassPerFile
|
||||||
ELSE
|
ELSE
|
||||||
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_UseClassPerFile, THIS.l_UseClassPerFile )
|
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).n_UseClassPerFile, THIS.n_UseClassPerFile )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -1641,8 +1641,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
CASE LEFT( laConfig(I), 16 ) == LOWER('UseClassPerFile:')
|
CASE LEFT( laConfig(I), 16 ) == LOWER('UseClassPerFile:')
|
||||||
lcValue = ALLTRIM( SUBSTR( laConfig(I), 17 ) )
|
lcValue = ALLTRIM( SUBSTR( laConfig(I), 17 ) )
|
||||||
IF INLIST( lcValue, '0', '1' ) THEN
|
IF INLIST( lcValue, '0', '1', '2' ) THEN
|
||||||
lo_CFG.l_UseClassPerFile = ( TRANSFORM(lcValue) == '1' )
|
lo_CFG.n_UseClassPerFile = INT( VAL(lcValue) )
|
||||||
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > UseClassPerFile: ' + TRANSFORM(lcValue) )
|
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > UseClassPerFile: ' + TRANSFORM(lcValue) )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -1793,7 +1793,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
.writeLog( C_TAB + 'l_Recompile: ' + TRANSFORM(.l_Recompile) + ' (' + tcRecompile + ')' )
|
.writeLog( C_TAB + 'l_Recompile: ' + TRANSFORM(.l_Recompile) + ' (' + tcRecompile + ')' )
|
||||||
.writeLog( C_TAB + 'l_NoTimestamps: ' + TRANSFORM(.l_NoTimestamps) )
|
.writeLog( C_TAB + 'l_NoTimestamps: ' + TRANSFORM(.l_NoTimestamps) )
|
||||||
.writeLog( C_TAB + 'l_ClearUniqueID: ' + TRANSFORM(.l_ClearUniqueID) )
|
.writeLog( C_TAB + 'l_ClearUniqueID: ' + TRANSFORM(.l_ClearUniqueID) )
|
||||||
.writeLog( C_TAB + 'l_UseClassPerFile: ' + TRANSFORM(.l_UseClassPerFile) )
|
.writeLog( C_TAB + 'n_UseClassPerFile: ' + TRANSFORM(.n_UseClassPerFile) )
|
||||||
.writeLog( C_TAB + 'l_ClassPerFileCheck: ' + TRANSFORM(.l_ClassPerFileCheck) )
|
.writeLog( C_TAB + 'l_ClassPerFileCheck: ' + TRANSFORM(.l_ClassPerFileCheck) )
|
||||||
.writeLog( C_TAB + 'l_RedirectClassPerFileToMain: ' + TRANSFORM(.l_RedirectClassPerFileToMain) )
|
.writeLog( C_TAB + 'l_RedirectClassPerFileToMain: ' + TRANSFORM(.l_RedirectClassPerFileToMain) )
|
||||||
.writeLog( C_TAB + 'l_Debug: ' + TRANSFORM(.l_Debug) )
|
.writeLog( C_TAB + 'l_Debug: ' + TRANSFORM(.l_Debug) )
|
||||||
@@ -2839,10 +2839,9 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
|
|
||||||
|
|
||||||
*-- OPTIMIZACI<43>N VC2/SC2/DC2: VERIFICO SI EL ARCHIVO BASE FUE PROCESADO PARA DESCARTAR REPROCESOS
|
*-- OPTIMIZACI<43>N VC2/SC2/DC2: VERIFICO SI EL ARCHIVO BASE FUE PROCESADO PARA DESCARTAR REPROCESOS
|
||||||
*fdb*
|
IF .n_UseClassPerFile > 0 AND .l_RedirectClassPerFileToMain THEN
|
||||||
IF .l_UseClassPerFile AND .l_RedirectClassPerFileToMain THEN
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE INLIST(lcExtension,'VC2','SC2')
|
CASE .n_UseClassPerFile = 1 AND INLIST(lcExtension,'VC2','SC2')
|
||||||
IF OCCURS('.', JUSTSTEM(.c_InputFile)) = 0 THEN
|
IF OCCURS('.', JUSTSTEM(.c_InputFile)) = 0 THEN
|
||||||
lc_BaseFile = .c_InputFile
|
lc_BaseFile = .c_InputFile
|
||||||
ELSE
|
ELSE
|
||||||
@@ -2854,7 +2853,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
.c_InputFile = lc_BaseFile
|
.c_InputFile = lc_BaseFile
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CASE lcExtension = 'DC2'
|
CASE .n_UseClassPerFile = 2 AND INLIST(lcExtension,'VC2','SC2') OR lcExtension = 'DC2'
|
||||||
IF OCCURS('.', JUSTSTEM(.c_InputFile)) = 0 THEN
|
IF OCCURS('.', JUSTSTEM(.c_InputFile)) = 0 THEN
|
||||||
lc_BaseFile = .c_InputFile
|
lc_BaseFile = .c_InputFile
|
||||||
ELSE
|
ELSE
|
||||||
@@ -3519,7 +3518,13 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tcProcessed, tcHasErrors, tcSupported, tcReserved
|
LPARAMETERS tcProcessed, tcHasErrors, tcSupported, tcReserved
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL loEx as Exception
|
||||||
|
|
||||||
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
IF .n_ProcessedFiles = 0 THEN
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
IF NOT EMPTY(tcProcessed)
|
IF NOT EMPTY(tcProcessed)
|
||||||
.a_ProcessedFiles(.n_ProcessedFiles, 2) = EVL(tcProcessed, '')
|
.a_ProcessedFiles(.n_ProcessedFiles, 2) = EVL(tcProcessed, '')
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -3535,6 +3540,16 @@ DEFINE CLASS c_foxbin2prg AS SESSION
|
|||||||
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,5) ;
|
+ ',' + .a_ProcessedFiles(.n_ProcessedFiles,5) ;
|
||||||
+ ',' + LOWER(.a_ProcessedFiles(.n_ProcessedFiles,1)) )
|
+ ',' + LOWER(.a_ProcessedFiles(.n_ProcessedFiles,1)) )
|
||||||
ENDWITH
|
ENDWITH
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF THIS.l_Debug
|
||||||
|
IF _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -5942,7 +5957,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LPARAMETERS toModulo
|
LPARAMETERS toModulo
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
INSERT INTO TABLABIN ;
|
INSERT INTO TABLABIN ;
|
||||||
@@ -6004,7 +6019,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LPARAMETERS toModulo
|
LPARAMETERS toModulo
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
INSERT INTO TABLABIN ;
|
INSERT INTO TABLABIN ;
|
||||||
@@ -6796,7 +6811,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
EXTERNAL ARRAY taCodeLines
|
EXTERNAL ARRAY taCodeLines
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -7047,7 +7062,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
EXTERNAL ARRAY taCodeLines, tnBloquesExclusion, taLineasExclusion
|
EXTERNAL ARRAY taCodeLines, tnBloquesExclusion, taLineasExclusion
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -7274,7 +7289,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LOCAL llBloqueEncontrado
|
LOCAL llBloqueEncontrado
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -7396,7 +7411,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines
|
LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
LOCAL llBloqueEncontrado
|
LOCAL llBloqueEncontrado
|
||||||
@@ -7426,10 +7441,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
*------------------------------------------------------
|
*------------------------------------------------------
|
||||||
*-- Analiza el bloque *< EXTERNAL_MEMBER: Name="nombre-miembro" Type="tipo-de-miembro" />
|
*-- Analiza el bloque *< EXTERNAL_MEMBER: Name="nombre-miembro" Type="tipo-de-miembro" />
|
||||||
*------------------------------------------------------
|
*------------------------------------------------------
|
||||||
LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines
|
LPARAMETERS toDatabase, tcLine, taCodeLines, I, tnCodeLines
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
LOCAL llBloqueEncontrado
|
LOCAL llBloqueEncontrado
|
||||||
@@ -7441,11 +7456,11 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
WITH THIS
|
WITH THIS
|
||||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_EXTERNAL_MEMBER_I, C_EXTERNAL_MEMBER_F )
|
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues, @lnPropsAndValues_Count, C_EXTERNAL_MEMBER_I, C_EXTERNAL_MEMBER_F )
|
||||||
|
|
||||||
toModulo._ExternalClasses_Count = toModulo._ExternalClasses_Count + 1
|
toDatabase._ExternalClasses_Count = toDatabase._ExternalClasses_Count + 1
|
||||||
DIMENSION toModulo._ExternalClasses( toModulo._ExternalClasses_Count, 2 )
|
DIMENSION toDatabase._ExternalClasses( toDatabase._ExternalClasses_Count, 2 )
|
||||||
toModulo._ExternalClasses( toModulo._ExternalClasses_Count, 1 ) = .get_ValueByName_FromListNamesWithValues( 'Type', 'C', @laPropsAndValues ) ;
|
toDatabase._ExternalClasses( toDatabase._ExternalClasses_Count, 1 ) = .get_ValueByName_FromListNamesWithValues( 'Type', 'C', @laPropsAndValues ) ;
|
||||||
+ '.' + .get_ValueByName_FromListNamesWithValues( 'Name', 'C', @laPropsAndValues )
|
+ '.' + .get_ValueByName_FromListNamesWithValues( 'Name', 'C', @laPropsAndValues )
|
||||||
*toModulo._ExternalClasses( toModulo._ExternalClasses_Count, 2 ) = .get_ValueByName_FromListNamesWithValues( 'Type', 'C', @laPropsAndValues )
|
*toDatabase._ExternalClasses( toDatabase._ExternalClasses_Count, 2 ) = .get_ValueByName_FromListNamesWithValues( 'Type', 'C', @laPropsAndValues )
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -7496,7 +7511,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LOCAL llBloqueEncontrado
|
LOCAL llBloqueEncontrado
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
IF LEFT( tcLine + ' ', C_LEN_OLE_I + 1 ) == C_OLE_I + ' '
|
IF LEFT( tcLine + ' ', C_LEN_OLE_I + 1 ) == C_OLE_I + ' '
|
||||||
@@ -7547,7 +7562,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
, tc_Comentario, taLineasExclusion, tnBloquesExclusion
|
, tc_Comentario, taLineasExclusion, tnBloquesExclusion
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -7711,7 +7726,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -7728,14 +7743,6 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
|
|
||||||
IF tnCodeLines > 1
|
IF tnCodeLines > 1
|
||||||
|
|
||||||
*-- Defino el objeto de m<>dulo y sus propiedades
|
|
||||||
*toModulo = NULL
|
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
|
||||||
|
|
||||||
*IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
|
||||||
*ENDIF
|
|
||||||
|
|
||||||
*-- B<>squeda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE)
|
*-- B<>squeda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE)
|
||||||
FOR I = 1 TO tnCodeLines
|
FOR I = 1 TO tnCodeLines
|
||||||
STORE '' TO lc_Comentario
|
STORE '' TO lc_Comentario
|
||||||
@@ -7745,26 +7752,6 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
CASE .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ;
|
CASE .lineaExcluida( I, tnBloquesExclusion, @taLineasExclusion ) ;
|
||||||
OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
||||||
|
|
||||||
*CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
|
||||||
* llFoxBin2Prg_Completed = .T.
|
|
||||||
|
|
||||||
*CASE NOT llEXTERNAL_CLASS_Completed AND .analizarBloque_EXTERNAL_CLASS( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
|
||||||
*-- Puede haber varias clases externas
|
|
||||||
|
|
||||||
*CASE NOT llLIBCOMMENT_Completed AND .analizarBloque_LIBCOMMENT( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
|
||||||
* llLIBCOMMENT_Completed = .T.
|
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
|
||||||
|
|
||||||
*CASE NOT llOLE_DEF_Completed AND .analizarBloque_OLE_DEF( @toModulo, @lcLine, @taCodeLines ;
|
|
||||||
, @I, tnCodeLines, @lcProcedureAbierto )
|
|
||||||
*-- Puede haber varios objetos OLE
|
|
||||||
|
|
||||||
*CASE NOT llINCLUDE_SCX_Completed AND .c_Type = 'SCX' AND .analizarBloque_INCLUDE( @toModulo, @loClase, @lcLine ;
|
|
||||||
, @taCodeLines, @I, tnCodeLines, @lcProcedureAbierto )
|
|
||||||
* Espec<65>fico para SCX que lo tiene al inicio
|
|
||||||
* llINCLUDE_SCX_Completed = .T.
|
|
||||||
* llEXTERNAL_CLASS_Completed = .T.
|
|
||||||
|
|
||||||
CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
CASE .analizarBloque_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
|
||||||
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario )
|
||||||
*-- Puede haber varias clases definidas
|
*-- Puede haber varias clases definidas
|
||||||
@@ -7820,7 +7807,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -7837,11 +7824,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
|
|
||||||
IF tnCodeLines > 1
|
IF tnCodeLines > 1
|
||||||
|
|
||||||
*-- Defino el objeto de m<>dulo y sus propiedades
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
||||||
*toModulo = NULL
|
ELSE
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
|
||||||
|
|
||||||
IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
|
||||||
llEXTERNAL_CLASS_Completed = .T.
|
llEXTERNAL_CLASS_Completed = .T.
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -7916,7 +7900,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
LPARAMETERS toModulo, toFoxBin2Prg
|
LPARAMETERS toModulo, toFoxBin2Prg
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -7925,7 +7909,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
|
|
||||||
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_ClassPerFileCheck
|
DO CASE
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 1 AND toFoxBin2Prg.l_ClassPerFileCheck
|
||||||
|
*-- El ClassPerFile original, con nomenclatura 'Libreria.NombreClase.vc2'
|
||||||
FOR I = 1 TO toModulo._ExternalClasses_Count
|
FOR I = 1 TO toModulo._ExternalClasses_Count
|
||||||
lnItem = 0
|
lnItem = 0
|
||||||
|
|
||||||
@@ -7944,7 +7930,29 @@ DEFINE CLASS c_conversor_prg_a_bin AS C_CONVERSOR_BASE
|
|||||||
|
|
||||||
toModulo._Clases(lnItem)._Checked = .T.
|
toModulo._Clases(lnItem)._Checked = .T.
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 2 AND toFoxBin2Prg.l_ClassPerFileCheck
|
||||||
|
*-- El nuevo ClassPerFile, con nomenclatura 'Libreria.ClaseBase.NombreClase.vc2'
|
||||||
|
FOR I = 1 TO toModulo._ExternalClasses_Count
|
||||||
|
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
|
||||||
|
EXIT
|
||||||
ENDIF
|
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 + ']'
|
||||||
|
ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
toModulo._Clases(lnItem)._Checked = .T.
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -7967,13 +7975,13 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la informaci<63>n leida del texto
|
* toModulo (@! OUT) Objeto generado de clase CL_CLASSLIB con la informaci<63>n leida del texto
|
||||||
* toEx (@! OUT) Objeto con informaci<63>n del error
|
* toEx (@! OUT) Objeto con informaci<63>n del error
|
||||||
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
|
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
|
LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
||||||
@@ -7989,9 +7997,9 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
STORE NULL TO toModulo
|
STORE NULL TO toModulo
|
||||||
|
|
||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
toModulo = CREATEOBJECT('CL_MODULO')
|
toModulo = CREATEOBJECT('CL_CLASSLIB')
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
||||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||||
|
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
@@ -8001,21 +8009,43 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
.AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 )
|
.AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 )
|
||||||
|
|
||||||
|
*-- M<>SCARA DE B<>SQUEDA
|
||||||
|
IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN
|
||||||
*-- Esto crea la m<>scara de b<>squeda "filename.*.ext" para encontrar las partes
|
*-- Esto crea la m<>scara de b<>squeda "filename.*.ext" para encontrar las partes
|
||||||
lcInputFile = FORCEPATH( JUSTSTEM( JUSTSTEM(.c_InputFile) ), JUSTPATH(.c_InputFile) ) + '.*.' + JUSTEXT(.c_InputFile)
|
lcBaseFilename = JUSTSTEM( JUSTSTEM(.c_InputFile) )
|
||||||
|
lcInputFile = ADDBS( JUSTPATH(.c_InputFile) ) + lcBaseFilename + '.*.' + JUSTEXT(.c_InputFile)
|
||||||
|
ELSE && toFoxBin2Prg.n_UseClassPerFile = 2
|
||||||
|
*-- Esto crea la m<>scara de b<>squeda "<path>Database.*.*.ext" para encontrar las partes
|
||||||
|
*-- con la sintaxis "<path>Database.MemberType.MemberName.ext"
|
||||||
|
lcBaseFilename = JUSTSTEM( JUSTSTEM( JUSTSTEM(.c_InputFile) ) )
|
||||||
|
lcInputFile = ADDBS( JUSTPATH(.c_InputFile) ) + lcBaseFilename + '.*.*.' + JUSTEXT(.c_InputFile)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
||||||
ASORT( laFiles, 1, 0, 0, 1)
|
ASORT( laFiles, 1, 0, 0, 1)
|
||||||
|
|
||||||
FOR I = 1 TO lnFileCount
|
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(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
||||||
lcClassName = JUSTEXT( JUSTSTEM( lcInputFile_Class ) )
|
lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) )
|
||||||
|
|
||||||
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
||||||
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses, lcClassName, 1, 0, 1, 1+2+4 ) = 0
|
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses , lcClassName, 1, 0, 1, 1+2+4 ) = 0
|
||||||
|
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
|
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
|
LOOP && Salteo esta clase
|
||||||
|
ENDIF
|
||||||
|
ELSE && toFoxBin2Prg.n_UseClassPerFile = 2
|
||||||
|
lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
||||||
|
lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) + '.' + GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) )
|
||||||
|
|
||||||
|
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
||||||
|
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses , lcClassName, 1, 0, 2, 1+2+4 ) = 0
|
||||||
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
LOOP && Salteo esta clase porque no concuerda con las anotadas
|
LOOP && Salteo esta clase porque no concuerda con las anotadas
|
||||||
ENDIF
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
|
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
|
||||||
|
|
||||||
@@ -8146,7 +8176,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
*-- ProcLines[1] L<>neas del procedimiento
|
*-- ProcLines[1] L<>neas del procedimiento
|
||||||
*-- -----------------------------------------------------------------------------------------------------------
|
*-- -----------------------------------------------------------------------------------------------------------
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -8330,13 +8360,13 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* toModulo (@! OUT) Objeto generado de clase CL_MODULO con la informaci<63>n leida del texto
|
* toModulo (@! OUT) Objeto generado de clase CL_CLASSLIB con la informaci<63>n leida del texto
|
||||||
* toEx (@! OUT) Objeto con informaci<63>n del error
|
* toEx (@! OUT) Objeto con informaci<63>n del error
|
||||||
* toFoxBin2Prg (@! IN ) Referencia al objeto principal
|
* toFoxBin2Prg (@! IN ) Referencia al objeto principal
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
|
LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxBin2Prg
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
||||||
@@ -8352,9 +8382,9 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
STORE NULL TO toModulo
|
STORE NULL TO toModulo
|
||||||
|
|
||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
toModulo = CREATEOBJECT('CL_MODULO')
|
toModulo = CREATEOBJECT('CL_CLASSLIB')
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
||||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||||
|
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
@@ -8364,20 +8394,43 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
.AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 )
|
.AvanceDelProceso( 'Loading Code...', 2, lnCodeLines, 1 )
|
||||||
|
|
||||||
|
*-- M<>SCARA DE B<>SQUEDA
|
||||||
|
IF toFoxBin2Prg.n_UseClassPerFile = 1 THEN
|
||||||
*-- Esto crea la m<>scara de b<>squeda "filename.*.ext" para encontrar las partes
|
*-- Esto crea la m<>scara de b<>squeda "filename.*.ext" para encontrar las partes
|
||||||
lcInputFile = FORCEPATH( JUSTSTEM( JUSTSTEM(.c_InputFile) ), JUSTPATH(.c_InputFile) ) + '.*.' + JUSTEXT(.c_InputFile)
|
lcBaseFilename = JUSTSTEM( JUSTSTEM(.c_InputFile) )
|
||||||
|
lcInputFile = ADDBS( JUSTPATH(.c_InputFile) ) + lcBaseFilename + '.*.' + JUSTEXT(.c_InputFile)
|
||||||
|
ELSE && toFoxBin2Prg.n_UseClassPerFile = 2
|
||||||
|
*-- Esto crea la m<>scara de b<>squeda "<path>Database.*.*.ext" para encontrar las partes
|
||||||
|
*-- con la sintaxis "<path>Database.MemberType.MemberName.ext"
|
||||||
|
lcBaseFilename = JUSTSTEM( JUSTSTEM( JUSTSTEM(.c_InputFile) ) )
|
||||||
|
lcInputFile = ADDBS( JUSTPATH(.c_InputFile) ) + lcBaseFilename + '.*.*.' + JUSTEXT(.c_InputFile)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
lnFileCount = ADIR( laFiles, lcInputFile, "", 1 )
|
||||||
ASORT( laFiles, 1, 0, 0, 1)
|
ASORT( laFiles, 1, 0, 0, 1)
|
||||||
|
|
||||||
FOR I = 1 TO lnFileCount
|
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(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
||||||
|
lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) )
|
||||||
|
|
||||||
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
||||||
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses , JUSTEXT( JUSTSTEM( lcInputFile_Class ) ), 1, 0, 1, 1+2+4 ) = 0
|
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses , lcClassName, 1, 0, 1, 1+2+4 ) = 0
|
||||||
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
LOOP && Salteo esta clase
|
LOOP && Salteo esta clase
|
||||||
ENDIF
|
ENDIF
|
||||||
|
ELSE && toFoxBin2Prg.n_UseClassPerFile = 2
|
||||||
|
lcInputFile_Class = FORCEPATH( JUSTSTEM( laFiles(I,1) ), JUSTPATH( .c_InputFile ) ) + '.' + JUSTEXT( .c_InputFile )
|
||||||
|
lcClassName = LOWER( GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 2, '.' ) + '.' + GETWORDNUM( JUSTFNAME( lcInputFile_Class ), 3, '.' ) )
|
||||||
|
|
||||||
|
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
||||||
|
IF toFoxBin2Prg.l_ClassPerFileCheck AND ASCAN( toModulo._ExternalClasses , lcClassName, 1, 0, 2, 1+2+4 ) = 0
|
||||||
|
.writeLog( C_TAB + '- ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
|
.writeErrorLog( C_TAB + '- ' + loLang.C_WARNING_LOC + ' ' + loLang.C_OUTER_CLASS_DOES_NOT_MATCH_INNER_CLASSES_LOC + ' [' + lcInputFile_Class + ']' )
|
||||||
|
LOOP && Salteo esta clase
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
|
.writeLog( C_TAB + '+ ' + loLang.C_INCLUDING_CLASS_LOC + ' ' + JUSTFNAME( lcInputFile_Class ) )
|
||||||
|
|
||||||
@@ -8508,7 +8561,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
*-- ProcLines[1] L<>neas del procedimiento
|
*-- ProcLines[1] L<>neas del procedimiento
|
||||||
*-- -----------------------------------------------------------------------------------------------------------
|
*-- -----------------------------------------------------------------------------------------------------------
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -10231,6 +10284,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
+ [<memberdata name="analizarbloque_relations" display="analizarBloque_RELATIONS"/>] ;
|
+ [<memberdata name="analizarbloque_relations" display="analizarBloque_RELATIONS"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_connections" display="analizarBloque_CONNECTIONS"/>] ;
|
+ [<memberdata name="analizarbloque_connections" display="analizarBloque_CONNECTIONS"/>] ;
|
||||||
+ [<memberdata name="analizarbloque_database" display="analizarBloque_DATABASE"/>] ;
|
+ [<memberdata name="analizarbloque_database" display="analizarBloque_DATABASE"/>] ;
|
||||||
|
+ [<memberdata name="verificar_miembros_externos" display="verificar_MIEMBROS_EXTERNOS"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
c_Type = 'DC2'
|
c_Type = 'DC2'
|
||||||
|
|
||||||
@@ -10263,7 +10317,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
toDatabase = CREATEOBJECT('CL_DBC')
|
toDatabase = CREATEOBJECT('CL_DBC')
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
||||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
C_FB2PRG_CODE = ''
|
C_FB2PRG_CODE = ''
|
||||||
@@ -10392,7 +10446,6 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*STRTOFILE( C_FB2PRG_CODE, .c_InputFile + '.txt' ) && *fdb*
|
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
|
|
||||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||||
@@ -10492,24 +10545,24 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
* tnCodeLines (@! IN ) Cantidad de l<>neas de c<>digo
|
* tnCodeLines (@! IN ) Cantidad de l<>neas de c<>digo
|
||||||
* taLineasExclusion (@! IN ) Array unidimensional con un .T. o .F. seg<65>n la l<>nea sea de exclusi<73>n o no
|
* taLineasExclusion (@! IN ) Array unidimensional con un .T. o .F. seg<65>n la l<>nea sea de exclusi<73>n o no
|
||||||
* tnBloquesExclusion (@! IN ) Cantidad de bloques de exclusi<73>n
|
* tnBloquesExclusion (@! IN ) Cantidad de bloques de exclusi<73>n
|
||||||
* toModulo (@? OUT) Objeto con toda la informaci<63>n del m<>dulo analizado
|
* toDatabase (@? OUT) Objeto con toda la informaci<63>n del m<>dulo analizado
|
||||||
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
|
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* NOTA:
|
* NOTA:
|
||||||
* Como identificador se usa el nombre de clase o de procedimiento, seg<65>n corresponda.
|
* Como identificador se usa el nombre de clase o de procedimiento, seg<65>n corresponda.
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toModulo, toFoxBin2Prg
|
LPARAMETERS taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toDatabase, toFoxBin2Prg
|
||||||
|
|
||||||
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
EXTERNAL ARRAY taCodeLines, taLineasExclusion
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, loEx AS EXCEPTION ;
|
LOCAL I, loEx AS EXCEPTION ;
|
||||||
, llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed, llLIBCOMMENT_Completed, llEXTERNAL_CLASS_Completed ;
|
, llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed, llLIBCOMMENT_Completed, llEXTERNAL_MEMBER_Completed ;
|
||||||
, lc_Comentario, lcProcedureAbierto, lcLine ;
|
, lc_Comentario, lcProcedureAbierto, lcLine ;
|
||||||
, loClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
, loClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
@@ -10520,12 +10573,9 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
IF tnCodeLines > 1
|
IF tnCodeLines > 1
|
||||||
|
|
||||||
*-- Defino el objeto de m<>dulo y sus propiedades
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_RedirectClassPerFileToMain
|
||||||
*toModulo = NULL
|
ELSE
|
||||||
*toModulo = CREATEOBJECT('CL_MODULO')
|
llEXTERNAL_MEMBER_Completed = .T.
|
||||||
|
|
||||||
IF NOT (toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_RedirectClassPerFileToMain)
|
|
||||||
llEXTERNAL_CLASS_Completed = .T.
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- B<>squeda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE)
|
*-- B<>squeda del ID de inicio de bloque (DEFINE CLASS / PROCEDURE)
|
||||||
@@ -10536,10 +10586,10 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
DO CASE
|
DO CASE
|
||||||
CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
CASE .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
|
||||||
|
|
||||||
CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
llFoxBin2Prg_Completed = .T.
|
llFoxBin2Prg_Completed = .T.
|
||||||
|
|
||||||
CASE NOT llEXTERNAL_CLASS_Completed AND .analizarBloque_EXTERNAL_MEMBER( @toModulo, @lcLine, @taCodeLines, @I, tnCodeLines )
|
CASE NOT llEXTERNAL_MEMBER_Completed AND .analizarBloque_EXTERNAL_MEMBER( @toDatabase, @lcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
*-- Puede haber varias clases externas
|
*-- Puede haber varias clases externas
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
@@ -10558,7 +10608,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
STORE NULL TO loClase
|
STORE NULL TO loClase
|
||||||
RELEASE taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toModulo, loClase, I ;
|
RELEASE taCodeLines, tnCodeLines, taLineasExclusion, tnBloquesExclusion, toDatabase, loClase, I ;
|
||||||
, llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed, llLIBCOMMENT_Completed ;
|
, llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed, llLIBCOMMENT_Completed ;
|
||||||
, lc_Comentario, lcProcedureAbierto, lcLine
|
, lc_Comentario, lcProcedureAbierto, lcLine
|
||||||
ENDTRY
|
ENDTRY
|
||||||
@@ -10575,7 +10625,7 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
* tnCodeLines (!@ IN ) Cantidad de l<>neas de c<>digo
|
* tnCodeLines (!@ IN ) Cantidad de l<>neas de c<>digo
|
||||||
* taLineasExclusion (@! IN ) Array unidimensional con un .T. o .F. seg<65>n la l<>nea sea de exclusi<73>n o no
|
* taLineasExclusion (@! IN ) Array unidimensional con un .T. o .F. seg<65>n la l<>nea sea de exclusi<73>n o no
|
||||||
* tnBloquesExclusion (@? IN ) Sin uso
|
* tnBloquesExclusion (@? IN ) Sin uso
|
||||||
* toDatabase (@? OUT) Objeto con toda la informaci<63>n de la base de datos analizada
|
* toDatabase (@! IN ) Objeto con toda la informaci<63>n de la base de datos analizada
|
||||||
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* NOTA:
|
* NOTA:
|
||||||
@@ -10598,8 +10648,6 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
||||||
|
|
||||||
IF tnCodeLines > 1
|
IF tnCodeLines > 1
|
||||||
toDatabase = NULL
|
|
||||||
toDatabase = CREATEOBJECT('CL_DBC')
|
|
||||||
|
|
||||||
FOR I = 1 TO tnCodeLines
|
FOR I = 1 TO tnCodeLines
|
||||||
.set_Line( @lcLine, @taCodeLines, I )
|
.set_Line( @lcLine, @taCodeLines, I )
|
||||||
@@ -10615,6 +10663,8 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
|
.verificar_MIEMBROS_EXTERNOS( @toDatabase, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -10636,16 +10686,16 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
PROCEDURE verificar_MIEMBROS_EXTERNOS
|
PROCEDURE verificar_MIEMBROS_EXTERNOS
|
||||||
*--------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------
|
||||||
* Compara las clases definidas en la cabecera con las clases encontradas luego
|
* Compara los miembros definidos en la cabecera con los miembros encontrados luego
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* toModulo (@? OUT) Objeto con toda la informaci<63>n del m<>dulo analizado
|
* toDatabase (@! IN ) Objeto con toda la informaci<63>n del m<>dulo analizado
|
||||||
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
|
* toFoxBin2Prg (@! IN ) Referencia al objeto principal
|
||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS toModulo, toFoxBin2Prg
|
LPARAMETERS toDatabase, toFoxBin2Prg
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toDatabase AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
@@ -10653,25 +10703,25 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
LOCAL loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
||||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||||
|
|
||||||
*-- Verificaci<63>n de las Clases, si son Externas y se indic<69> chequearlas
|
*-- Verificaci<63>n de los Miembros, si son Externos y se indic<69> chequearlos
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile AND toFoxBin2Prg.l_ClassPerFileCheck
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 AND toFoxBin2Prg.l_ClassPerFileCheck
|
||||||
FOR I = 1 TO toModulo._ExternalClasses_Count
|
FOR I = 1 TO toDatabase._ExternalClasses_Count
|
||||||
lnItem = 0
|
lnItem = 0
|
||||||
|
|
||||||
FOR X = 1 TO toModulo._Clases_Count
|
FOR X = 1 TO toDatabase._Members_Count
|
||||||
IF LOWER( toModulo._Clases(X)._ObjName ) == LOWER( toModulo._ExternalClasses(I,1) )
|
IF LOWER( toDatabase._Members(X,1) ) == LOWER( toDatabase._ExternalClasses(I,1) )
|
||||||
lnItem = X
|
lnItem = X
|
||||||
EXIT
|
EXIT
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
IF lnItem = 0 THEN
|
IF lnItem = 0 THEN
|
||||||
lcClaseExterna = FORCEPATH( JUSTSTEM(toFoxBin2Prg.c_InputFile) + '.' + toModulo._ExternalClasses(I,1) + '.' + JUSTEXT(toFoxBin2Prg.c_InputFile), JUSTPATH(toFoxBin2Prg.c_InputFile) )
|
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 [' + toModulo._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']'
|
*ERROR 'No se ha encontrado la clase externa [' + toDatabase._ExternalClasses(I,1) + '] en el archivo [' + toFoxBin2Prg.c_InputFile + ']'
|
||||||
ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' )
|
ERROR ( loLang.C_EXTERNAL_CLASS_NAME_WAS_NOT_FOUND_LOC + ' [' + lcClaseExterna + ']' )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toModulo._Clases(lnItem)._Checked = .T.
|
toDatabase._Members(lnItem,2) = .T. && Checked
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
@@ -11573,8 +11623,13 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toEx.UserValue = toEx.UserValue + lcLocation + CR_LF
|
toEx.UserValue = toEx.UserValue + lcLocation + CR_LF
|
||||||
|
|
||||||
|
IF THIS.n_Methods_LineNo = 0 THEN
|
||||||
|
toEx.UserValue = toEx.UserValue + '> (no evaluated code yet)' + CR_LF
|
||||||
|
ELSE
|
||||||
toEx.UserValue = toEx.UserValue + '> ' + laCodeLines(THIS.n_Methods_LineNo) + CR_LF
|
toEx.UserValue = toEx.UserValue + '> ' + laCodeLines(THIS.n_Methods_LineNo) + CR_LF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
toEx.UserValue = toEx.UserValue + 'Recno: ' + TRANSFORM(RECNO()) + CR_LF
|
toEx.UserValue = toEx.UserValue + 'Recno: ' + TRANSFORM(RECNO()) + CR_LF
|
||||||
toEx.UserValue = toEx.UserValue + '.............................................' + CR_LF
|
toEx.UserValue = toEx.UserValue + '.............................................' + CR_LF
|
||||||
@@ -12699,7 +12754,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* toModulo (!@ OUT) Objeto generado de clase CL_MODULO con la informaci<63>n leida del texto
|
* toModulo (!@ OUT) Objeto generado de clase CL_CLASSLIB con la informaci<63>n leida del texto
|
||||||
* toEx (!@ OUT) Objeto con informaci<63>n del error
|
* toEx (!@ OUT) Objeto con informaci<63>n del error
|
||||||
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -12712,7 +12767,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
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) ;
|
||||||
, laObjs(1,4), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count, lcCodigo, laClasses(1,2) ;
|
, laObjs(1,4), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count, lcCodigo, laClasses(1,3) ;
|
||||||
, lnClassCount, lcOutputFile, lcExternalHeader, lnClassTotal, lnStepCount, lnStep, lcObjPathInsideClass, lnPos ;
|
, lnClassCount, lcOutputFile, lcExternalHeader, lnClassTotal, lnStepCount, lnStep, lcObjPathInsideClass, lnPos ;
|
||||||
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
||||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||||
@@ -12760,7 +12815,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
STORE 0 TO lnMethodCount
|
STORE 0 TO lnMethodCount
|
||||||
STORE '' TO laMethods, laCode, lcCodigo
|
STORE '' TO laMethods, laCode, lcCodigo
|
||||||
lnClassCount = lnClassCount + 1
|
lnClassCount = lnClassCount + 1
|
||||||
DIMENSION laClasses(lnClassCount,2)
|
DIMENSION laClasses(lnClassCount,3)
|
||||||
|
|
||||||
loRegClass = NULL
|
loRegClass = NULL
|
||||||
SCATTER MEMO NAME loRegClass
|
SCATTER MEMO NAME loRegClass
|
||||||
@@ -12782,6 +12837,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
lcObjName = ALLTRIM( loRegClass.OBJNAME )
|
lcObjName = ALLTRIM( loRegClass.OBJNAME )
|
||||||
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
||||||
|
laClasses(lnClassCount,3) = loRegClass.BASECLASS
|
||||||
|
|
||||||
lnStep = lnStep + 1
|
lnStep = lnStep + 1
|
||||||
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
|
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
|
||||||
@@ -12792,7 +12848,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_CLASSMETADATA( @loRegClass, @lcCodigo )
|
.write_CLASSMETADATA( @loRegClass, @lcCodigo )
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
.write_EXTERNAL_CLASS_HEADER( @loRegClass, @toFoxBin2Prg, @lcExternalHeader )
|
.write_EXTERNAL_CLASS_HEADER( @loRegClass, @toFoxBin2Prg, @lcExternalHeader )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -12932,7 +12988,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
laClasses(lnClassCount,2) = lcCodigo
|
laClasses(lnClassCount,2) = lcCodigo
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
lcExternalHeader = lcExternalHeader + CR_LF
|
lcExternalHeader = lcExternalHeader + CR_LF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -12950,21 +13006,32 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
toModulo = lcCodigo
|
toModulo = lcCodigo
|
||||||
ELSE
|
ELSE
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
DO CASE
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 1 && LibName.ClassName.SC2
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
|
|
||||||
FOR I = 1 TO lnClassCount
|
FOR I = 1 TO lnClassCount
|
||||||
lcOutputFile = FORCEPATH( JUSTSTEM( .c_OutputFile ), JUSTPATH( .c_OutputFile ) ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile )
|
lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile )
|
||||||
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2)
|
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2)
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ELSE
|
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 2 && LibName.BaseClass.ClassName.SC2
|
||||||
|
.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)
|
||||||
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
FOR I = 1 TO lnClassCount
|
FOR I = 1 TO lnClassCount
|
||||||
lcCodigo = lcCodigo + laClasses(I,2)
|
lcCodigo = lcCodigo + laClasses(I,2)
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -13005,7 +13072,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
* toModulo (!@ OUT) Objeto generado de clase CL_MODULO con la informaci<63>n leida del texto
|
* toModulo (!@ OUT) Objeto generado de clase CL_CLASSLIB con la informaci<63>n leida del texto
|
||||||
* toEx (!@ OUT) Objeto con informaci<63>n del error
|
* toEx (!@ OUT) Objeto con informaci<63>n del error
|
||||||
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -13013,14 +13080,14 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
DODEFAULT( @toModulo, @toEx, @toFoxBin2Prg )
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegClass, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1), lnLen, lnObjCount ;
|
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) ;
|
||||||
, laObjs(1,4), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count, lcCodigo, laClasses(1,2) ;
|
, laObjs(1,4), I, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count, lcCodigo, laClasses(1,3) ;
|
||||||
, lnClassCount, lcOutputFile, lcExternalHeader, lnClassTotal, lnStepCount, lnStep, lcObjPathInsideClass, lnPos ;
|
, lnClassCount, lcOutputFile, lcExternalHeader, lnClassTotal, lnStepCount, lnStep, lcObjPathInsideClass, lnPos ;
|
||||||
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG'
|
||||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||||
@@ -13083,7 +13150,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
STORE 0 TO lnMethodCount
|
STORE 0 TO lnMethodCount
|
||||||
STORE '' TO laMethods, laCode, lcCodigo
|
STORE '' TO laMethods, laCode, lcCodigo
|
||||||
lnClassCount = lnClassCount + 1
|
lnClassCount = lnClassCount + 1
|
||||||
DIMENSION laClasses(lnClassCount,2)
|
DIMENSION laClasses(lnClassCount,3)
|
||||||
|
|
||||||
loRegClass = NULL
|
loRegClass = NULL
|
||||||
SCATTER MEMO NAME loRegClass
|
SCATTER MEMO NAME loRegClass
|
||||||
@@ -13105,6 +13172,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
||||||
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
||||||
|
laClasses(lnClassCount,3) = loRegClass.BASECLASS
|
||||||
|
|
||||||
lnStep = lnStep + 1
|
lnStep = lnStep + 1
|
||||||
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
|
.AvanceDelProceso( 'Processing Class ' + lcObjName + '...', lnStep, lnClassTotal*lnStepCount, 1 )
|
||||||
@@ -13115,7 +13183,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
.write_CLASSMETADATA( @loRegClass, @lcCodigo )
|
.write_CLASSMETADATA( @loRegClass, @lcCodigo )
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
.write_EXTERNAL_CLASS_HEADER( @loRegClass, @toFoxBin2Prg, @lcExternalHeader )
|
.write_EXTERNAL_CLASS_HEADER( @loRegClass, @toFoxBin2Prg, @lcExternalHeader )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -13257,7 +13325,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
laClasses(lnClassCount,2) = lcCodigo
|
laClasses(lnClassCount,2) = lcCodigo
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
lcExternalHeader = lcExternalHeader + CR_LF
|
lcExternalHeader = lcExternalHeader + CR_LF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -13275,21 +13343,32 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
toModulo = lcCodigo
|
toModulo = lcCodigo
|
||||||
ELSE
|
ELSE
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
DO CASE
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 1 && LibName.ClassName.SC2
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
|
|
||||||
FOR I = 1 TO lnClassCount
|
FOR I = 1 TO lnClassCount
|
||||||
lcOutputFile = FORCEPATH( JUSTSTEM( .c_OutputFile ), JUSTPATH( .c_OutputFile ) ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile )
|
lcOutputFile = ADDBS( JUSTPATH( .c_OutputFile ) ) + JUSTSTEM( .c_OutputFile ) + '.' + laClasses(I,1) + '.' + JUSTEXT( .c_OutputFile )
|
||||||
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2)
|
lcCodigo = toFoxBin2Prg.get_PROGRAM_HEADER() + laClasses(I,2)
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ELSE
|
|
||||||
|
CASE toFoxBin2Prg.n_UseClassPerFile = 2 && LibName.BaseClass.ClassName.SC2
|
||||||
|
.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)
|
||||||
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
FOR I = 1 TO lnClassCount
|
FOR I = 1 TO lnClassCount
|
||||||
lcCodigo = lcCodigo + laClasses(I,2)
|
lcCodigo = lcCodigo + laClasses(I,2)
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
ENDIF
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -14466,7 +14545,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText(@toFoxBin2Prg)
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toDatabase.toText(@toFoxBin2Prg)
|
||||||
|
|
||||||
*-- Header
|
*-- Header
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
.write_EXTERNAL_MEMBER_HEADER( @toFoxBin2Prg, .F., .F., @lcExternalHeader )
|
.write_EXTERNAL_MEMBER_HEADER( @toFoxBin2Prg, .F., .F., @lcExternalHeader )
|
||||||
|
|
||||||
*-- Connections
|
*-- Connections
|
||||||
@@ -14523,7 +14602,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
*ENDFOR
|
*ENDFOR
|
||||||
*toDatabase = lcCodigo
|
*toDatabase = lcCodigo
|
||||||
ELSE
|
ELSE
|
||||||
IF toFoxBin2Prg.l_UseClassPerFile
|
IF toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
.write_OutputFile( @lcCodigo, lcOutputFile, @toFoxBin2Prg )
|
||||||
|
|
||||||
FOR I = 1 TO lnClassCount
|
FOR I = 1 TO lnClassCount
|
||||||
@@ -14817,9 +14896,9 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE CLASS CL_MODULO AS CL_CUS_BASE
|
DEFINE CLASS CL_CLASSLIB AS CL_CUS_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
@@ -14857,7 +14936,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE
|
|||||||
LOCAL toOle AS CL_OLE OF 'FOXBIN2PRG.PRG'
|
LOCAL toOle AS CL_OLE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
WITH THIS AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
._Ole_Obj_count = ._Ole_Obj_count + 1
|
._Ole_Obj_count = ._Ole_Obj_count + 1
|
||||||
DIMENSION ._Ole_Objs( ._Ole_Obj_count )
|
DIMENSION ._Ole_Objs( ._Ole_Obj_count )
|
||||||
._Ole_Objs( ._Ole_Obj_count ) = toOle
|
._Ole_Objs( ._Ole_Obj_count ) = toOle
|
||||||
@@ -14873,7 +14952,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE
|
|||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
WITH THIS AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
._Clases_Count = ._Clases_Count + 1
|
._Clases_Count = ._Clases_Count + 1
|
||||||
DIMENSION ._Clases( ._Clases_Count )
|
DIMENSION ._Clases( ._Clases_Count )
|
||||||
._Clases( ._Clases_Count ) = toClase
|
._Clases( ._Clases_Count ) = toClase
|
||||||
@@ -14887,7 +14966,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE
|
|||||||
LPARAMETERS tcNombre, X
|
LPARAMETERS tcNombre, X
|
||||||
LOCAL llExiste
|
LOCAL llExiste
|
||||||
|
|
||||||
WITH THIS AS CL_MODULO OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
|
||||||
FOR X = 1 TO ._Ole_Obj_count
|
FOR X = 1 TO ._Ole_Obj_count
|
||||||
IF LOWER(._Ole_Objs(X)._Nombre) == LOWER(tcNombre)
|
IF LOWER(._Ole_Objs(X)._Nombre) == LOWER(tcNombre)
|
||||||
llExiste = .T.
|
llExiste = .T.
|
||||||
@@ -16611,12 +16690,16 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
+ [<memberdata name="_version" display="_Version"/>] ;
|
+ [<memberdata name="_version" display="_Version"/>] ;
|
||||||
+ [<memberdata name="_externalclasses" display="_ExternalClasses"/>] ;
|
+ [<memberdata name="_externalclasses" display="_ExternalClasses"/>] ;
|
||||||
+ [<memberdata name="_externalclasses_count" display="_ExternalClasses_Count"/>] ;
|
+ [<memberdata name="_externalclasses_count" display="_ExternalClasses_Count"/>] ;
|
||||||
|
+ [<memberdata name="_members" display="_Members"/>] ;
|
||||||
|
+ [<memberdata name="_members_count" display="_Members_Count"/>] ;
|
||||||
|
+ [<memberdata name="add_dbcmember" display="add_DBCMember"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
|
|
||||||
*-- Modulo
|
*-- Modulo
|
||||||
DIMENSION _ExternalClasses(1,2)
|
DIMENSION _ExternalClasses(1,2), _Members(1,2)
|
||||||
_ExternalClasses_Count = 0
|
_ExternalClasses_Count = 0
|
||||||
|
_Members_Count = 0
|
||||||
_Version = 0
|
_Version = 0
|
||||||
_SourceFile = ''
|
_SourceFile = ''
|
||||||
|
|
||||||
@@ -16659,17 +16742,19 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loConnections AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG' ;
|
LOCAL loConnections AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG' ;
|
||||||
|
, loConnection AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG' ;
|
||||||
, loTables AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG' ;
|
, loTables AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG' ;
|
||||||
|
, loTable AS CL_DBC_TABLE OF 'FOXBIN2PRG.PRG' ;
|
||||||
, loViews AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG' ;
|
, loViews AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG' ;
|
||||||
, loRelations AS CL_DBC_RELATIONS OF 'FOXBIN2PRG.PRG' ;
|
, loView AS CL_DBC_VIEW OF 'FOXBIN2PRG.PRG' ;
|
||||||
, llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
, llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
||||||
STORE '' TO lcPropName, lcValue
|
STORE '' TO lcPropName, lcValue
|
||||||
STORE NULL TO loConnections, loTables, loViews, loRelations
|
STORE NULL TO loConnections, loTables, loViews, loConnection, loTable, loView
|
||||||
|
|
||||||
IF LEFT(tcLine, LEN(C_DATABASE_I)) == C_DATABASE_I
|
IF LEFT(tcLine, LEN(C_DATABASE_I)) == C_DATABASE_I
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
|
|
||||||
WITH THIS AS CL_DBC_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
FOR I = I + 1 TO tnCodeLines
|
FOR I = I + 1 TO tnCodeLines
|
||||||
.set_Line( @tcLine, @taCodeLines, I )
|
.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
@@ -16684,16 +16769,29 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
loConnections = ._Connections
|
loConnections = ._Connections
|
||||||
loConnections.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loConnections.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
|
FOR EACH loConnection IN loConnections FOXOBJECT
|
||||||
|
.add_DBCMember('connection.' + loConnection._Name)
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
CASE C_TABLES_I $ tcLine
|
CASE C_TABLES_I $ tcLine
|
||||||
loTables = ._Tables
|
loTables = ._Tables
|
||||||
loTables.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loTables.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
|
FOR EACH loTable IN loTables FOXOBJECT
|
||||||
|
.add_DBCMember('table.' + loTable._Name)
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
CASE C_VIEWS_I $ tcLine
|
CASE C_VIEWS_I $ tcLine
|
||||||
loViews = ._Views
|
loViews = ._Views
|
||||||
loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
|
FOR EACH loView IN loViews FOXOBJECT
|
||||||
|
.add_DBCMember('view.' + loView._Name)
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
CASE C_STORED_PROC_I $ tcLine
|
CASE C_STORED_PROC_I $ tcLine
|
||||||
.analizarBloque_SP( @tcLine, @taCodeLines, @I, tnCodeLines )
|
.analizarBloque_SP( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
.add_DBCMember('storedprocedures.sp')
|
||||||
|
|
||||||
CASE '<Comment>' $ tcLine
|
CASE '<Comment>' $ tcLine
|
||||||
.analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines )
|
.analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
@@ -16721,8 +16819,8 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
STORE NULL TO loConnections, loTables, loViews, loRelations
|
STORE NULL TO loConnections, loTables, loViews, loConnection, loTable, loView
|
||||||
RELEASE loConnections, loTables, loViews, loRelations, lcPropName, lcValue
|
RELEASE loConnections, loTables, loViews, loConnection, loTable, loView
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN llBloqueEncontrado
|
RETURN llBloqueEncontrado
|
||||||
@@ -16883,7 +16981,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
<<>> <<C_STORED_PROC_F>>
|
<<>> <<C_STORED_PROC_F>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
IF NOT toFoxBin2Prg.l_UseClassPerFile THEN
|
IF NOT toFoxBin2Prg.n_UseClassPerFile > 0 THEN
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<lcConnections>>
|
<<lcConnections>>
|
||||||
<<lcTables>>
|
<<lcTables>>
|
||||||
@@ -16931,6 +17029,17 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE add_DBCMember
|
||||||
|
LPARAMETERS tcMemberName
|
||||||
|
|
||||||
|
WITH THIS AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
|
._Members_Count = ._Members_Count + 1
|
||||||
|
DIMENSION ._Members( ._Members_Count, 2 )
|
||||||
|
._Members( ._Members_Count, 1 ) = LOWER(tcMemberName)
|
||||||
|
ENDWITH && THIS
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
@@ -24077,7 +24186,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
+ [<memberdata name="l_redirectclassperfiletomain" display="l_RedirectClassPerFileToMain"/>] ;
|
||||||
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
||||||
+ [<memberdata name="n_showprogressbar" display="n_ShowProgressbar"/>] ;
|
+ [<memberdata name="n_showprogressbar" display="n_ShowProgressbar"/>] ;
|
||||||
+ [<memberdata name="l_useclassperfile" display="l_UseClassPerFile"/>] ;
|
+ [<memberdata name="n_useclassperfile" display="n_UseClassPerFile"/>] ;
|
||||||
+ [<memberdata name="pjx_conversion_support" display="PJX_Conversion_Support"/>] ;
|
+ [<memberdata name="pjx_conversion_support" display="PJX_Conversion_Support"/>] ;
|
||||||
+ [<memberdata name="vcx_conversion_support" display="VCX_Conversion_Support"/>] ;
|
+ [<memberdata name="vcx_conversion_support" display="VCX_Conversion_Support"/>] ;
|
||||||
+ [<memberdata name="scx_conversion_support" display="SCX_Conversion_Support"/>] ;
|
+ [<memberdata name="scx_conversion_support" display="SCX_Conversion_Support"/>] ;
|
||||||
@@ -24108,7 +24217,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
|
|||||||
l_ClearDBFLastUpdate = NULL
|
l_ClearDBFLastUpdate = NULL
|
||||||
l_OptimizeByFilestamp = NULL
|
l_OptimizeByFilestamp = NULL
|
||||||
l_RedirectClassPerFileToMain = NULL
|
l_RedirectClassPerFileToMain = NULL
|
||||||
l_UseClassPerFile = NULL
|
n_UseClassPerFile = NULL
|
||||||
l_ClassPerFileCheck = NULL
|
l_ClassPerFileCheck = NULL
|
||||||
n_ExtraBackupLevels = NULL
|
n_ExtraBackupLevels = NULL
|
||||||
c_VC2 = NULL
|
c_VC2 = NULL
|
||||||
|
|||||||
Reference in New Issue
Block a user