diff --git a/Convert_VFP9_BIN_2_PRG.vbs b/Convert_VFP9_BIN_2_PRG.vbs index 3bd943b..6a6fde3 100644 --- a/Convert_VFP9_BIN_2_PRG.vbs +++ b/Convert_VFP9_BIN_2_PRG.vbs @@ -14,7 +14,7 @@ Const ForReading = 1 Dim WSHShell, FileSystemObject Dim oVFP9, nExitCode, cEXETool, cCMD, nDebug, cConvertType, aExtensions(8), foxbin2prg_cfg, aFiles(), nFile_Count -Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall, cFlagRecompile +Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall, cFlagRecompile, cNoTimestamps Set WSHShell = WScript.CreateObject("WScript.Shell") Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject") Set oVFP9 = CreateObject("VisualFoxPro.Application.9") @@ -22,7 +22,14 @@ foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg nExitCode = 0 cConvertType = "BIN2PRG" '<<< This is the only difference between the 2 scripts '--------------------------------------------------------------------------------------------------- -nDebug = 1+0+4+0 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages, 8=Show end of process message +'Cumulative Flags: +' 0=OFF +' 1=Create FoxBin2prg LOG +' 2=Only show script calls (for testing without executing) +' 4=Don't show FoxBin2prg error modal messages +' 8=Show end of process message +' 16=Empty timestamps +nDebug = 1+0+4+0+16 '--------------------------------------------------------------------------------------------------- If cConvertType = "BIN2PRG" Then @@ -87,6 +94,9 @@ If WScript.Arguments.Count = 0 Then If GetBit(nDebug, 4) Then cErrMsg = cErrMsg & Chr(13) & "Bit 3 ON: (8) Show End of Process message" End If + If GetBit(nDebug, 5) Then + cErrMsg = cErrMsg & Chr(13) & "Bit 4 ON: (16) Empty timestamps" + End If MsgBox cErrMsg, 64, "No parameters - Debug Status" Else cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe") @@ -103,7 +113,7 @@ Else cFlagGenerateLog = "'0'" cFlagDontShowErrMsg = "'0'" cFlagShowCall = "'0'" - cFlagRecompile = "'0'" + cFlagRecompile = "'1'" If GetBit(nDebug, 1) Then cFlagGenerateLog = "'1'" @@ -114,21 +124,26 @@ Else If GetBit(nDebug, 3) Then cFlagDontShowErrMsg = "'1'" End If - + If GetBit(nDebug, 5) Then + cNoTimestamps = "'1'" + End If + oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nMAX_VALUE = " & nFile_Count ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nVALUE = " & 0 ) - oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.AlwaysOnTop = .T." ) + 'oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.AlwaysOnTop = .T." ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.SHOW()" ) For i = 1 To nFile_Count oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.lbl_TAREA.CAPTION = 'Procesando " & aFiles(i) & "...'" ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nVALUE = " & i ) + cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" Else cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','0','0','0'," _ - & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," & cFlagRecompile & " )" + & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ + & cFlagRecompile & "," & cNoTimestamps & " )" End If If cFlagJustShowCall = "1" Then MsgBox cCMD, 64, "PARAMETROS ENVIADOS" diff --git a/Convert_VFP9_PRG_2_BIN.vbs b/Convert_VFP9_PRG_2_BIN.vbs index 7fe5f47..cd518eb 100644 --- a/Convert_VFP9_PRG_2_BIN.vbs +++ b/Convert_VFP9_PRG_2_BIN.vbs @@ -14,7 +14,7 @@ Const ForReading = 1 Dim WSHShell, FileSystemObject Dim oVFP9, nExitCode, cEXETool, cCMD, nDebug, cConvertType, aExtensions(8), foxbin2prg_cfg, aFiles(), nFile_Count -Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall, cFlagRecompile +Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall, cFlagRecompile, cNoTimestamps Set WSHShell = WScript.CreateObject("WScript.Shell") Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject") Set oVFP9 = CreateObject("VisualFoxPro.Application.9") @@ -22,7 +22,14 @@ foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg nExitCode = 0 cConvertType = "PRG2BIN" '<<< This is the only difference between the 2 scripts '--------------------------------------------------------------------------------------------------- -nDebug = 1+0+4+0 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages, 8=Show end of process message +'Cumulative Flags: +' 0=OFF +' 1=Create FoxBin2prg LOG +' 2=Only show script calls (for testing without executing) +' 4=Don't show FoxBin2prg error modal messages +' 8=Show end of process message +' 16=Empty timestamps +nDebug = 1+0+4+0+16 '--------------------------------------------------------------------------------------------------- If cConvertType = "BIN2PRG" Then @@ -87,6 +94,9 @@ If WScript.Arguments.Count = 0 Then If GetBit(nDebug, 4) Then cErrMsg = cErrMsg & Chr(13) & "Bit 3 ON: (8) Show End of Process message" End If + If GetBit(nDebug, 5) Then + cErrMsg = cErrMsg & Chr(13) & "Bit 4 ON: (16) Empty timestamps" + End If MsgBox cErrMsg, 64, "No parameters - Debug Status" Else cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe") @@ -103,7 +113,7 @@ Else cFlagGenerateLog = "'0'" cFlagDontShowErrMsg = "'0'" cFlagShowCall = "'0'" - cFlagRecompile = "'0'" + cFlagRecompile = "'1'" If GetBit(nDebug, 1) Then cFlagGenerateLog = "'1'" @@ -114,21 +124,26 @@ Else If GetBit(nDebug, 3) Then cFlagDontShowErrMsg = "'1'" End If + If GetBit(nDebug, 5) Then + cNoTimestamps = "'1'" + End If oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nMAX_VALUE = " & nFile_Count ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nVALUE = " & 0 ) - oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.AlwaysOnTop = .T." ) + 'oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.AlwaysOnTop = .T." ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.SHOW()" ) For i = 1 To nFile_Count oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.lbl_TAREA.CAPTION = 'Procesando " & aFiles(i) & "...'" ) oVFP9.DoCmd( "oFoxBin2prg.o_Frm_Avance.nVALUE = " & i ) + cFlagRecompile = "'" & FileSystemObject.GetParentFolderName( aFiles(i) ) & "'" If nDebug = 0 Or nDebug = 2 Then cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "' )" Else cCMD = "oFoxBin2prg.ejecutar( '" & aFiles(i) & "','0','0','0'," _ - & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," & cFlagRecompile & " )" + & cFlagDontShowErrMsg & "," & cFlagGenerateLog & ",'1','','',.F.,''," _ + & cFlagRecompile & "," & cNoTimestamps & " )" End If If cFlagJustShowCall = "1" Then MsgBox cCMD, 64, "PARAMETROS ENVIADOS" diff --git a/TESTS/DATOS_READONLY/fb2p_frm_2.sc2 b/TESTS/DATOS_READONLY/fb2p_frm_2.sc2 index 4beaa79..9894332 100644 --- a/TESTS/DATOS_READONLY/fb2p_frm_2.sc2 +++ b/TESTS/DATOS_READONLY/fb2p_frm_2.sc2 @@ -2,7 +2,7 @@ * (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! * (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! *-------------------------------------------------------------------------------------------------------------------------------------------------------- -*< FOXBIN2PRG: Version="1.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_frm_2.scx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +*< FOXBIN2PRG: Version="1.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\FB2P_FRM_2.SCX" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) * * DEFINE CLASS Dataenvironment AS dataenvironment @@ -17,7 +17,7 @@ DEFINE CLASS Dataenvironment AS dataenvironment ENDDEFINE DEFINE CLASS Form1 AS form - *< CLASSDATA: Baseclass="form" Timestamp="2013/12/15 18:41:14" Scale="" Uniqueid="_3XW0B26O1" /> + *< CLASSDATA: Baseclass="form" Timestamp="2014/02/03 19:55:29" Scale="" Uniqueid="_3XW0B26O1" /> * *p: a_otra *a: ^a_prop[1,0] && array @@ -109,12 +109,12 @@ DEFINE CLASS Form1 AS form _prop = .F. ADD OBJECT 'Commandgroup1' AS commandgroup WITH ; - ButtonCount = 2, ; - Height = 66, ; + ButtonCount = 3, ; + Height = 100, ; Left = 12, ; Name = "Commandgroup1", ; Top = 8, ; - Value = 1, ; + Value = 2, ; Width = 94, ; Command1.Caption = "Command1", ; Command1.Height = 27, ; @@ -170,7 +170,60 @@ DEFINE CLASS Form1 AS form Command2.Visible = .T., ; Command2.WhatsThisHelpID = -1, ; Command2.Width = 84, ; - Command2.WordWrap = .F. - *< END OBJECT: BaseClass="commandgroup" UniqueID="_3Y813WLQU" Timestamp="2013/12/15 18:41:14" ZOrder="400" /> + Command2.WordWrap = .F., ; + Command3.Caption = "Command3", ; + Command3.Height = 27, ; + Command3.Left = 5, ; + Command3.Name = "Command3", ; + Command3.Top = 63, ; + Command3.Width = 84 + *< END OBJECT: BaseClass="commandgroup" UniqueID="_3Y813WLQU" Timestamp="2014/02/03 19:55:29" ZOrder="400" /> + + ADD OBJECT 'Optiongroup1' AS optiongroup WITH ; + ButtonCount = 3, ; + Height = 68, ; + Left = 20, ; + Name = "Optiongroup1", ; + Top = 144, ; + Value = 2, ; + Width = 71, ; + Option1.Caption = "Option1", ; + Option1.Height = 17, ; + Option1.Left = 5, ; + Option1.Name = "Option1", ; + Option1.Top = 5, ; + Option1.Value = 0, ; + Option1.Width = 61, ; + Option2.Caption = "Option2", ; + Option2.Height = 17, ; + Option2.Left = 5, ; + Option2.Name = "Option2", ; + Option2.Top = 24, ; + Option2.Value = 1, ; + Option2.Width = 61, ; + Option3.Caption = "Option3", ; + Option3.Height = 17, ; + Option3.Left = 5, ; + Option3.Name = "Option3", ; + Option3.Top = 43, ; + Option3.Width = 61 + *< END OBJECT: BaseClass="optiongroup" UniqueID="_3ZO00KYM8" Timestamp="2014/02/03 19:55:29" ZOrder="600" /> + + ADD OBJECT 'Pageframe1' AS pageframe WITH ; + ActivePage = 2, ; + ErasePage = .T., ; + Height = 132, ; + Left = 120, ; + Name = "Pageframe1", ; + PageCount = 3, ; + Top = 12, ; + Width = 245, ; + Page1.Caption = "Page1", ; + Page1.Name = "Page1", ; + Page2.Caption = "Page2", ; + Page2.Name = "Page2", ; + Page3.Caption = "Page3", ; + Page3.Name = "Page3" + *< END OBJECT: BaseClass="pageframe" UniqueID="_3ZO00KYM7" Timestamp="2014/02/03 19:55:29" ZOrder="500" /> ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_frm_2.sct b/TESTS/DATOS_READONLY/fb2p_frm_2.sct index 6a6564f..7523192 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_frm_2.sct and b/TESTS/DATOS_READONLY/fb2p_frm_2.sct differ diff --git a/TESTS/DATOS_READONLY/fb2p_frm_2.scx b/TESTS/DATOS_READONLY/fb2p_frm_2.scx index b96bca4..74aad01 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_frm_2.scx and b/TESTS/DATOS_READONLY/fb2p_frm_2.scx differ diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index 5ff7d49..302baec 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -413,7 +413,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg ******************************************************************************************************************************************* - FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCamposDelRegistro + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_FRM_1_SCX_YValidarLosCamposDelRegistro LOCAL lnCodError, lnCodError_Esperado ; , lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ; , loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ; @@ -492,6 +492,171 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_FRM_2_SCX_YValidarElOrdenDeLasPropsDelObjeto_PageFrame1 + LOCAL lnCodError, lnCodError_Esperado ; + , lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ; + , laProps(1), lcProp, I, laProps_Esperado(1) ; + , 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. + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_File = 'FB2P_FRM_2.SCX' + 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_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN + + LOCATE FOR ObjName = 'Pageframe1' AND NOT DELETED() AND PLATFORM==PADR("WINDOWS",8) + + this.assertequals( .T., FOUND(), 'No se ha encontrado el objeto "Pageframe1" que se iba a testear' ) + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + SCATTER FIELDS Properties MEMO NAME loReg + DIMENSION laProps_Esperado(8) + laProps_Esperado( 1) = 'ErasePage' + laProps_Esperado( 2) = 'PageCount' + laProps_Esperado( 3) = 'ActivePage' + laProps_Esperado( 4) = 'Top' + laProps_Esperado( 5) = 'Left' + laProps_Esperado( 6) = 'Height' + laProps_Esperado( 7) = 'Width' + laProps_Esperado( 8) = 'Name' + + *-- TEST + =ALINES(laProps, loReg.Properties) + + this.messageout( 'Línea : Valor esperado => Valor actual' ) + this.messageout( REPLICATE('-',50) ) + + FOR I = 1 TO ALEN(laProps_Esperado) + lcProp = GETWORDNUM(laProps(I),1) + this.messageout( 'Línea ' + TRANSFORM(I) + ': ' + laProps_Esperado(I) + ' => ' + lcProp ) + ENDFOR + + FOR I = 1 TO ALEN(laProps_Esperado) + lcProp = GETWORDNUM(laProps(I),1) + this.assertequals( laProps_Esperado(I), lcProp, 'Elemento (' + TRANSFORM(I) + ') del Memo Properties' ) + ENDFOR + + *USE IN (SELECT("TABLABIN")) + + *THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ; + , loReg_Esperado, loReg, lcTipoBinario ) + + CATCH TO loEx + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ) + + FINALLY + USE IN (SELECT("TABLABIN")) + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_FRM_2_SCX_YValidarElOrdenDeLasPropsDelObjeto_Optiongroup1 + LOCAL lnCodError, lnCodError_Esperado ; + , lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ; + , laProps(1), lcProp, I, laProps_Esperado(1) ; + , 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. + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lc_File = 'FB2P_FRM_2.SCX' + 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_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN + + LOCATE FOR ObjName = 'Optiongroup1' AND NOT DELETED() AND PLATFORM==PADR("WINDOWS",8) + + this.assertequals( .T., FOUND(), 'No se ha encontrado el objeto "Optiongroup1" que se iba a testear' ) + + *-- DATOS ESPERADOS + STORE 0 TO lnCodError_Esperado + SCATTER FIELDS Properties MEMO NAME loReg + DIMENSION laProps_Esperado(7) + laProps_Esperado( 1) = 'ButtonCount' + laProps_Esperado( 2) = 'Value' + laProps_Esperado( 3) = 'Top' + laProps_Esperado( 4) = 'Left' + laProps_Esperado( 5) = 'Height' + laProps_Esperado( 6) = 'Width' + laProps_Esperado( 7) = 'Name' + + *-- TEST + =ALINES(laProps, loReg.Properties) + + this.messageout( 'Línea : Valor esperado => Valor actual' ) + this.messageout( REPLICATE('-',50) ) + + FOR I = 1 TO ALEN(laProps_Esperado) + lcProp = GETWORDNUM(laProps(I),1) + this.messageout( 'Línea ' + TRANSFORM(I) + ': ' + laProps_Esperado(I) + ' => ' + lcProp ) + ENDFOR + + FOR I = 1 TO ALEN(laProps_Esperado) + lcProp = GETWORDNUM(laProps(I),1) + this.assertequals( laProps_Esperado(I), lcProp, 'Elemento (' + TRANSFORM(I) + ') del Memo Properties' ) + ENDFOR + + *USE IN (SELECT("TABLABIN")) + + *THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ; + , loReg_Esperado, loReg, lcTipoBinario ) + + CATCH TO loEx + THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ) + + FINALLY + USE IN (SELECT("TABLABIN")) + ENDTRY + + ENDFUNC + + ******************************************************************************************************************************************* FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarLosCamposDelRegistro LOCAL lnCodError, lnCodError_Esperado ; diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 0c6eca2..5f829f6 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Open Source" _ProductName = " FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = " 226" +_Revision = " 230" _LanguageID = "1034" _AutoIncrement = "1" * @@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx') WITH loProject.FILES .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" /> - .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145212368" ID="1130644423" ObjRev="544" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1145283887" ID="1130644423" ObjRev="544" /> * .ITEM('__newproject.f2b').Remove() diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index b05d3d2..7812e03 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 5e305c5..ba87bdc 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 0688a03..c389fa2 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -69,6 +69,7 @@ * 26/01/2014 FDBOZZO v1.19.5 Agregado soporte multiidioma y traducción al Inglés * 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge * 02/02/2014 FDBOZZO v1.19.7 Encapsulación de objetos OLE en el propio control o clase // Blocksize ajustado +* 03/02/2014 FDBOZZO v1.19.8 Arreglo bug pageframe (error activePage) * * *--------------------------------------------------------------------------------------------------- @@ -109,6 +110,7 @@ * se hace desde el directorio del archivo, con lo que las referencias relativas pueden * generar errores de compilación, típicamente los #include. * NOTA: Si en vez de '1' se indica un Path (p.ej, el del proyecto, se usará como base para recompilar +* tcNoTimestamps (v? IN ) '1' para mantener los timestamps vacíos. Útil para minimizar diferencias en Diff/Merge por este motivo. * * Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX" *--------------------------------------------------------------------------------------------------- @@ -768,11 +770,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- SE QUIEREN TODOS LOS ARCHIVOS DE UNA EXTENSIÓN lcFileSpec = FULLPATH( tc_InputFile ) - IF THIS.l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) + DO CASE + CASE THIS.l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) CD (tcRecompile) - ELSE - *CD (JUSTPATH(lcFileSpec)) - ENDIF + CASE tcRecompile == '1' + CD (JUSTPATH(lcFileSpec)) + ENDCASE + THIS.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG' IF THIS.l_Debug @@ -838,11 +842,12 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM IF FILE(tc_InputFile) ERASE ( tc_InputFile + '.ERR' ) - IF THIS.l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) + DO CASE + CASE THIS.l_Recompile AND LEN(tcRecompile) > 3 AND DIRECTORY(tcRecompile) CD (tcRecompile) - ELSE - *CD (JUSTPATH(tc_InputFile)) - ENDIF + CASE tcRecompile == '1' + CD (JUSTPATH(tc_InputFile)) + ENDCASE THIS.c_LogFile = tc_InputFile + '.LOG' @@ -2026,6 +2031,12 @@ DEFINE CLASS c_conversor_base AS SESSION lcPropName = SUBSTR(tcPropName,5) CASE NOT tcOperation == 'SETNAME' ERROR C_ONLY_SETNAME_AND_GETNAME_RECOGNIZED_LOC + CASE lcPropName == 'ErasePage' && PageFrame: Debe estar antes que PageCount + lcPropName = 'A002' + lcPropName + CASE lcPropName == 'PageCount' && PageFrame: Debe estar antes que ActivePage + lcPropName = 'A003' + lcPropName + CASE lcPropName == 'ActivePage' && PageFrame: Debe estar antes que Top/Left/With/Height + lcPropName = 'A004' + lcPropName CASE lcPropName == 'ButtonCount' lcPropName = 'A005' + lcPropName CASE lcPropName == 'ColumnCount'