Changeset: 61 Changeset: 61 Soporte inicial de Reportes y Etiquetas
This commit is contained in:
BIN
TESTS/DATOS_READONLY/bmps/SobrePostal.bmp
Normal file
BIN
TESTS/DATOS_READONLY/bmps/SobrePostal.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 886 B |
BIN
TESTS/DATOS_READONLY/bmps/TreeView.bmp
Normal file
BIN
TESTS/DATOS_READONLY/bmps/TreeView.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 822 B |
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.frt
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.frt
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.frx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.frx
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.lbt
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.lbt
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.lbx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_foxuser.lbx
Normal file
Binary file not shown.
@@ -54,7 +54,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION Evaluate_results
|
FUNCTION Evaluate_results
|
||||||
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tc_OutputFile, tcParent, tcClass, tcObjName, toReg_Esperado
|
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tc_OutputFile, tcParent, tcClass, tcObjName, toReg_Esperado ;
|
||||||
|
, toReg, tcTipoBinario, tnRecno
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
@@ -66,184 +67,186 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
LOCAL lnCodError, lcTipoBinario, toReg ;
|
|
||||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
|
||||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
|
|
||||||
|
|
||||||
*-- TEST
|
|
||||||
IF ISNULL(toEx) && Respetar errores previos
|
|
||||||
TRY
|
|
||||||
lcTipoBinario = UPPER( JUSTEXT( tc_OutputFile ) )
|
|
||||||
|
|
||||||
IF FILE(tc_OutputFile)
|
|
||||||
SELECT 0
|
|
||||||
USE (tc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
|
||||||
ELSE
|
|
||||||
ERROR 'No se encontr<74> el archivo "' + tc_OutputFile + '"'
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF EMPTY(tcParent) AND EMPTY(tcClass) AND EMPTY(tcObjName)
|
|
||||||
DO CASE
|
|
||||||
CASE lcTipoBinario = 'SCX'
|
|
||||||
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Screen "
|
|
||||||
CASE lcTipoBinario = 'VCX'
|
|
||||||
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Class "
|
|
||||||
ENDCASE
|
|
||||||
IF NOT FOUND()
|
|
||||||
ERROR 'No se encontr<74> el registro de cabecera "' + UniqueID + '"'
|
|
||||||
ENDIF
|
|
||||||
ELSE
|
|
||||||
LOCATE FOR CLASS==tcClass AND PARENT==tcParent AND objName==tcObjName
|
|
||||||
IF NOT FOUND()
|
|
||||||
ERROR 'No se encontr<74> el registro para CLASS=="' + tcClass + '" AND PARENT=="' + tcParent + '" AND objName=="' + tcObjName + '"'
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
SCATTER MEMO NAME toReg
|
|
||||||
|
|
||||||
CATCH TO toEx
|
|
||||||
FINALLY
|
|
||||||
USE IN (SELECT("TABLABIN"))
|
|
||||||
ENDTRY
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
IF ISNULL(toEx)
|
IF ISNULL(toEx)
|
||||||
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
|
DO CASE
|
||||||
, lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ;
|
CASE INLIST(tcTipoBinario, 'FRX', 'LBX')
|
||||||
, laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ;
|
*--------------------------------------------
|
||||||
, laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado, lcExtraData
|
*-- REPORTES
|
||||||
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
|
*--------------------------------------------
|
||||||
|
LOCAL I, laProps(1)
|
||||||
|
|
||||||
*-- Algunos ajustes para mejor visualizaci<63>n de caracteres especiales
|
*-- Visualizaci<EFBFBD>n de valores
|
||||||
*tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
|
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
|
||||||
loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
|
|
||||||
|
|
||||||
*-- Reserved3
|
THIS.messageout( 'Recno#' + TRANSFORM(tnRecno) + ' UniqueID="' + toReg_Esperado.UniqueID + '" ObjType=' + TRANSFORM(toReg_Esperado.ObjType) ;
|
||||||
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' )
|
+ ' ObjCode=' + TRANSFORM(toReg_Esperado.ObjCode) + ' Expr=[' + LEFT(toReg_Esperado.Expr,20) ;
|
||||||
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' )
|
+ IIF(LEN(toReg_Esperado.Expr)>20,'...]',']') ;
|
||||||
|
+ ' vpos=' + TRANSFORM(toReg_Esperado.VPOS) + ' hpos=' + TRANSFORM(toReg_Esperado.HPOS) ;
|
||||||
|
+ ' height=' + TRANSFORM(toReg_Esperado.HEIGHT) + ' width=' + TRANSFORM(toReg_Esperado.WIDTH) )
|
||||||
|
|
||||||
*-- Properties
|
*-- Evaluaci<EFBFBD>n de valores
|
||||||
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
|
FOR I = 1 TO AMEMBERS( laProps, toReg_Esperado, 0 )
|
||||||
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' )
|
*-- Formateo
|
||||||
|
ADDPROPERTY( toReg_Esperado, laProps(I) ;
|
||||||
|
, '[' + oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM( EVALUATE('toReg_Esperado.'+laProps(I)) ) ) + ']' )
|
||||||
|
|
||||||
*-- Protected
|
ADDPROPERTY( toReg, laProps(I) ;
|
||||||
loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' )
|
, '[' + oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM( EVALUATE('toReg.'+laProps(I)) ) ) + ']' )
|
||||||
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
|
||||||
|
|
||||||
*-- Methods
|
*-- COMPARO
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
|
THIS.assertequals( LEN(EVALUATE('toReg_Esperado.'+laProps(I))) ;
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
|
, LEN(EVALUATE('toReg.'+laProps(I))) ;
|
||||||
|
, 'Longitud de ' + laProps(I) + ' para el reg#' + TRANSFORM(tnRecno) ;
|
||||||
|
+ ' UniqueID="' + toReg.UniqueID + '" ObjType=' + TRANSFORM(toReg.ObjType) )
|
||||||
|
|
||||||
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
THIS.assertequals( (EVALUATE('toReg_Esperado.'+laProps(I))) ;
|
||||||
|
, (EVALUATE('toReg.'+laProps(I))) ;
|
||||||
|
, 'Valor de ' + laProps(I) + ' para el reg#' + TRANSFORM(tnRecno) ;
|
||||||
|
+ ' UniqueID="' + toReg.UniqueID + '" ObjType=' + TRANSFORM(toReg.ObjType) )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
CASE INLIST(tcTipoBinario, 'VCX', 'SCX')
|
||||||
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
|
*--------------------------------------------
|
||||||
|
*-- FORMS / CLASES
|
||||||
|
*--------------------------------------------
|
||||||
|
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
|
||||||
|
, lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ;
|
||||||
|
, laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ;
|
||||||
|
, laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado, lcExtraData
|
||||||
|
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
|
||||||
|
|
||||||
THIS.messageout( 'PROPERTIES esperadas para ' + lcExtraData + ': ' ;
|
*-- Algunos ajustes para mejor visualizaci<63>n de caracteres especiales
|
||||||
+ TRANSFORM(lnPropsAndValues_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROPERTIES)) + ' bytes)' )
|
*tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
|
||||||
*THIS.messageout( REPLICATE('-',80) )
|
loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
|
||||||
*FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
|
||||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) )
|
|
||||||
*ENDFOR
|
|
||||||
|
|
||||||
THIS.messageout( 'PROTECTED esperadas para ' + lcExtraData + ': ' ;
|
*-- Reserved3
|
||||||
+ TRANSFORM(lnProtected_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROTECTED)) + ' bytes)' )
|
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' )
|
||||||
*THIS.messageout( REPLICATE('-',80) )
|
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' )
|
||||||
*FOR I = 1 TO lnProtected_Count_Esperado
|
|
||||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) )
|
|
||||||
*ENDFOR
|
|
||||||
|
|
||||||
THIS.messageout( 'RESERVED3 esperadas para ' + lcExtraData + ': ' ;
|
*-- Properties
|
||||||
+ TRANSFORM(lnPropsAndComments_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.RESERVED3)) + ' bytes)' )
|
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
|
||||||
*THIS.messageout( REPLICATE('-',80) )
|
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' )
|
||||||
*FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
|
||||||
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) )
|
|
||||||
*ENDFOR
|
|
||||||
|
|
||||||
THIS.messageout( 'METHODS esperadas para ' + lcExtraData + ': ' ;
|
*-- Protected
|
||||||
+ TRANSFORM(lnMethods_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.METHODS)) + ' bytes)' )
|
loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' )
|
||||||
*THIS.messageout( REPLICATE('-',80) )
|
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
||||||
*FOR I = 1 TO lnMethods_Count_Esperado
|
|
||||||
* THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) )
|
|
||||||
*ENDFOR
|
|
||||||
|
|
||||||
THIS.messageout( 'OLE2 esperado para ' + lcExtraData + ': ' + TRANSFORM(toReg_Esperado.OLE2) )
|
*-- Methods
|
||||||
|
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
|
||||||
|
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
|
||||||
|
|
||||||
THIS.messageout( 'Checksum OLE esperado para ' + lcExtraData + ': ' + TRANSFORM(SYS(2007, toReg_Esperado.OLE)) )
|
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<EFBFBD>n de valores
|
*-- Visualizaci<EFBFBD>n de valores
|
||||||
THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de RESERVED1 para " + lcExtraData )
|
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved1), LEN(toReg.Reserved1), "Tama<6D>o de RESERVED1 para " + lcExtraData )
|
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de RESERVED2 para " + lcExtraData )
|
THIS.messageout( 'PROPERTIES esperadas para ' + lcExtraData + ': ' ;
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved2), LEN(toReg.Reserved2), "Tama<6D>o de RESERVED2 para " + lcExtraData )
|
+ TRANSFORM(lnPropsAndValues_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROPERTIES)) + ' bytes)' )
|
||||||
|
*THIS.messageout( REPLICATE('-',80) )
|
||||||
|
*FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
||||||
|
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) )
|
||||||
|
*ENDFOR
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de RESERVED4 para " + lcExtraData )
|
THIS.messageout( 'PROTECTED esperadas para ' + lcExtraData + ': ' ;
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved4), LEN(toReg.Reserved4), "Tama<6D>o de RESERVED4 para " + lcExtraData )
|
+ TRANSFORM(lnProtected_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROTECTED)) + ' bytes)' )
|
||||||
|
*THIS.messageout( REPLICATE('-',80) )
|
||||||
|
*FOR I = 1 TO lnProtected_Count_Esperado
|
||||||
|
* THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) )
|
||||||
|
*ENDFOR
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de RESERVED5 para " + lcExtraData )
|
THIS.messageout( 'RESERVED3 esperadas para ' + lcExtraData + ': ' ;
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved5), LEN(toReg.Reserved5), "Tama<6D>o de RESERVED5 para " + lcExtraData )
|
+ TRANSFORM(lnPropsAndComments_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.RESERVED3)) + ' bytes)' )
|
||||||
|
*THIS.messageout( REPLICATE('-',80) )
|
||||||
|
*FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
||||||
|
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) )
|
||||||
|
*ENDFOR
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de RESERVED6 para " + lcExtraData )
|
THIS.messageout( 'METHODS esperadas para ' + lcExtraData + ': ' ;
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved6), LEN(toReg.Reserved6), "Tama<6D>o de RESERVED6 para " + lcExtraData )
|
+ TRANSFORM(lnMethods_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.METHODS)) + ' bytes)' )
|
||||||
|
*THIS.messageout( REPLICATE('-',80) )
|
||||||
|
*FOR I = 1 TO lnMethods_Count_Esperado
|
||||||
|
* THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) )
|
||||||
|
*ENDFOR
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de RESERVED7 para " + lcExtraData )
|
THIS.messageout( 'OLE2 esperado para ' + lcExtraData + ': ' + TRANSFORM(toReg_Esperado.OLE2) )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved7), LEN(toReg.Reserved7), "Tama<6D>o de RESERVED7 para " + lcExtraData )
|
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de RESERVED8 para " + lcExtraData )
|
THIS.messageout( 'Checksum OLE esperado para ' + lcExtraData + ': ' + TRANSFORM(SYS(2007, toReg_Esperado.OLE)) )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.Reserved8), LEN(toReg.Reserved8), "Tama<6D>o de RESERVED8 para " + lcExtraData )
|
|
||||||
|
|
||||||
THIS.assertequals( toReg_Esperado.OLE2, toReg.OLE2, "Valor de OLE2 para " + lcExtraData )
|
|
||||||
THIS.assertequals( LEN(toReg_Esperado.OLE2), LEN(toReg.OLE2), "Tama<6D>o de OLE2 para " + lcExtraData )
|
|
||||||
|
|
||||||
THIS.assertequals( SYS(2007, toReg_Esperado.OLE), SYS(2007, toReg.OLE), "Valor de OLE (Checksum) para " + lcExtraData )
|
*-- Evaluaci<63>n de valores
|
||||||
THIS.assertequals( LEN(toReg_Esperado.OLE), LEN(toReg.OLE), "Tama<6D>o de OLE para " + lcExtraData )
|
THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de RESERVED1 para " + lcExtraData )
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.Reserved1), LEN(toReg.Reserved1), "Tama<6D>o de RESERVED1 para " + lcExtraData )
|
||||||
|
|
||||||
*-- PROPERTIES
|
THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de RESERVED2 para " + lcExtraData )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.PROPERTIES), LEN(toReg.PROPERTIES), "Tama<6D>o de PROPERTIES para " + lcExtraData )
|
THIS.assertequals( LEN(toReg_Esperado.Reserved2), LEN(toReg.Reserved2), "Tama<6D>o de RESERVED2 para " + lcExtraData )
|
||||||
THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de PROPERTIES para " + lcExtraData )
|
|
||||||
FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
|
||||||
THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
|
||||||
, ' Comprobaci<63>n de que existe la Property "' + TRANSFORM(laPropsAndValues_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
*-- RESERVED3
|
THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de RESERVED4 para " + lcExtraData )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.RESERVED3), LEN(toReg.RESERVED3), "Tama<6D>o de RESERVED3 para " + lcExtraData )
|
THIS.assertequals( LEN(toReg_Esperado.Reserved4), LEN(toReg.Reserved4), "Tama<6D>o de RESERVED4 para " + lcExtraData )
|
||||||
THIS.assertequals( lnPropsAndComments_Count_Esperado, lnPropsAndComments_Count, "Cantidad de RESERVED3 para " + lcExtraData )
|
|
||||||
FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
|
||||||
THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
|
||||||
, ' Comprobaci<63>n de que existe la Reserved3 "' + TRANSFORM(laPropsAndComments_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
*-- PROTECTED
|
THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de RESERVED5 para " + lcExtraData )
|
||||||
THIS.assertequals( LEN(toReg_Esperado.PROTECTED), LEN(toReg.PROTECTED), "Tama<6D>o de PROTECTED para " + lcExtraData )
|
THIS.assertequals( LEN(toReg_Esperado.Reserved5), LEN(toReg.Reserved5), "Tama<6D>o de RESERVED5 para " + lcExtraData )
|
||||||
THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de PROTECTED para " + lcExtraData )
|
|
||||||
FOR I = 1 TO lnProtected_Count_Esperado
|
|
||||||
THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
|
||||||
, ' Comprobaci<63>n de que existe la Protected "' + TRANSFORM(laProtected_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
*-- METHODS
|
THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de RESERVED6 para " + lcExtraData )
|
||||||
lcMensaje = "Tama<6D>o de METHODS para " + lcExtraData
|
THIS.assertequals( LEN(toReg_Esperado.Reserved6), LEN(toReg.Reserved6), "Tama<6D>o de RESERVED6 para " + lcExtraData )
|
||||||
* COMPROBAR "BUG DEL M<>TODO MOVIDO"
|
|
||||||
IF LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) <> LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) )
|
THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de RESERVED7 para " + lcExtraData )
|
||||||
IF "BUG DEL M<>TODO MOVIDO" $ toReg.METHODS AND NOT "BUG DEL M<>TODO MOVIDO" $ toReg_Esperado.METHODS
|
THIS.assertequals( LEN(toReg_Esperado.Reserved7), LEN(toReg.Reserved7), "Tama<6D>o de RESERVED7 para " + lcExtraData )
|
||||||
lcMensaje = lcMensaje + ' >>> ATENCI<43>N!! - COMPROBAR "BUG DEL M<>TODO MOVIDO"'
|
|
||||||
|
THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de RESERVED8 para " + lcExtraData )
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.Reserved8), LEN(toReg.Reserved8), "Tama<6D>o de RESERVED8 para " + lcExtraData )
|
||||||
|
|
||||||
|
THIS.assertequals( toReg_Esperado.OLE2, toReg.OLE2, "Valor de OLE2 para " + lcExtraData )
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.OLE2), LEN(toReg.OLE2), "Tama<6D>o de OLE2 para " + lcExtraData )
|
||||||
|
|
||||||
|
THIS.assertequals( SYS(2007, toReg_Esperado.OLE), SYS(2007, toReg.OLE), "Valor de OLE (Checksum) para " + lcExtraData )
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.OLE), LEN(toReg.OLE), "Tama<6D>o de OLE para " + lcExtraData )
|
||||||
|
|
||||||
|
*-- PROPERTIES
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.PROPERTIES), LEN(toReg.PROPERTIES), "Tama<6D>o de PROPERTIES para " + lcExtraData )
|
||||||
|
THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de PROPERTIES para " + lcExtraData )
|
||||||
|
FOR I = 1 TO lnPropsAndValues_Count_Esperado
|
||||||
|
THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||||
|
, ' Comprobaci<63>n de que existe la Property "' + TRANSFORM(laPropsAndValues_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
*-- RESERVED3
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.RESERVED3), LEN(toReg.RESERVED3), "Tama<6D>o de RESERVED3 para " + lcExtraData )
|
||||||
|
THIS.assertequals( lnPropsAndComments_Count_Esperado, lnPropsAndComments_Count, "Cantidad de RESERVED3 para " + lcExtraData )
|
||||||
|
FOR I = 1 TO lnPropsAndComments_Count_Esperado
|
||||||
|
THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||||
|
, ' Comprobaci<63>n de que existe la Reserved3 "' + TRANSFORM(laPropsAndComments_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
*-- PROTECTED
|
||||||
|
THIS.assertequals( LEN(toReg_Esperado.PROTECTED), LEN(toReg.PROTECTED), "Tama<6D>o de PROTECTED para " + lcExtraData )
|
||||||
|
THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de PROTECTED para " + lcExtraData )
|
||||||
|
FOR I = 1 TO lnProtected_Count_Esperado
|
||||||
|
THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||||
|
, ' Comprobaci<63>n de que existe la Protected "' + TRANSFORM(laProtected_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
*-- METHODS
|
||||||
|
lcMensaje = "Tama<6D>o de METHODS para " + lcExtraData
|
||||||
|
* COMPROBAR "BUG DEL M<>TODO MOVIDO"
|
||||||
|
IF LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) <> LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) )
|
||||||
|
IF "BUG DEL M<>TODO MOVIDO" $ toReg.METHODS AND NOT "BUG DEL M<>TODO MOVIDO" $ toReg_Esperado.METHODS
|
||||||
|
lcMensaje = lcMensaje + ' >>> ATENCI<43>N!! - COMPROBAR "BUG DEL M<>TODO MOVIDO"'
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
*-- Fin comprobaci<63>n
|
||||||
*-- Fin comprobaci<63>n
|
|
||||||
|
THIS.assertequals( LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) ;
|
||||||
THIS.assertequals( LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) ;
|
, LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) ), lcMensaje )
|
||||||
, LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) ), lcMensaje )
|
|
||||||
|
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
|
||||||
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
|
FOR I = 1 TO lnMethods_Count_Esperado
|
||||||
FOR I = 1 TO lnMethods_Count_Esperado
|
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
||||||
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||||
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
ENDFOR
|
||||||
ENDFOR
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
*-- Evaluaci<63>n de errores
|
*-- Evaluaci<63>n de errores
|
||||||
@@ -261,10 +264,158 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
ENDFUNC
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElReporte_FB2P_FRX_YValidarLosCamposDelRegistro
|
||||||
|
*-- REPORTES (FRX)
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario, lnRecno ;
|
||||||
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
|
, loEx AS EXCEPTION
|
||||||
|
#IF .F.
|
||||||
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
loEx = NULL
|
||||||
|
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||||
|
*loCnv.l_Debug = .F.
|
||||||
|
loCnv.l_ShowErrors = .F.
|
||||||
|
*loCnv.l_Test = .T.
|
||||||
|
*loCnv.l_ReportSort_Enabled = .F.
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'fb2p_foxuser.frx'
|
||||||
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
|
||||||
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
|
loCnv.Convertir( lc_OutputFile, .F., .F., .T. )
|
||||||
|
loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. )
|
||||||
|
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
|
SCAN ALL FOR NOT DELETED()
|
||||||
|
*-- DATOS ESPERADOS
|
||||||
|
STORE 0 TO lnCodError_Esperado
|
||||||
|
lnRecno = RECNO()
|
||||||
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
|
lcUniqueID = loReg_Esperado.UNIQUEID
|
||||||
|
|
||||||
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCATE FOR UNIQUEID==lcUniqueID
|
||||||
|
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro #' + TRANSFORM(RECNO('ARCHIBOBIN_IN')) + ' con UniqueID "' + lcUniqueID + '" en el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario, lnRecno )
|
||||||
|
ENDSCAN
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElReporte_FB2P_LBX_YValidarLosCamposDelRegistro
|
||||||
|
*-- ETIQUETAS (LBX)
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario, lnRecno ;
|
||||||
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
|
, loEx AS EXCEPTION
|
||||||
|
#IF .F.
|
||||||
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
loEx = NULL
|
||||||
|
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
|
||||||
|
*loCnv.l_Debug = .F.
|
||||||
|
loCnv.l_ShowErrors = .F.
|
||||||
|
*loCnv.l_Test = .T.
|
||||||
|
*loCnv.l_ReportSort_Enabled = .F.
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'fb2p_foxuser.lbx'
|
||||||
|
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||||
|
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||||
|
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||||
|
|
||||||
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
|
loCnv.Convertir( lc_OutputFile, .F., .F., .T. )
|
||||||
|
loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. )
|
||||||
|
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
|
SCAN ALL FOR NOT DELETED()
|
||||||
|
*-- DATOS ESPERADOS
|
||||||
|
STORE 0 TO lnCodError_Esperado
|
||||||
|
lnRecno = RECNO()
|
||||||
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
|
lcUniqueID = loReg_Esperado.UNIQUEID
|
||||||
|
|
||||||
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
LOCATE FOR UNIQUEID==lcUniqueID
|
||||||
|
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro #' + TRANSFORM(RECNO('ARCHIBOBIN_IN')) + ' con UniqueID "' + lcUniqueID + '" en el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario, lnRecno )
|
||||||
|
ENDSCAN
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCamposDelRegistro
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCamposDelRegistro
|
||||||
LOCAL lnCodError, lnCodError_Esperado ;
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
@@ -285,6 +436,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_File = 'fb2p_frm_1.scx'
|
lc_File = 'fb2p_frm_1.scx'
|
||||||
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 ) )
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -294,7 +446,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Form',10) OR PLATFORM==PADR("WINDOWS",8) )
|
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Form',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||||
*-- DATOS ESPERADOS
|
*-- DATOS ESPERADOS
|
||||||
STORE 0 TO lnCodError_Esperado
|
STORE 0 TO lnCodError_Esperado
|
||||||
SCATTER MEMO NAME loReg_Esperado
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
@@ -302,7 +454,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lcParent = loReg_Esperado.PARENT
|
lcParent = loReg_Esperado.PARENT
|
||||||
lcObjName = loReg_Esperado.objName
|
lcObjName = loReg_Esperado.objName
|
||||||
|
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
|
||||||
|
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Screen",10)
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -310,6 +486,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
ENDFUNC
|
ENDFUNC
|
||||||
@@ -318,7 +495,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarLosCamposDelRegistro
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarLosCamposDelRegistro
|
||||||
LOCAL lnCodError, lnCodError_Esperado ;
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
@@ -341,6 +518,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_File = 'fb2p_test.vcx'
|
lc_File = 'fb2p_test.vcx'
|
||||||
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 ) )
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -350,7 +528,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||||
*-- DATOS ESPERADOS
|
*-- DATOS ESPERADOS
|
||||||
STORE 0 TO lnCodError_Esperado
|
STORE 0 TO lnCodError_Esperado
|
||||||
SCATTER MEMO NAME loReg_Esperado
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
@@ -358,7 +536,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lcParent = loReg_Esperado.PARENT
|
lcParent = loReg_Esperado.PARENT
|
||||||
lcObjName = loReg_Esperado.objName
|
lcObjName = loReg_Esperado.objName
|
||||||
|
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
|
||||||
|
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -366,6 +568,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
ENDFUNC
|
ENDFUNC
|
||||||
@@ -374,7 +577,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_DelMetodoMovidoEntreClases
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_DelMetodoMovidoEntreClases
|
||||||
LOCAL lnCodError, lnCodError_Esperado ;
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
@@ -397,6 +600,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_File = 'fb2p_test_bug_metodo_movido.vcx'
|
lc_File = 'fb2p_test_bug_metodo_movido.vcx'
|
||||||
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 ) )
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -406,7 +610,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||||
*-- DATOS ESPERADOS
|
*-- DATOS ESPERADOS
|
||||||
STORE 0 TO lnCodError_Esperado
|
STORE 0 TO lnCodError_Esperado
|
||||||
SCATTER MEMO NAME loReg_Esperado
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
@@ -414,7 +618,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lcParent = loReg_Esperado.PARENT
|
lcParent = loReg_Esperado.PARENT
|
||||||
lcObjName = loReg_Esperado.objName
|
lcObjName = loReg_Esperado.objName
|
||||||
|
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
|
||||||
|
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -422,6 +650,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
ENDFUNC
|
ENDFUNC
|
||||||
@@ -430,7 +659,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
*******************************************************************************************************************************************
|
*******************************************************************************************************************************************
|
||||||
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_Del_PROCEDURE_SIN_ENDPROC
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_Del_PROCEDURE_SIN_ENDPROC
|
||||||
LOCAL lnCodError, lnCodError_Esperado ;
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
|
||||||
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
@@ -453,6 +682,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lc_File = 'fb2p_test_bug_estructural.vcx'
|
lc_File = 'fb2p_test_bug_estructural.vcx'
|
||||||
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 ) )
|
||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
@@ -462,7 +692,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
|
||||||
|
|
||||||
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
|
||||||
*-- DATOS ESPERADOS
|
*-- DATOS ESPERADOS
|
||||||
STORE 0 TO lnCodError_Esperado
|
STORE 0 TO lnCodError_Esperado
|
||||||
SCATTER MEMO NAME loReg_Esperado
|
SCATTER MEMO NAME loReg_Esperado
|
||||||
@@ -470,14 +700,40 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
lcParent = loReg_Esperado.PARENT
|
lcParent = loReg_Esperado.PARENT
|
||||||
lcObjName = loReg_Esperado.objName
|
lcObjName = loReg_Esperado.objName
|
||||||
|
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
*-- TEST
|
||||||
|
IF FILE(lc_OutputFile)
|
||||||
|
SELECT 0
|
||||||
|
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
ELSE
|
||||||
|
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
|
||||||
|
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
|
||||||
|
IF NOT FOUND()
|
||||||
|
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
SCATTER MEMO NAME loReg
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
|
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
|
||||||
|
, loReg_Esperado, loReg, lcTipoBinario )
|
||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("ARCHIBOBIN_IN"))
|
USE IN (SELECT("ARCHIBOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
ENDFUNC
|
ENDFUNC
|
||||||
|
|||||||
401
foxbin2prg.prg
401
foxbin2prg.prg
@@ -49,6 +49,7 @@
|
|||||||
* 06/12/2013 FDBOZZO v1.9 Arreglo bug p<>rdida de propiedades causado por una mejora anterior
|
* 06/12/2013 FDBOZZO v1.9 Arreglo bug p<>rdida de propiedades causado por una mejora anterior
|
||||||
* 06/12/2013 FDBOZZO v1.10 Arreglo del bug de mezcla de m<>todos de una clase con la siguiente
|
* 06/12/2013 FDBOZZO v1.10 Arreglo del bug de mezcla de m<>todos de una clase con la siguiente
|
||||||
* 07/12/2013 FDBOZZO v1.11 Arreglo del bug de _amembers detectado por Edgar K.con la clase BlowFish.vcx (http://www.tortugaproductiva.galeon.com/docs/blowfish/index.html)
|
* 07/12/2013 FDBOZZO v1.11 Arreglo del bug de _amembers detectado por Edgar K.con la clase BlowFish.vcx (http://www.tortugaproductiva.galeon.com/docs/blowfish/index.html)
|
||||||
|
* 07/12/2013 FDBOZZO v1.12 Agregado soporte preliminar de conversi<73>n de reportes y etiquetas (FRX/LBX)
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)
|
* TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)
|
||||||
@@ -331,6 +332,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
+ [<memberdata name="l_showerrors" type="property" display="l_ShowErrors"/>] ;
|
+ [<memberdata name="l_showerrors" type="property" display="l_ShowErrors"/>] ;
|
||||||
+ [<memberdata name="l_methodsort_enabled" type="property" display="l_MethodSort_Enabled"/>] ;
|
+ [<memberdata name="l_methodsort_enabled" type="property" display="l_MethodSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="l_propsort_enabled" type="property" display="l_PropSort_Enabled"/>] ;
|
+ [<memberdata name="l_propsort_enabled" type="property" display="l_PropSort_Enabled"/>] ;
|
||||||
|
+ [<memberdata name="l_reportsort_enabled" type="property" display="l_ReportSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="c_curdir" type="property" display="c_CurDir"/>] ;
|
+ [<memberdata name="c_curdir" type="property" display="c_CurDir"/>] ;
|
||||||
+ [<memberdata name="c_inputfile" type="property" display="c_InputFile"/>] ;
|
+ [<memberdata name="c_inputfile" type="property" display="c_InputFile"/>] ;
|
||||||
+ [<memberdata name="c_outputfile" type="property" display="c_OutputFile"/>] ;
|
+ [<memberdata name="c_outputfile" type="property" display="c_OutputFile"/>] ;
|
||||||
@@ -357,9 +359,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
l_ShowErrors = .F.
|
l_ShowErrors = .F.
|
||||||
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
|
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
lFileMode = .F.
|
lFileMode = .F.
|
||||||
nClassTimeStamp = ''
|
nClassTimeStamp = ''
|
||||||
n_FB2PRG_Version = 1.11
|
n_FB2PRG_Version = 1.12
|
||||||
o_Conversor = NULL
|
o_Conversor = NULL
|
||||||
c_VC2 = 'VC2'
|
c_VC2 = 'VC2'
|
||||||
c_SC2 = 'SC2'
|
c_SC2 = 'SC2'
|
||||||
@@ -436,6 +439,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, THIS.c_FR2 )
|
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, THIS.c_FR2 )
|
||||||
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
|
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
|
||||||
|
|
||||||
|
CASE JUSTEXT(THIS.c_InputFile) = 'LBX'
|
||||||
|
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, THIS.c_LB2 )
|
||||||
|
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
|
||||||
|
|
||||||
CASE JUSTEXT(THIS.c_InputFile) = THIS.c_VC2
|
CASE JUSTEXT(THIS.c_InputFile) = THIS.c_VC2
|
||||||
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, 'VCX' )
|
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, 'VCX' )
|
||||||
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' )
|
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_vcx' )
|
||||||
@@ -452,6 +459,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, 'FRX' )
|
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, 'FRX' )
|
||||||
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
|
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
|
||||||
|
|
||||||
|
CASE JUSTEXT(THIS.c_InputFile) = THIS.c_LB2
|
||||||
|
THIS.c_OutputFile = FORCEEXT( THIS.c_InputFile, 'LBX' )
|
||||||
|
THIS.o_Conversor = CREATEOBJECT( 'c_conversor_prg_a_frx' )
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
ERROR 'El archivo [' + THIS.c_InputFile + '] no est<73> soportado'
|
ERROR 'El archivo [' + THIS.c_InputFile + '] no est<73> soportado'
|
||||||
|
|
||||||
@@ -463,9 +474,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
THIS.o_Conversor.l_Debug = THIS.l_Debug
|
THIS.o_Conversor.l_Debug = THIS.l_Debug
|
||||||
THIS.o_Conversor.l_Test = THIS.l_Test
|
THIS.o_Conversor.l_Test = THIS.l_Test
|
||||||
THIS.o_Conversor.n_FB2PRG_Version = THIS.n_FB2PRG_Version
|
THIS.o_Conversor.n_FB2PRG_Version = THIS.n_FB2PRG_Version
|
||||||
THIS.o_Conversor.Convertir( @toModulo )
|
|
||||||
THIS.o_Conversor.l_MethodSort_Enabled = THIS.l_MethodSort_Enabled
|
THIS.o_Conversor.l_MethodSort_Enabled = THIS.l_MethodSort_Enabled
|
||||||
THIS.o_Conversor.l_PropSort_Enabled = THIS.l_PropSort_Enabled
|
THIS.o_Conversor.l_PropSort_Enabled = THIS.l_PropSort_Enabled
|
||||||
|
THIS.o_Conversor.l_ReportSort_Enabled = THIS.l_ReportSort_Enabled
|
||||||
|
*--
|
||||||
|
THIS.o_Conversor.Convertir( @toModulo )
|
||||||
THIS.o_Conversor = NULL
|
THIS.o_Conversor = NULL
|
||||||
|
|
||||||
CATCH TO toEx
|
CATCH TO toEx
|
||||||
@@ -624,6 +637,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
+ [<memberdata name="l_test" type="property" display="l_Test"/>] ;
|
+ [<memberdata name="l_test" type="property" display="l_Test"/>] ;
|
||||||
+ [<memberdata name="l_methodsort_enabled" type="property" display="l_MethodSort_Enabled"/>] ;
|
+ [<memberdata name="l_methodsort_enabled" type="property" display="l_MethodSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="l_propsort_enabled" type="property" display="l_PropSort_Enabled"/>] ;
|
+ [<memberdata name="l_propsort_enabled" type="property" display="l_PropSort_Enabled"/>] ;
|
||||||
|
+ [<memberdata name="l_reportsort_enabled" type="property" display="l_ReportSort_Enabled"/>] ;
|
||||||
+ [<memberdata name="n_fb2prg_version" type="property" display="n_FB2PRG_Version"/>] ;
|
+ [<memberdata name="n_fb2prg_version" type="property" display="n_FB2PRG_Version"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
@@ -640,6 +654,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
c_LogFile = ''
|
c_LogFile = ''
|
||||||
l_MethodSort_Enabled = .T.
|
l_MethodSort_Enabled = .T.
|
||||||
l_PropSort_Enabled = .T.
|
l_PropSort_Enabled = .T.
|
||||||
|
l_ReportSort_Enabled = .T.
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
@@ -928,51 +943,23 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE doBackup
|
PROCEDURE doBackup
|
||||||
LOCAL lcNext_Bak
|
LOCAL lcNext_Bak, lcExt_X, lcExt_T
|
||||||
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
||||||
|
lcExt_X = JUSTEXT( THIS.c_OutputFile )
|
||||||
|
lcExt_T = LEFT(lcExt_X,2) + 'T'
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE JUSTEXT( THIS.c_OutputFile ) = 'VCX'
|
CASE JUSTEXT( THIS.c_OutputFile ) = lcExt_X
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'VCX') )
|
IF FILE( FORCEEXT(THIS.c_OutputFile,lcExt_X) )
|
||||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,'VCX') + '/VCT' )
|
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,lcExt_X) + '/' + lcExt_T )
|
||||||
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'VCX')) TO (FORCEEXT(THIS.c_OutputFile, 'VCX' + lcNext_Bak))
|
COPY FILE (FORCEEXT(THIS.c_OutputFile,lcExt_X)) TO (FORCEEXT(THIS.c_OutputFile, lcExt_X + lcNext_Bak))
|
||||||
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'VCT') )
|
IF FILE( FORCEEXT(THIS.c_OutputFile,lcExt_T) )
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'VCT')) TO (FORCEEXT(THIS.c_OutputFile,'VCT' + lcNext_Bak))
|
COPY FILE (FORCEEXT(THIS.c_OutputFile,lcExt_T)) TO (FORCEEXT(THIS.c_OutputFile,lcExt_T + lcNext_Bak))
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CASE JUSTEXT( THIS.c_OutputFile ) = 'SCX'
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'SCX') )
|
|
||||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,'SCX') + '/SCT' )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'SCX')) TO (FORCEEXT(THIS.c_OutputFile,'SCX' + lcNext_Bak))
|
|
||||||
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'SCT') )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'SCT')) TO (FORCEEXT(THIS.c_OutputFile,'SCT' + lcNext_Bak))
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CASE JUSTEXT( THIS.c_OutputFile ) = 'PJX'
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'PJX') )
|
|
||||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,'PJX') + '/PJT' )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'PJX')) TO (FORCEEXT(THIS.c_OutputFile,'PJX' + lcNext_Bak))
|
|
||||||
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'PJT') )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'PJT')) TO (FORCEEXT(THIS.c_OutputFile,'PJT' + lcNext_Bak))
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CASE JUSTEXT( THIS.c_OutputFile ) = 'FRX'
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'FRX') )
|
|
||||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,'FRX') + '/FRT' )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'FRX')) TO (FORCEEXT(THIS.c_OutputFile,'FRX' + lcNext_Bak))
|
|
||||||
|
|
||||||
IF FILE( FORCEEXT(THIS.c_OutputFile,'FRT') )
|
|
||||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,'FRT')) TO (FORCEEXT(THIS.c_OutputFile,'FRT' + lcNext_Bak))
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
ERROR 'Tipo de archivo [' + JUSTFNAME(THIS.c_OutputFile) + '] no soportado para backup!'
|
ERROR 'Tipo de archivo [' + JUSTFNAME(THIS.c_OutputFile) + '] no soportado para backup!'
|
||||||
|
|
||||||
@@ -1977,7 +1964,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
, 'BOTMARGIN' N(3) ;
|
, 'BOTMARGIN' N(3) ;
|
||||||
, 'TOTALTYPE' N(2) ;
|
, 'TOTALTYPE' N(2) ;
|
||||||
, 'RESETTOTAL' N(2) ;
|
, 'RESETTOTAL' N(2) ;
|
||||||
, 'RESOID' N(2) ;
|
, 'RESOID' N(3) ;
|
||||||
, 'CURPOS' L ;
|
, 'CURPOS' L ;
|
||||||
, 'SUPALWAYS' L ;
|
, 'SUPALWAYS' L ;
|
||||||
, 'SUPOVFLOW' L ;
|
, 'SUPOVFLOW' L ;
|
||||||
@@ -2247,6 +2234,28 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE getTextFrom_BIN_FileStructure
|
||||||
|
TRY
|
||||||
|
LOCAL lcStructure, lnSelect
|
||||||
|
lnSelect = SELECT()
|
||||||
|
SELECT 0
|
||||||
|
USE (THIS.c_InputFile) AGAIN SHARED ALIAS _TABLABIN
|
||||||
|
COPY STRUCTURE EXTENDED TO ( FORCEPATH( '_FRX_STRUC.DBF', ADDBS( SYS(2023) ) ) )
|
||||||
|
**** CONTINUAR SI ES NECESARIO - SIN USO POR AHORA
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THROW
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("_TABLABIN"))
|
||||||
|
SELECT (lnSelect)
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN lcStructure
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE defined_PAM2Memo
|
PROCEDURE defined_PAM2Memo
|
||||||
LPARAMETERS toClase
|
LPARAMETERS toClase
|
||||||
@@ -4479,7 +4488,8 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
DODEFAULT()
|
LPARAMETERS toModulo, toEx AS EXCEPTION
|
||||||
|
DODEFAULT( @toModulo, @toEx )
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loEx AS EXCEPTION, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ;
|
LOCAL lnCodError, loEx AS EXCEPTION, loReg, lcLine, laCodeLines(1), lnCodeLines, lnFB2P_Version, lcSourceFile ;
|
||||||
@@ -4527,15 +4537,55 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loReg, lnCodError, loEx AS EXCEPTION
|
LOCAL loReg, I, lcFieldType, lnFieldLen, lnFieldDec, lnNumCampo, laFieldTypes(1,18) ;
|
||||||
|
, luValor, lnCodError, loEx AS EXCEPTION
|
||||||
|
SELECT TABLABIN
|
||||||
|
AFIELDS( laFieldTypes )
|
||||||
|
|
||||||
*-- Agrego los ARCHIVOS
|
*-- Agrego los registros
|
||||||
FOR EACH loReg IN toReport FOXOBJECT
|
FOR EACH loReg IN toReport FOXOBJECT
|
||||||
|
|
||||||
|
*-- Ajuste de los tipos de dato
|
||||||
|
FOR I = 1 TO AMEMBERS(laProps, loReg, 0)
|
||||||
|
lnNumCampo = ASCAN( laFieldTypes, laProps(I), 1, -1, 1, 1+2+4+8 )
|
||||||
|
|
||||||
|
IF lnNumCampo = 0
|
||||||
|
ERROR 'No se encontr<74> el campo [' + laProps(I) + '] en la estructura del archivo ' + DBF("TABLABIN")
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lcFieldType = laFieldTypes(lnNumCampo,2)
|
||||||
|
lnFieldLen = laFieldTypes(lnNumCampo,3)
|
||||||
|
lnFieldDec = laFieldTypes(lnNumCampo,4)
|
||||||
|
luValor = EVALUATE('loReg.' + laProps(I))
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE INLIST(lcFieldType, 'B') && Double
|
||||||
|
STORE CAST( luValor AS &lcFieldType. (lnFieldPrec) ) TO ('loReg.' + laProps(I))
|
||||||
|
|
||||||
|
CASE INLIST(lcFieldType, 'F', 'N', 'Y') && Float, Numeric, Currency
|
||||||
|
STORE CAST( luValor AS &lcFieldType. (lnFieldLen, lnFieldDec) ) TO ('loReg.' + laProps(I))
|
||||||
|
|
||||||
|
CASE INLIST(lcFieldType, 'W', 'G', 'M', 'Q', 'V') && Blob, General, Memo, Varbinary, Barchar
|
||||||
|
STORE CAST( luValor AS &lcFieldType. ) TO ('loReg.' + laProps(I))
|
||||||
|
|
||||||
|
OTHERWISE && Dem<65>s tipos
|
||||||
|
STORE CAST( luValor AS &lcFieldType. (lnFieldLen) ) TO ('loReg.' + laProps(I))
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
INSERT INTO TABLABIN FROM NAME loReg
|
INSERT INTO TABLABIN FROM NAME loReg
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
USE IN (SELECT("TABLABIN"))
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
IF THIS.c_Type = 'FRX'
|
||||||
|
COMPILE REPORT (THIS.c_OutputFile)
|
||||||
|
ELSE
|
||||||
|
COMPILE LABEL (THIS.c_OutputFile)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
lnCodError = loEx.ERRORNO
|
lnCodError = loEx.ERRORNO
|
||||||
@@ -4616,6 +4666,114 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE analizarBloque_CDATA_inline
|
||||||
|
*------------------------------------------------------
|
||||||
|
*-- Analiza el bloque <picture>
|
||||||
|
*------------------------------------------------------
|
||||||
|
LPARAMETERS toReport, tcLine, taCodeLines, I, tnCodeLines, toReg, tcPropName
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL llBloqueEncontrado, lcValue, loEx as Exception
|
||||||
|
|
||||||
|
IF LEFT(tcLine, 1 + LEN(tcPropName) + 1 + 9) == '<' + tcPropName + '>' + C_DATA_I
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
|
||||||
|
IF C_DATA_F $ tcLine
|
||||||
|
lcValue = STREXTRACT( tcLine, C_DATA_I, C_DATA_F )
|
||||||
|
ADDPROPERTY( toReg, tcPropName, lcValue )
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Tomo la primera parte del valor
|
||||||
|
lcValue = STREXTRACT( tcLine, C_DATA_I )
|
||||||
|
|
||||||
|
*-- Recorro las fracciones del valor
|
||||||
|
FOR I = I + 1 TO tnCodeLines
|
||||||
|
.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
|
IF C_DATA_F $ tcLine && Fin del valor
|
||||||
|
lcValue = lcValue + CR_LF + STREXTRACT( tcLine, '', C_DATA_F )
|
||||||
|
ADDPROPERTY( toReg, tcPropName, lcValue )
|
||||||
|
EXIT
|
||||||
|
|
||||||
|
ELSE && Otra fracci<63>n del valor
|
||||||
|
lcValue = lcValue + CR_LF + tcLine
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF loEx.ErrorNo = 1470 && Incorrect property name.
|
||||||
|
loEx.UserValue = 'PropName=[' + TRANSFORM(tcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE analizarBloque_platform
|
||||||
|
*------------------------------------------------------
|
||||||
|
*-- Analiza el bloque <platform=>
|
||||||
|
*------------------------------------------------------
|
||||||
|
LPARAMETERS toReport, tcLine, taCodeLines, I, tnCodeLines, toReg
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL llBloqueEncontrado, X, lnPos, lnPos2, lcValue, lnLenPropName, laProps(1) ;
|
||||||
|
, lcComment, lcMetadatos, luValor ;
|
||||||
|
, laPropsAndValues(1,2), lnPropsAndValues_Count
|
||||||
|
|
||||||
|
IF LOWER( LEFT(tcLine, 10) ) == 'platform="'
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
lnLastPos = 1
|
||||||
|
tcLine = ' ' + tcLine
|
||||||
|
|
||||||
|
FOR X = 1 TO AMEMBERS( laProps, toReg, 0 )
|
||||||
|
laProps(X) = ' ' + laProps(X)
|
||||||
|
lnPos = AT( LOWER(laProps(X)) + '="', tcLine )
|
||||||
|
|
||||||
|
IF lnPos > 0
|
||||||
|
lnLenPropName = LEN(laProps(X))
|
||||||
|
lnPos2 = AT( '"', SUBSTR( tcLine, lnPos + lnLenPropName + 2 ) )
|
||||||
|
lcValue = SUBSTR( tcLine, lnPos + lnLenPropName + 2, lnPos2 - 1 )
|
||||||
|
|
||||||
|
ADDPROPERTY( toReg, laProps(X), lcValue )
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE analizarBloque_Reportes
|
PROCEDURE analizarBloque_Reportes
|
||||||
*------------------------------------------------------
|
*------------------------------------------------------
|
||||||
@@ -4649,26 +4807,35 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @lcComment )
|
CASE .lineIsOnlyCommentAndNoMetadata( @tcLine, @lcComment )
|
||||||
LOOP && Saltear comentarios
|
LOOP && Saltear comentarios
|
||||||
|
|
||||||
*CASE UPPER( LEFT( tcLine, 14 ) ) == 'BUILD PROJECT '
|
|
||||||
* LOOP
|
|
||||||
|
|
||||||
CASE .analizarBloque_platform( toReport, @tcLine, @taCodeLines, @I, @tnCodeLines, @loReg )
|
CASE .analizarBloque_platform( toReport, @tcLine, @taCodeLines, @I, @tnCodeLines, @loReg )
|
||||||
|
|
||||||
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'picture' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'picture' )
|
||||||
|
|
||||||
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag' )
|
||||||
|
*-- ARREGLO ALGUNOS VALORES CAMBIADOS AL TEXTUALIZAR
|
||||||
|
DO CASE
|
||||||
|
CASE loReg.ObjType == "1"
|
||||||
|
loReg.TAG = THIS.decode_SpecialCodes_1_31( loReg.tag )
|
||||||
|
CASE loReg.ObjType == "25"
|
||||||
|
loReg.TAG = SUBSTR(loReg.TAG,3)
|
||||||
|
OTHERWISE
|
||||||
|
loReg.TAG = THIS.decode_SpecialCodes_1_31( loReg.tag )
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag2' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'tag2' )
|
||||||
|
*-- ARREGLO ALGUNOS VALORES CAMBIADOS AL TEXTUALIZAR
|
||||||
|
loReg.TAG2 = STRCONV( loReg.TAG2,14 )
|
||||||
|
|
||||||
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'penred' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'penred' )
|
||||||
|
|
||||||
*CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'style' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'style' )
|
||||||
|
|
||||||
*CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'expr' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'expr' )
|
||||||
|
|
||||||
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'user' )
|
CASE .analizarBloque_CDATA_inline( toReport, @tcLine, @taCodeLines, @I, tnCodeLines, @loReg, 'user' )
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
@@ -4689,90 +4856,6 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque_platform
|
|
||||||
*------------------------------------------------------
|
|
||||||
*-- Analiza el bloque <platform=>
|
|
||||||
*------------------------------------------------------
|
|
||||||
LPARAMETERS toReport, tcLine, taCodeLines, I, tnCodeLines, toReg
|
|
||||||
|
|
||||||
#IF .F.
|
|
||||||
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
|
|
||||||
#ENDIF
|
|
||||||
|
|
||||||
TRY
|
|
||||||
LOCAL llBloqueEncontrado, X, lnPos, lnPos2, lcValue, lnLenPropName, laProps(1) ;
|
|
||||||
, lcComment, lcMetadatos, luValor ;
|
|
||||||
, laPropsAndValues(1,2), lnPropsAndValues_Count
|
|
||||||
|
|
||||||
IF LOWER( LEFT(tcLine, 10) ) == 'platform="'
|
|
||||||
llBloqueEncontrado = .T.
|
|
||||||
lnLastPos = 1
|
|
||||||
|
|
||||||
FOR X = 1 TO AMEMBERS( laProps, toReg, 0 )
|
|
||||||
lnPos = AT( LOWER(laProps(X)) + '="', tcLine )
|
|
||||||
|
|
||||||
IF lnPos > 0
|
|
||||||
lnLenPropName = LEN(laProps(X))
|
|
||||||
lnPos2 = AT( '"', SUBSTR( tcLine, lnPos + lnLenPropName + 2 ) )
|
|
||||||
lcValue = SUBSTR( tcLine, lnPos + lnLenPropName + 2, lnPos2 - 1 )
|
|
||||||
ADDPROPERTY( toReg, laProps(X), lcValue )
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CATCH TO loEx
|
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
|
||||||
SET STEP ON
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
THROW
|
|
||||||
|
|
||||||
ENDTRY
|
|
||||||
|
|
||||||
RETURN llBloqueEncontrado
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque_CDATA_inline
|
|
||||||
*------------------------------------------------------
|
|
||||||
*-- Analiza el bloque <picture>
|
|
||||||
*------------------------------------------------------
|
|
||||||
LPARAMETERS toReport, tcLine, taCodeLines, I, tnCodeLines, toReg, tcPropName
|
|
||||||
|
|
||||||
#IF .F.
|
|
||||||
LOCAL toReport AS CL_REPORT OF 'FOXBIN2PRG.PRG'
|
|
||||||
#ENDIF
|
|
||||||
|
|
||||||
TRY
|
|
||||||
LOCAL llBloqueEncontrado, lcValue, loEx as Exception
|
|
||||||
|
|
||||||
IF LEFT(tcLine, 9) == '<' + tcPropName + '>'
|
|
||||||
llBloqueEncontrado = .T.
|
|
||||||
|
|
||||||
lcValue = STREXTRACT( tcLine, C_DATA_I, C_DATA_F )
|
|
||||||
ADDPROPERTY( toReg, tcPropName, lcValue )
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CATCH TO loEx
|
|
||||||
IF loEx.ErrorNo = 1470 && Incorrect property name.
|
|
||||||
loEx.UserValue = 'PropName=[' + TRANSFORM(tcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']'
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
|
||||||
SET STEP ON
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
THROW
|
|
||||||
|
|
||||||
ENDTRY
|
|
||||||
|
|
||||||
RETURN llBloqueEncontrado
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
@@ -5812,7 +5895,7 @@ 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
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
@@ -5925,7 +6008,7 @@ 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
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
@@ -6038,7 +6121,7 @@ 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
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
@@ -6879,23 +6962,44 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
|||||||
DODEFAULT( @toModulo, @toEx )
|
DODEFAULT( @toModulo, @toEx )
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnCodError, loRegCab, loRegDataEnv, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ;
|
LOCAL lnCodError, loRegCab, loRegDataEnv, loRegCur, loRegObj, lnMethodCount, laMethods(1), laCode(1), laProtected(1) ;
|
||||||
, 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
|
STORE 0 TO lnCodError, lnLastClass
|
||||||
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
STORE '' TO laMethods(1), laCode(1), laProtected(1), laPropsAndComments(1)
|
||||||
STORE NULL TO loRegObj, loRegCab, loRegDataEnv
|
STORE NULL TO loRegObj, loRegCab, loRegDataEnv, loRegCur
|
||||||
|
|
||||||
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN_0
|
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN_0
|
||||||
|
|
||||||
GO TOP && Tiene que ser objType = 1
|
*-- Header
|
||||||
SCATTER MEMO NAME loRegCab
|
LOCATE FOR objType = 1
|
||||||
GOTO BOTTOM && Tiene que ser objType = 25
|
IF FOUND()
|
||||||
SCATTER MEMO NAME loRegDataEnv
|
SCATTER MEMO NAME loRegCab
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT * FROM TABLABIN_0 ;
|
*-- Dataenvironment
|
||||||
WHERE objType NOT IN (1,25) ;
|
LOCATE FOR objType = 25
|
||||||
ORDER BY vpos,hpos ;
|
IF FOUND()
|
||||||
INTO CURSOR TABLABIN READWRITE
|
SCATTER MEMO NAME loRegDataEnv
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Cursor1 (<28>puede haber m<>s de 1 cursor?)
|
||||||
|
LOCATE FOR objType = 26
|
||||||
|
IF FOUND()
|
||||||
|
SCATTER MEMO NAME loRegCur
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF THIS.l_ReportSort_Enabled
|
||||||
|
*-- ORDENADO
|
||||||
|
SELECT * FROM TABLABIN_0 ;
|
||||||
|
WHERE objType NOT IN (1,25,26) ;
|
||||||
|
ORDER BY vpos,hpos ;
|
||||||
|
INTO CURSOR TABLABIN READWRITE
|
||||||
|
ELSE
|
||||||
|
*-- SIN ORDENAR (S<>lo para poder comparar con el original)
|
||||||
|
SELECT * FROM TABLABIN_0 ;
|
||||||
|
WHERE objType NOT IN (1,25,26) ;
|
||||||
|
INTO CURSOR TABLABIN
|
||||||
|
ENDIF
|
||||||
|
|
||||||
loRegObj = NULL
|
loRegObj = NULL
|
||||||
USE IN (SELECT("TABLABIN_0"))
|
USE IN (SELECT("TABLABIN_0"))
|
||||||
@@ -6903,7 +7007,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
THIS.write_PROGRAM_HEADER()
|
THIS.write_PROGRAM_HEADER()
|
||||||
|
|
||||||
*----------------------------------------------
|
*-- Recorro los registros y genero el texto
|
||||||
SELECT TABLABIN
|
SELECT TABLABIN
|
||||||
GOTO TOP
|
GOTO TOP
|
||||||
THIS.write_CABECERA_REPORTE( @loRegCab )
|
THIS.write_CABECERA_REPORTE( @loRegCab )
|
||||||
@@ -6914,8 +7018,9 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
THIS.write_DATAENVIRONMENT_REPORTE( @loRegDataEnv )
|
THIS.write_DATAENVIRONMENT_REPORTE( @loRegDataEnv )
|
||||||
|
THIS.write_DETALLE_REPORTE( @loRegCur )
|
||||||
|
|
||||||
*-- Genero el SC2
|
*-- Genero el FR2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
toModulo = C_FB2PRG_CODE
|
toModulo = C_FB2PRG_CODE
|
||||||
ELSE
|
ELSE
|
||||||
|
|||||||
Reference in New Issue
Block a user