Changeset: 133 - Agregado nuevo flag de depuración en los scripts .vbs de proceso por lotes para mostrar un mensaje de "Proceso finalizado"
- Bug Fix vcx/scx: Arreglado problema con orden de propiedades y métodos en campo Rseerved3 que provocaba que los eventos assign no se ejecuten - Agregado soporte para convertir archivos PJM de SourceSafe a PJ2 - Agregada validación para avisar cuando un menú MNX no es versión VFP 9 para que el usuario lo pueda convertir con MODIFY MENU <nombre> - CAMBIO en archivos MN2: Por un error tipográfico se ha cambiado el nombre "Autor" por "Author". Se puede agregar esa letra al MN2 o regenerar - Limpieza de código
This commit is contained in:
@@ -22,7 +22,7 @@ foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg
|
|||||||
nExitCode = 0
|
nExitCode = 0
|
||||||
cConvertType = "BIN2PRG" '<<< This is the only difference between the 2 scripts
|
cConvertType = "BIN2PRG" '<<< This is the only difference between the 2 scripts
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages
|
nDebug = 13 '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
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
If cConvertType = "BIN2PRG" Then
|
If cConvertType = "BIN2PRG" Then
|
||||||
@@ -84,6 +84,9 @@ If WScript.Arguments.Count = 0 Then
|
|||||||
If GetBit(nDebug, 3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
|
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
|
||||||
End If
|
End If
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 3 ON: (8) Show End of Process message"
|
||||||
|
End If
|
||||||
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
||||||
Else
|
Else
|
||||||
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
||||||
@@ -91,6 +94,10 @@ Else
|
|||||||
For i = 0 To WScript.Arguments.Count-1
|
For i = 0 To WScript.Arguments.Count-1
|
||||||
scanDirs( WScript.Arguments(i) )
|
scanDirs( WScript.Arguments(i) )
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
MsgBox "Fin del Proceso!", 64, WScript.ScriptName
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
WScript.Quit(nExitCode)
|
WScript.Quit(nExitCode)
|
||||||
@@ -117,16 +124,17 @@ End Sub
|
|||||||
Private Sub evaluateFile( tcFile )
|
Private Sub evaluateFile( tcFile )
|
||||||
For x = 1 TO 8
|
For x = 1 TO 8
|
||||||
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
|
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
|
||||||
cFlagGenerateLog = "'0'"
|
cFlagGenerateLog = "'0'"
|
||||||
cFlagDontShowErrMsg = "'0'"
|
cFlagDontShowErrMsg = "'0'"
|
||||||
cFlagShowCall = "'0'"
|
cFlagShowCall = "'0'"
|
||||||
If GetBit(nDebug,1) Then
|
|
||||||
|
If GetBit(nDebug, 1) Then
|
||||||
cFlagGenerateLog = "'1'"
|
cFlagGenerateLog = "'1'"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,2) Then
|
If GetBit(nDebug, 2) Then
|
||||||
cFlagJustShowCall = "1"
|
cFlagJustShowCall = "1"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cFlagDontShowErrMsg = "'1'"
|
cFlagDontShowErrMsg = "'1'"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -136,7 +144,7 @@ Private Sub evaluateFile( tcFile )
|
|||||||
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
|
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
|
||||||
End If
|
End If
|
||||||
If cFlagJustShowCall = "1" Then
|
If cFlagJustShowCall = "1" Then
|
||||||
MsgBox cCMD, 0, "PARAMETROS ENVIADOS"
|
MsgBox cCMD, 64, "PARAMETROS ENVIADOS"
|
||||||
Else
|
Else
|
||||||
oVFP9.DoCmd( cCMD )
|
oVFP9.DoCmd( cCMD )
|
||||||
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
|
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg
|
|||||||
nExitCode = 0
|
nExitCode = 0
|
||||||
cConvertType = "PRG2BIN" '<<< This is the only difference between the 2 scripts
|
cConvertType = "PRG2BIN" '<<< This is the only difference between the 2 scripts
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages
|
nDebug = 13 '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
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
If cConvertType = "BIN2PRG" Then
|
If cConvertType = "BIN2PRG" Then
|
||||||
@@ -84,6 +84,9 @@ If WScript.Arguments.Count = 0 Then
|
|||||||
If GetBit(nDebug, 3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
|
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
|
||||||
End If
|
End If
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 3 ON: (8) Show End of Process message"
|
||||||
|
End If
|
||||||
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
||||||
Else
|
Else
|
||||||
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
|
||||||
@@ -91,6 +94,10 @@ Else
|
|||||||
For i = 0 To WScript.Arguments.Count-1
|
For i = 0 To WScript.Arguments.Count-1
|
||||||
scanDirs( WScript.Arguments(i) )
|
scanDirs( WScript.Arguments(i) )
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
MsgBox "Fin del Proceso!", 64, WScript.ScriptName
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
WScript.Quit(nExitCode)
|
WScript.Quit(nExitCode)
|
||||||
@@ -117,16 +124,17 @@ End Sub
|
|||||||
Private Sub evaluateFile( tcFile )
|
Private Sub evaluateFile( tcFile )
|
||||||
For x = 1 TO 8
|
For x = 1 TO 8
|
||||||
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
|
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
|
||||||
cFlagGenerateLog = "'0'"
|
cFlagGenerateLog = "'0'"
|
||||||
cFlagDontShowErrMsg = "'0'"
|
cFlagDontShowErrMsg = "'0'"
|
||||||
cFlagShowCall = "'0'"
|
cFlagShowCall = "'0'"
|
||||||
If GetBit(nDebug,1) Then
|
|
||||||
|
If GetBit(nDebug, 1) Then
|
||||||
cFlagGenerateLog = "'1'"
|
cFlagGenerateLog = "'1'"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,2) Then
|
If GetBit(nDebug, 2) Then
|
||||||
cFlagJustShowCall = "1"
|
cFlagJustShowCall = "1"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cFlagDontShowErrMsg = "'1'"
|
cFlagDontShowErrMsg = "'1'"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -136,7 +144,7 @@ Private Sub evaluateFile( tcFile )
|
|||||||
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
|
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
|
||||||
End If
|
End If
|
||||||
If cFlagJustShowCall = "1" Then
|
If cFlagJustShowCall = "1" Then
|
||||||
MsgBox cCMD, 0, "PARAMETROS ENVIADOS"
|
MsgBox cCMD, 64, "PARAMETROS ENVIADOS"
|
||||||
Else
|
Else
|
||||||
oVFP9.DoCmd( cCMD )
|
oVFP9.DoCmd( cCMD )
|
||||||
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
|
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
|
|||||||
filename_caps_log = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.log")
|
filename_caps_log = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.log")
|
||||||
nExitCode = 0
|
nExitCode = 0
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create filename_caps LOG, 2=Only show script calls, 4=Don't show filename_caps error modal messages
|
nDebug = 13 'Cumulative Flags: 0=OFF, 1=Create filename_caps LOG, 2=Only show script calls, 4=Don't show filename_caps error modal messages, 8=Show end of process message
|
||||||
'---------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
If WScript.Arguments.Count = 0 Then
|
If WScript.Arguments.Count = 0 Then
|
||||||
@@ -32,6 +32,9 @@ If WScript.Arguments.Count = 0 Then
|
|||||||
If GetBit(nDebug, 3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show filename_caps error modal messages"
|
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show filename_caps error modal messages"
|
||||||
End If
|
End If
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 3 ON: (8) Show End of Process message"
|
||||||
|
End If
|
||||||
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
||||||
Else
|
Else
|
||||||
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.exe")
|
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.exe")
|
||||||
@@ -42,6 +45,10 @@ Else
|
|||||||
For i = 0 To WScript.Arguments.Count-1
|
For i = 0 To WScript.Arguments.Count-1
|
||||||
scanDirs( WScript.Arguments(i) )
|
scanDirs( WScript.Arguments(i) )
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If GetBit(nDebug, 4) Then
|
||||||
|
MsgBox "Fin del Proceso!", 64, WScript.ScriptName
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
WScript.Quit(nExitCode)
|
WScript.Quit(nExitCode)
|
||||||
@@ -66,16 +73,17 @@ End Sub
|
|||||||
|
|
||||||
|
|
||||||
Private Sub evaluateFile( tcFile )
|
Private Sub evaluateFile( tcFile )
|
||||||
cFlagGenerateLog = "'0'"
|
cFlagGenerateLog = "'0'"
|
||||||
cFlagDontShowErrMsg = "'0'"
|
cFlagDontShowErrMsg = "'0'"
|
||||||
cFlagShowCall = "'0'"
|
cFlagShowCall = "'0'"
|
||||||
If GetBit(nDebug,1) Then
|
|
||||||
|
If GetBit(nDebug, 1) Then
|
||||||
cFlagGenerateLog = "'1'"
|
cFlagGenerateLog = "'1'"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,2) Then
|
If GetBit(nDebug, 2) Then
|
||||||
cFlagJustShowCall = "1"
|
cFlagJustShowCall = "1"
|
||||||
End If
|
End If
|
||||||
If GetBit(nDebug,3) Then
|
If GetBit(nDebug, 3) Then
|
||||||
cFlagDontShowErrMsg = "'1'"
|
cFlagDontShowErrMsg = "'1'"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>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!!
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
*< FOXBIN2PRG: Version="1.14" SourceFile="C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_FREE.DBF" Generated="2013/12/11 21:33:10" /> (Para uso con Visual FoxPro 9.0)
|
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_free.dbf" Generated="2014/01/08 00:49:45" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
|
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<MemoFile>C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_FREE.FPT</MemoFile>
|
<MemoFile></MemoFile>
|
||||||
<CodePage>1252</CodePage>
|
<CodePage>1252</CodePage>
|
||||||
<LastUpdate>2013/12/11</LastUpdate>
|
<LastUpdate>2013/12/11</LastUpdate>
|
||||||
<Database></Database>
|
<Database></Database>
|
||||||
|
|||||||
BIN
TESTS/DATOS_READONLY/bmps/CarpetaAbierta.bmp
Normal file
BIN
TESTS/DATOS_READONLY/bmps/CarpetaAbierta.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 822 B |
BIN
TESTS/DATOS_READONLY/bmps/CarpetaCerrada.bmp
Normal file
BIN
TESTS/DATOS_READONLY/bmps/CarpetaCerrada.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 822 B |
BIN
TESTS/DATOS_READONLY/bmps/SCCCheckout.bmp
Normal file
BIN
TESTS/DATOS_READONLY/bmps/SCCCheckout.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 822 B |
BIN
TESTS/DATOS_READONLY/bmps/container.ico
Normal file
BIN
TESTS/DATOS_READONLY/bmps/container.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
40
TESTS/DATOS_READONLY/fb2p_test.pjm
Normal file
40
TESTS/DATOS_READONLY/fb2p_test.pjm
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
Version= 1.20
|
||||||
|
Author=El autor
|
||||||
|
Company=La compan<61>a
|
||||||
|
Address=La direcci<63>n
|
||||||
|
City=Ciudad
|
||||||
|
State=State
|
||||||
|
Zip=Cod.Post
|
||||||
|
Country=Pa<50>s
|
||||||
|
SaveCode=.T.
|
||||||
|
Debug=.T.
|
||||||
|
Encrypt=.T.
|
||||||
|
NoLogo=.F.
|
||||||
|
CommentStyle=1
|
||||||
|
Comments=Comentarios
|
||||||
|
CompanyName=Company Name
|
||||||
|
FileDescription=File Description
|
||||||
|
LegalCopyright=Legal Copyright
|
||||||
|
LegalTrademarks=Legal Trademark
|
||||||
|
ProductName=Product Name
|
||||||
|
Major=1
|
||||||
|
Minor=0
|
||||||
|
Revision=5
|
||||||
|
AutoIncrement=.T.
|
||||||
|
[OLEServers]
|
||||||
|
C:\DESA\test2\fb2p_test.exe,fb2p_test,fb2p_test,fb2p_test Type Library,0,{97DF3026-912D-4604-B06D-60EF52C19B70}
|
||||||
|
cl_form,c:\desa\test2\fb2p_test.vcx,fb2p_test.cl_form,0,mi OLE server DLL,,1,{E888ECF1-F911-4F1B-A5DC-8739057087B1},{63194B79-0E07-44E6-9FC3-2EBCAA27787A}
|
||||||
|
cl_imagen,c:\desa\test2\fb2p_test.vcx,fb2p_test.cl_imagen,0,otro ole,,1,{BA0AD3CE-E874-402F-A835-85AE1CDCE515},{6B05B62A-2C51-4C45-921F-E09FA0E66CF5}
|
||||||
|
[OLEServersEnd]
|
||||||
|
[ProjectFiles]
|
||||||
|
0,i,bmps\container.ico,.F.,.F.,0,,,
|
||||||
|
1132700355,V,fb2p_test.vcx,.F.,.T.,1252,,,clase descrip
|
||||||
|
1132700357,K,fb2p_frm_1.scx,.F.,.F.,1252,,,
|
||||||
|
1132700358,K,fb2p_frm_2.scx,.F.,.F.,1252,,,
|
||||||
|
1132700438,x,bmps\sobrepostal.bmp,.F.,.F.,0,,,
|
||||||
|
1132700438,x,bmps\scccheckout.bmp,.F.,.F.,0,,,
|
||||||
|
1132700438,x,bmps\carpetaabierta.bmp,.F.,.F.,0,,,
|
||||||
|
1132700438,x,bmps\carpetacerrada.bmp,.F.,.F.,0,,,
|
||||||
|
1132700438,x,bmps\treeview.bmp,.F.,.F.,0,,,
|
||||||
|
1132700450,T,config\config.fpw,.T.,.F.,1252,,,
|
||||||
|
[EOF]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
387
TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg
Normal file
387
TESTS/ft__foxbin2prg__c_conversor_prg_a_mnx.prg
Normal file
@@ -0,0 +1,387 @@
|
|||||||
|
DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase.prg
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
LOCAL THIS AS ft__foxbin2prg__c_conversor_prg_a_mnx OF ft__foxbin2prg__c_conversor_prg_a_mnx.PRG
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
#DEFINE C_FB2P_VALUE_I '<fb2p_value>'
|
||||||
|
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
|
||||||
|
#DEFINE CR_LF CHR(13) + CHR(10)
|
||||||
|
#DEFINE C_CR CHR(13)
|
||||||
|
#DEFINE C_LF CHR(10)
|
||||||
|
#DEFINE C_TAB CHR(9)
|
||||||
|
#DEFINE C_PROC 'PROCEDURE'
|
||||||
|
#DEFINE C_ENDPROC 'ENDPROC'
|
||||||
|
#DEFINE C_TEXT 'TEXT'
|
||||||
|
#DEFINE C_ENDTEXT 'ENDTEXT'
|
||||||
|
#DEFINE C_IF_F '#IF .F.'
|
||||||
|
#DEFINE C_ENDIF '#ENDIF'
|
||||||
|
#DEFINE C_DEFINE_CLASS 'DEFINE CLASS'
|
||||||
|
#DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE'
|
||||||
|
icObj = NULL
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION SETUP
|
||||||
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
*LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG"
|
||||||
|
SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG')
|
||||||
|
oFXU_LIB.setup_comun()
|
||||||
|
|
||||||
|
*THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG")
|
||||||
|
*loObj = THIS.icObj
|
||||||
|
*loObj.l_Test = .F.
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION TearDown
|
||||||
|
#IF .F.
|
||||||
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
#ENDIF
|
||||||
|
THIS.icObj = NULL
|
||||||
|
|
||||||
|
IF VARTYPE(oFXU_LIB) = "O"
|
||||||
|
oFXU_LIB.teardown_comun()
|
||||||
|
oFXU_LIB = NULL
|
||||||
|
ENDIF
|
||||||
|
RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Evaluate_results
|
||||||
|
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado
|
||||||
|
|
||||||
|
#IF .F.
|
||||||
|
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
IF PCOUNT() = 0
|
||||||
|
THIS.messageout( "* Support method, not a valid test." )
|
||||||
|
RETURN .T.
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
IF ISNULL(toEx)
|
||||||
|
*-- Validaciones en m<>todo
|
||||||
|
ELSE
|
||||||
|
*-- Evaluaci<63>n de errores
|
||||||
|
THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) )
|
||||||
|
THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) )
|
||||||
|
IF NOT INLIST( toEx.ERRORNO, 1098, 2071 ) && Error del usuario (ERROR y THROW)
|
||||||
|
THIS.messageout( TRANSFORM(toEx.LINECONTENTS) )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THIS.messageout( '' )
|
||||||
|
THIS.messageout( REPLICATE('*',80) )
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU1_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
|
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
|
||||||
|
, 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")
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'MENU1.MNX'
|
||||||
|
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,'*') )
|
||||||
|
|
||||||
|
*-- Genero el DC2
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Regenero el DBC
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Comparo los MN2 y MN3
|
||||||
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
|
||||||
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Visualizaci<63>n de valores
|
||||||
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de valores
|
||||||
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIVOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU2_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
|
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
|
||||||
|
, 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")
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'MENU2.MNX'
|
||||||
|
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,'*') )
|
||||||
|
|
||||||
|
*-- Genero el DC2
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Regenero el DBC
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Comparo los MN2 y MN3
|
||||||
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
|
||||||
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Visualizaci<63>n de valores
|
||||||
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de valores
|
||||||
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIVOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU3_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
|
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
|
||||||
|
, 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")
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'MENU3.MNX'
|
||||||
|
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,'*') )
|
||||||
|
|
||||||
|
*-- Genero el DC2
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Regenero el DBC
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Comparo los MN2 y MN3
|
||||||
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
|
||||||
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Visualizaci<63>n de valores
|
||||||
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de valores
|
||||||
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIVOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU_SHORTCUT_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
|
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
|
||||||
|
, 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")
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'MENU_SHORTCUT.MNX'
|
||||||
|
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,'*') )
|
||||||
|
|
||||||
|
*-- Genero el DC2
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Regenero el DBC
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Comparo los MN2 y MN3
|
||||||
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
|
||||||
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Visualizaci<63>n de valores
|
||||||
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de valores
|
||||||
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIVOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************************************
|
||||||
|
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU_SHORTCUT2_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
|
||||||
|
LOCAL lnCodError, lnCodError_Esperado ;
|
||||||
|
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
|
||||||
|
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
|
||||||
|
, 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")
|
||||||
|
|
||||||
|
|
||||||
|
*-- DATOS DE ENTRADA
|
||||||
|
STORE 0 TO lnCodError
|
||||||
|
lc_File = 'MENU_SHORTCUT2.MNX'
|
||||||
|
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,'*') )
|
||||||
|
|
||||||
|
*-- Genero el DC2
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Regenero el DBC
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
|
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
*-- Comparo los MN2 y MN3
|
||||||
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
|
||||||
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Visualizaci<63>n de valores
|
||||||
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de valores
|
||||||
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
USE IN (SELECT("ARCHIVOBIN_IN"))
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
ENDFUNC
|
||||||
|
|
||||||
|
|
||||||
|
ENDDEFINE
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>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!!
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/07 00:46:40" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/08 00:50:45" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
*
|
*
|
||||||
LPARAMETERS tcDir
|
LPARAMETERS tcDir
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ lcCurdir = SYS(5)+CURDIR()
|
|||||||
CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) )
|
CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) )
|
||||||
|
|
||||||
*<DevInfo>
|
*<DevInfo>
|
||||||
_Autor = "Fernando D. Bozzo"
|
_Author = "Fernando D. Bozzo"
|
||||||
_Company = ""
|
_Company = ""
|
||||||
_Address = ""
|
_Address = ""
|
||||||
_City = "Coslada"
|
_City = "Coslada"
|
||||||
@@ -26,7 +26,7 @@ _LegalTrademark = "Open Source"
|
|||||||
_ProductName = " FOXBIN2PRG"
|
_ProductName = " FOXBIN2PRG"
|
||||||
_MajorVer = "1"
|
_MajorVer = "1"
|
||||||
_MinorVer = "18"
|
_MinorVer = "18"
|
||||||
_Revision = " 177"
|
_Revision = " 183"
|
||||||
_LanguageID = "1034"
|
_LanguageID = "1034"
|
||||||
_AutoIncrement = "1"
|
_AutoIncrement = "1"
|
||||||
*</DevInfo>
|
*</DevInfo>
|
||||||
@@ -51,7 +51,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx')
|
|||||||
|
|
||||||
WITH loProject.FILES
|
WITH loProject.FILES
|
||||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="1132857145" ID="1131721714" ObjRev="0" />
|
||||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143388948" ID="1130644423" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143473629" ID="1130644423" ObjRev="544" />
|
||||||
*</BuildProj>
|
*</BuildProj>
|
||||||
|
|
||||||
.ITEM('__newproject.f2b').Remove()
|
.ITEM('__newproject.f2b').Remove()
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
501
foxbin2prg.prg
501
foxbin2prg.prg
@@ -72,6 +72,7 @@
|
|||||||
* 14/12/2013 Fidel Charny REPORTE BUG scx v1.13: La regeneraci<63>n de los forms (SCX) no regenera el <20>ltimo registro COMMENT (arreglado en v.1.14)
|
* 14/12/2013 Fidel Charny REPORTE BUG scx v1.13: La regeneraci<63>n de los forms (SCX) no regenera el <20>ltimo registro COMMENT (arreglado en v.1.14)
|
||||||
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El men<65> no siempre respeta la posici<63>n original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
|
||||||
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cl<63>usula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
|
||||||
|
* 07/01/2014 F.D.Bozzo BUG vcx/scx v1.18: Los *m<>todos deben ir siempre al final en el Reserved3, si no los eventos ACCESS no se disparan
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -439,7 +440,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE INLIST( lcExt_1, THIS.c_PJ2, THIS.c_VC2, THIS.c_SC2, THIS.c_FR2 ;
|
CASE INLIST( lcExt_1, THIS.c_PJ2, THIS.c_VC2, THIS.c_SC2, THIS.c_FR2 ;
|
||||||
, THIS.c_LB2, THIS.c_DB2, THIS.c_DC2, THIS.c_MN2 )
|
, THIS.c_LB2, THIS.c_DB2, THIS.c_DC2, THIS.c_MN2, 'PJM' )
|
||||||
*-- Extensiones TEXTO
|
*-- Extensiones TEXTO
|
||||||
|
|
||||||
CASE lcExt_1 = 'DBF'
|
CASE lcExt_1 = 'DBF'
|
||||||
@@ -687,14 +688,23 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
loFSO = THIS.o_FSO
|
loFSO = THIS.o_FSO
|
||||||
.c_InputFile = FULLPATH( tc_InputFile )
|
.c_InputFile = FULLPATH( tc_InputFile )
|
||||||
|
|
||||||
IF ADIR( laDirFile, .c_InputFile, '', 1 ) = 0
|
IF ADIR( laDirFile, .c_InputFile, '', 1 ) = 0
|
||||||
ERROR 'No se encontr<74> el archivo [' + .c_InputFile + ']'
|
ERROR 'No se encontr<74> el archivo [' + .c_InputFile + ']'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) )
|
.c_InputFile = loFSO.GetAbsolutePathName( FORCEPATH( laDirFile(1,1), JUSTPATH(.c_InputFile) ) )
|
||||||
|
|
||||||
IF NOT EMPTY(tcOriginalFileName)
|
IF NOT EMPTY(tcOriginalFileName)
|
||||||
tcOriginalFileName = loFSO.GetAbsolutePathName( tcOriginalFileName )
|
tcOriginalFileName = loFSO.GetAbsolutePathName( tcOriginalFileName )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.c_OriginalFileName = EVL( tcOriginalFileName, .c_InputFile )
|
.c_OriginalFileName = EVL( tcOriginalFileName, .c_InputFile )
|
||||||
|
|
||||||
|
IF UPPER( JUSTEXT(.c_OriginalFileName) ) = 'PJM'
|
||||||
|
.c_OriginalFileName = FORCEEXT(.c_OriginalFileName,'pjx')
|
||||||
|
ENDIF
|
||||||
|
|
||||||
THIS.writeLog( 'c_InputFile=' + .c_InputFile )
|
THIS.writeLog( 'c_InputFile=' + .c_InputFile )
|
||||||
.o_Conversor = NULL
|
.o_Conversor = NULL
|
||||||
|
|
||||||
@@ -724,6 +734,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 )
|
.c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 )
|
||||||
.o_Conversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' )
|
.o_Conversor = CREATEOBJECT( 'c_conversor_pjx_a_prg' )
|
||||||
|
|
||||||
|
CASE lcExtension = 'PJM'
|
||||||
|
.c_OutputFile = FORCEEXT( .c_InputFile, .c_PJ2 )
|
||||||
|
.o_Conversor = CREATEOBJECT( 'c_conversor_pjm_a_prg' )
|
||||||
|
|
||||||
CASE lcExtension = 'FRX'
|
CASE lcExtension = 'FRX'
|
||||||
.c_OutputFile = FORCEEXT( .c_InputFile, .c_FR2 )
|
.c_OutputFile = FORCEEXT( .c_InputFile, .c_FR2 )
|
||||||
.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
|
.o_Conversor = CREATEOBJECT( 'c_conversor_frx_a_prg' )
|
||||||
@@ -791,7 +805,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
.o_Conversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
.o_Conversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
||||||
.o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
.o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
||||||
.o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
.o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
||||||
.o_Conversor.c_OriginalFileName = tcOriginalFileName
|
.o_Conversor.c_OriginalFileName = .c_OriginalFileName
|
||||||
.o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
.o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
||||||
*--
|
*--
|
||||||
.o_Conversor.Convertir( @toModulo, .F., THIS )
|
.o_Conversor.Convertir( @toModulo, .F., THIS )
|
||||||
@@ -2010,6 +2024,8 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
lcPropName = 'A590' + lcPropName
|
lcPropName = 'A590' + lcPropName
|
||||||
CASE lcPropName == 'Dockable'
|
CASE lcPropName == 'Dockable'
|
||||||
lcPropName = 'A595' + lcPropName
|
lcPropName = 'A595' + lcPropName
|
||||||
|
CASE lcPropName == '_memberdata'
|
||||||
|
lcPropName = 'A995' + lcPropName
|
||||||
CASE lcPropName == 'Name'
|
CASE lcPropName == 'Name'
|
||||||
lnPropType = 1 && System "Name" property
|
lnPropType = 1 && System "Name" property
|
||||||
lcPropName = 'A999' + lcPropName
|
lcPropName = 'A999' + lcPropName
|
||||||
@@ -2041,7 +2057,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
EXTERNAL ARRAY taPropsAndValues
|
EXTERNAL ARRAY taPropsAndValues
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, X, lnArrayCols, laPropsAndValues(1,2), lcPropName
|
LOCAL I, X, lnArrayCols, laPropsAndValues(1,2), lcPropName, lcSortedMemo, lcMethods
|
||||||
lnArrayCols = ALEN( taPropsAndValues, 2 )
|
lnArrayCols = ALEN( taPropsAndValues, 2 )
|
||||||
DIMENSION laPropsAndValues( tnPropsAndValues_Count, lnArrayCols )
|
DIMENSION laPropsAndValues( tnPropsAndValues_Count, lnArrayCols )
|
||||||
ACOPY( taPropsAndValues, laPropsAndValues )
|
ACOPY( taPropsAndValues, laPropsAndValues )
|
||||||
@@ -2052,11 +2068,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
||||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||||
IF '.' $ laPropsAndValues(I,1)
|
IF '.' $ laPropsAndValues(I,1)
|
||||||
*IF m.tnSortType = 2 AND JUSTEXT( laPropsAndValues(I,1) ) == 'Name'
|
|
||||||
* laPropsAndValues(I,1) = JUSTSTEM( laPropsAndValues(I,1) ) + '.' + CHR(255) + 'Name'
|
|
||||||
*ENDIF
|
|
||||||
|
|
||||||
*laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
|
||||||
IF m.tnSortType = 2
|
IF m.tnSortType = 2
|
||||||
laPropsAndValues(I,1) = 'B' + JUSTSTEM(laPropsAndValues(I,1)) + '.' ;
|
laPropsAndValues(I,1) = 'B' + JUSTSTEM(laPropsAndValues(I,1)) + '.' ;
|
||||||
+ .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(I,1)) )
|
+ .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(I,1)) )
|
||||||
@@ -2064,11 +2075,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
||||||
ENDIF
|
ENDIF
|
||||||
ELSE
|
ELSE
|
||||||
*IF m.tnSortType = 2 AND laPropsAndValues(I,1) == 'Name'
|
|
||||||
* laPropsAndValues(I,1) = CHR(255) + 'Name'
|
|
||||||
*ENDIF
|
|
||||||
|
|
||||||
*laPropsAndValues(I,1) = 'A' + laPropsAndValues(I,1)
|
|
||||||
IF m.tnSortType = 2
|
IF m.tnSortType = 2
|
||||||
laPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', laPropsAndValues(I,1) )
|
laPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', laPropsAndValues(I,1) )
|
||||||
ELSE
|
ELSE
|
||||||
@@ -2083,8 +2089,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
|
|
||||||
|
|
||||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||||
*taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 ) && Quitar el car<61>cter agregado
|
|
||||||
|
|
||||||
*-- Quitar caracteres agregados antes del SORT
|
*-- Quitar caracteres agregados antes del SORT
|
||||||
IF '.' $ laPropsAndValues(I,1)
|
IF '.' $ laPropsAndValues(I,1)
|
||||||
IF m.tnSortType = 2
|
IF m.tnSortType = 2
|
||||||
@@ -2106,15 +2110,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
IF lnArrayCols >= 3
|
IF lnArrayCols >= 3
|
||||||
taPropsAndValues(I,3) = laPropsAndValues(I,3)
|
taPropsAndValues(I,3) = laPropsAndValues(I,3)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*DO CASE
|
|
||||||
*CASE m.tnSortType <> 2
|
|
||||||
* *-- Saltear
|
|
||||||
*CASE taPropsAndValues(I,1) == CHR(255) + 'Name'
|
|
||||||
* taPropsAndValues(I,1) = 'Name'
|
|
||||||
*CASE JUSTEXT( taPropsAndValues(I,1) ) == CHR(255) + 'Name'
|
|
||||||
* taPropsAndValues(I,1) = JUSTSTEM( taPropsAndValues(I,1) ) + '.Name'
|
|
||||||
*ENDCASE
|
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
ELSE && m.tnSortType = 0
|
ELSE && m.tnSortType = 0
|
||||||
@@ -2156,20 +2151,6 @@ DEFINE CLASS c_conversor_base AS SESSION
|
|||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
ENDWITH && THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
*-- VER ESTO SI HACE FALTA, SOBRE LO DE PONER LOS METODOS AL FINAL Y ADAPTAR
|
|
||||||
*-- Agregar propiedades primero
|
|
||||||
*FOR I = 1 TO m.tnPropsAndValues_Count
|
|
||||||
* *-- SI HACE FALTA QUE LOS M<>TODOS EST<53>N AL FINAL, DESCOMENTAR ESTO (Y EL DE M<>S ARRIBA)
|
|
||||||
* *IF LEFT(taPropsAndValues(I), 1) == '*' && Only Reserved3 have this
|
|
||||||
* * lcMethods = m.lcMethods + m.taPropsAndValues(I,1) + ' = ' + m.taPropsAndValues(I,2) + CR_LF
|
|
||||||
* * LOOP
|
|
||||||
* *ENDIF
|
|
||||||
|
|
||||||
* tcSortedMemo = m.tcSortedMemo + m.laPropsAndValues(I,1) + ' = ' + m.laPropsAndValues(I,2) + CR_LF
|
|
||||||
*ENDFOR
|
|
||||||
|
|
||||||
*-- Agregar m<>todos al final
|
|
||||||
*tcSortedMemo = m.tcSortedMemo + m.lcMethods
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
@@ -2529,7 +2510,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
, LOCAL ;
|
, LOCAL ;
|
||||||
, KEY ) ;
|
, KEY ) ;
|
||||||
VALUES ;
|
VALUES ;
|
||||||
( UPPER(THIS.c_OutputFile) ;
|
( UPPER(EVL(THIS.c_OriginalFileName,THIS.c_OutputFile)) ;
|
||||||
, 'H' ;
|
, 'H' ;
|
||||||
, 0 ;
|
, 0 ;
|
||||||
, '<Source>' + CHR(0) ;
|
, '<Source>' + CHR(0) ;
|
||||||
@@ -3045,6 +3026,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE defined_PAM2Memo
|
PROCEDURE defined_PAM2Memo
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* toClase (!@ IN ) Objeto de la Clase
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS toClase
|
LPARAMETERS toClase
|
||||||
RETURN toClase._Defined_PAM
|
RETURN toClase._Defined_PAM
|
||||||
ENDPROC
|
ENDPROC
|
||||||
@@ -3409,6 +3394,18 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE analizarBloque_DEFINED_PAM
|
PROCEDURE analizarBloque_DEFINED_PAM
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* 07/01/2014 FDBOZZO Los *m<>todos deben ir siempre al final, si no los eventos ACCESS no se ejecutan!
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* toClase (!@ IN ) Objeto de la Clase
|
||||||
|
* tcLine (!@ IN ) L<>nea de datos en evaluaci<63>n
|
||||||
|
* taCodeLines (!@ IN ) El array con las l<>neas del c<>digo de texto donde buscar
|
||||||
|
* tnCodeLines (!@ IN ) Cantidad de l<>neas de c<>digo
|
||||||
|
* I (!@ IN ) N<>mero de l<>nea en evaluaci<63>n
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS toClase, tcLine, taCodeLines, tnCodeLines, I
|
||||||
|
|
||||||
*-- ESTRUCTURA A ANALIZAR:
|
*-- ESTRUCTURA A ANALIZAR:
|
||||||
*<DefinedPropArrayMethod>
|
*<DefinedPropArrayMethod>
|
||||||
*m: *metodovacio_con_comentarios && Este m<>todo no tiene c<>digo, pero tiene comentarios. A ver que pasa!
|
*m: *metodovacio_con_comentarios && Este m<>todo no tiene c<>digo, pero tiene comentarios. A ver que pasa!
|
||||||
@@ -3419,18 +3416,17 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
*a: ^array_2_d[1,2] && Array una dimension (1,2)
|
*a: ^array_2_d[1,2] && Array una dimension (1,2)
|
||||||
*p: _memberdata && XML Metadata for customizable properties
|
*p: _memberdata && XML Metadata for customizable properties
|
||||||
*</DefinedPropArrayMethod>
|
*</DefinedPropArrayMethod>
|
||||||
LPARAMETERS toClase, tcLine, taCodeLines, tnCodeLines, I
|
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL llBloqueEncontrado, lcDefinedPAM, lnPos, lnPos2, lcPAM_Name
|
LOCAL llBloqueEncontrado, lcDefinedPAM, lnPos, lnPos2, lcPAM_Name, lcItem, lcMethods
|
||||||
|
|
||||||
IF LEFT( tcLine, C_LEN_DEFINED_PAM_I) == C_DEFINED_PAM_I
|
IF LEFT( tcLine, C_LEN_DEFINED_PAM_I) == C_DEFINED_PAM_I
|
||||||
llBloqueEncontrado = .T.
|
llBloqueEncontrado = .T.
|
||||||
lcDefinedPAM = ''
|
STORE '' TO lcDefinedPAM, lcItem, lcMethods
|
||||||
|
|
||||||
WITH THIS
|
WITH THIS
|
||||||
FOR I = I + 1 TO tnCodeLines
|
FOR I = I + 1 TO tnCodeLines
|
||||||
@@ -3448,21 +3444,32 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
|||||||
IF lnPos2 > 0
|
IF lnPos2 > 0
|
||||||
*-- Con comentarios
|
*-- Con comentarios
|
||||||
lcPAM_Name = RTRIM( SUBSTR( tcLine, lnPos+1, lnPos2 - lnPos - 1 ), 0, ' ', CHR(9) )
|
lcPAM_Name = RTRIM( SUBSTR( tcLine, lnPos+1, lnPos2 - lnPos - 1 ), 0, ' ', CHR(9) )
|
||||||
lcDefinedPAM = lcDefinedPAM ;
|
lcItem = lcPAM_Name + ' ' + SUBSTR( tcLine, lnPos2 + 3 ) + CR_LF
|
||||||
+ lcPAM_Name + ' ' + SUBSTR( tcLine, lnPos2 + 3 ) ;
|
|
||||||
+ CR_LF
|
*-- Separo propiedades y m<>todos
|
||||||
|
IF LEFT(lcItem,1) == '*'
|
||||||
|
lcMethods = lcMethods + lcItem
|
||||||
|
ELSE
|
||||||
|
lcDefinedPAM = lcDefinedPAM + lcItem
|
||||||
|
ENDIF
|
||||||
ELSE
|
ELSE
|
||||||
*-- Sin comentarios
|
*-- Sin comentarios
|
||||||
lcPAM_Name = RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) )
|
lcPAM_Name = RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) )
|
||||||
lcDefinedPAM = lcDefinedPAM ;
|
lcItem = lcPAM_Name + IIF(ISALPHA(lcPAM_Name), '', ' ') + CR_LF
|
||||||
+ lcPAM_Name + IIF(ISALPHA(lcPAM_Name), '', ' ') ;
|
|
||||||
+ CR_LF
|
*-- Separo propiedades y m<>todos
|
||||||
|
IF LEFT(lcItem,1) == '*'
|
||||||
|
lcMethods = lcMethods + lcItem
|
||||||
|
ELSE
|
||||||
|
lcDefinedPAM = lcDefinedPAM + lcItem
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDCASE
|
ENDCASE
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
toClase._Defined_PAM = lcDefinedPAM
|
*-- Junto propiedades y los m<>todos al final.
|
||||||
|
toClase._Defined_PAM = lcDefinedPAM + lcMethods
|
||||||
I = I - 1
|
I = I - 1
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -6489,7 +6496,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
* 29/11/2013 FDBOZZO En un pageframe, si las props.nativas del mismo no est<73>n antes que las de
|
* 29/11/2013 FDBOZZO En un pageframe, si las props.nativas del mismo no est<73>n antes que las de
|
||||||
* los objetos contenidos, causa un error. Se deben ordenar primero las
|
* los objetos contenidos, causa un error. Se deben ordenar primero las
|
||||||
* props.nativas (sin punto) y luego las de los objetos (con punto)
|
* props.nativas (sin punto) y luego las de los objetos (con punto)
|
||||||
*
|
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
* tcMemo (v! IN ) Contenido de un campo MEMO
|
* tcMemo (v! IN ) Contenido de un campo MEMO
|
||||||
@@ -6577,7 +6583,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
*-- Agregar propiedades primero
|
*-- Agregar propiedades primero
|
||||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||||
*-- SI HACE FALTA QUE LOS M<>TODOS EST<53>N AL FINAL, DESCOMENTAR ESTO (Y EL DE M<>S ARRIBA)
|
*-- SI HACE FALTA QUE LOS M<>TODOS EST<53>N AL FINAL, DESCOMENTAR ESTO (Y EL DE M<>S ARRIBA)
|
||||||
*IF LEFT(taPropsAndValues(I), 1) == '*' && Only Reserved3 have this
|
*IF LEFT(taPropsAndValues(I,1), 1) == '*' && Only Reserved3 have this
|
||||||
* lcMethods = m.lcMethods + m.taPropsAndValues(I,1) + ' = ' + m.taPropsAndValues(I,2) + CR_LF
|
* lcMethods = m.lcMethods + m.taPropsAndValues(I,1) + ' = ' + m.taPropsAndValues(I,2) + CR_LF
|
||||||
* LOOP
|
* LOOP
|
||||||
*ENDIF
|
*ENDIF
|
||||||
@@ -8413,6 +8419,376 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
|||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
|
DEFINE CLASS c_conversor_pjm_a_prg AS c_conversor_bin_a_prg
|
||||||
|
#IF .F.
|
||||||
|
LOCAL THIS AS c_conversor_pjm_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE Convertir
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* toModulo (@! OUT) Objeto generado de clase CL_PROJECT con la informaci<63>n leida del texto
|
||||||
|
* toEx (@! OUT) Objeto con informaci<63>n del error
|
||||||
|
* toFoxbin2prg (v! IN ) Referencia al objeto principal
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS toModulo, toEx AS EXCEPTION, toFoxbin2prg
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toFoxbin2prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
DODEFAULT( @toModulo, @toEx )
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL lnCodError, lcStr, lnPos, lnLen, lnServerCount, loReg, lcDevInfo, lnLen ;
|
||||||
|
, lcStrPJM, laLines(1), laProps(1) ;
|
||||||
|
, loEx AS EXCEPTION ;
|
||||||
|
, loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' ;
|
||||||
|
, loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG' ;
|
||||||
|
, loServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG'
|
||||||
|
|
||||||
|
STORE NULL TO loProject, loReg, loServerHead, loServerData
|
||||||
|
lcStrPJM = FILETOSTR( THIS.c_InputFile )
|
||||||
|
loServerHead = CREATEOBJECT('CL_PROJ_SRV_HEAD')
|
||||||
|
|
||||||
|
|
||||||
|
*-- Obtengo los archivos del proyecto
|
||||||
|
loProject = CREATEOBJECT('CL_PROJECT')
|
||||||
|
|
||||||
|
WITH loProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG'
|
||||||
|
*-- Proj.Info
|
||||||
|
._CmntStyle = STREXTRACT( lcStrPJM, 'CommentStyle=', CR_LF )
|
||||||
|
._Debug = STREXTRACT( lcStrPJM, 'Debug=', CR_LF )
|
||||||
|
._Encrypted = STREXTRACT( lcStrPJM, 'Encrypt=', CR_LF )
|
||||||
|
._HomeDir = ['] + LOWER( JUSTPATH( SYS(5)+CURDIR() ) ) + [']
|
||||||
|
._ID = ''
|
||||||
|
._NoLogo = STREXTRACT( lcStrPJM, 'NoLogo=', CR_LF )
|
||||||
|
._ObjRev = 0
|
||||||
|
._ProjectHookClass = ''
|
||||||
|
._ProjectHookLibrary = ''
|
||||||
|
._SaveCode = STREXTRACT( lcStrPJM, 'SaveCode=', CR_LF )
|
||||||
|
._ServerHead = NULL
|
||||||
|
._ServerInfo = 'ServerData'
|
||||||
|
._SourceFile = ''
|
||||||
|
._TimeStamp = 0
|
||||||
|
._Version = STREXTRACT( lcStrPJM, 'Version=', CR_LF )
|
||||||
|
|
||||||
|
*-- Dev.info
|
||||||
|
._Author = STREXTRACT( lcStrPJM, 'Author=', CR_LF )
|
||||||
|
._Company = STREXTRACT( lcStrPJM, 'Company=', CR_LF )
|
||||||
|
._Address = STREXTRACT( lcStrPJM, 'Address=', CR_LF )
|
||||||
|
._City = STREXTRACT( lcStrPJM, 'City=', CR_LF )
|
||||||
|
._State = STREXTRACT( lcStrPJM, 'State=', CR_LF )
|
||||||
|
._PostalCode = STREXTRACT( lcStrPJM, 'Zip=', CR_LF )
|
||||||
|
._Country = STREXTRACT( lcStrPJM, 'Country=', CR_LF )
|
||||||
|
|
||||||
|
._Comments = STREXTRACT( lcStrPJM, 'Comments=', CR_LF )
|
||||||
|
._CompanyName = STREXTRACT( lcStrPJM, 'CompanyName=', CR_LF )
|
||||||
|
._FileDescription = STREXTRACT( lcStrPJM, 'FileDescription=', CR_LF )
|
||||||
|
._LegalCopyright = STREXTRACT( lcStrPJM, 'LegalCopyright=', CR_LF )
|
||||||
|
._LegalTrademark = STREXTRACT( lcStrPJM, 'LegalTrademarks=', CR_LF )
|
||||||
|
._ProductName = STREXTRACT( lcStrPJM, 'ProductName=', CR_LF )
|
||||||
|
._MajorVer = STREXTRACT( lcStrPJM, 'Major=', CR_LF )
|
||||||
|
._MinorVer = STREXTRACT( lcStrPJM, 'Minor=', CR_LF )
|
||||||
|
._Revision = STREXTRACT( lcStrPJM, 'Revision=', CR_LF )
|
||||||
|
._AutoIncrement = IIF( STREXTRACT( lcStrPJM, 'AutoIncrement=', CR_LF ) = '.T.', '1', '0' )
|
||||||
|
ENDWITH
|
||||||
|
|
||||||
|
FOR I = 1 TO ALINES( laLines, STREXTRACT( lcStrPJM, '[OLEServers]', '[OLEServersEnd]' ), 4 )
|
||||||
|
ALINES( laProps, laLines(I), 1, ',' )
|
||||||
|
|
||||||
|
IF I = 1
|
||||||
|
WITH loServerHead AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG'
|
||||||
|
._LibraryName = laProps(1)
|
||||||
|
._InternalName = laProps(2)
|
||||||
|
._ProjectName = laProps(3)
|
||||||
|
._TypeLibDesc = laProps(4)
|
||||||
|
._ServerType = PADL(laProps(5),4)
|
||||||
|
._TypeLib = laProps(6)
|
||||||
|
ENDWITH
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
loServerData = CREATEOBJECT("CL_PROJ_SRV_DATA")
|
||||||
|
|
||||||
|
WITH loServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG'
|
||||||
|
._HelpContextID = laProps(4)
|
||||||
|
._ServerName = laProps(3)
|
||||||
|
._Description = laProps(5)
|
||||||
|
._HelpFile = laProps(6)
|
||||||
|
._ServerClass = laProps(1)
|
||||||
|
._ClassLibrary = laProps(2)
|
||||||
|
._Instancing = laProps(7)
|
||||||
|
._CLSID = laProps(8)
|
||||||
|
._Interface = laProps(9)
|
||||||
|
ENDWITH
|
||||||
|
|
||||||
|
loServerHead.add_Server( loServerData )
|
||||||
|
loServerData = NULL
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*-- Escaneo el proyecto
|
||||||
|
FOR I = 1 TO ALINES( laLines, STREXTRACT( lcStrPJM, '[ProjectFiles]', '[EOF]' ), 4 )
|
||||||
|
ALINES( laProps, laLines(I) + ',', 1, ',' )
|
||||||
|
loReg = CREATEOBJECT("EMPTY")
|
||||||
|
ADDPROPERTY( loReg, 'ID', VAL( laProps(1) ) )
|
||||||
|
ADDPROPERTY( loReg, 'TYPE', laProps(2) )
|
||||||
|
ADDPROPERTY( loReg, 'NAME', laProps(3) )
|
||||||
|
ADDPROPERTY( loReg, 'EXCLUDE', EVALUATE( laProps(4) ) )
|
||||||
|
ADDPROPERTY( loReg, 'MAINPROG', laProps(5) )
|
||||||
|
ADDPROPERTY( loReg, 'CPID', VAL( laProps(6) ) )
|
||||||
|
ADDPROPERTY( loReg, 'COMMENTS', laProps(9) )
|
||||||
|
ADDPROPERTY( loReg, 'TIMESTAMP', 0 )
|
||||||
|
ADDPROPERTY( loReg, 'OBJREV', 0 )
|
||||||
|
|
||||||
|
*-- TIP: Si el "Name" del objeto est<73> vac<61>o, lo salteo
|
||||||
|
IF EMPTY(loReg.NAME)
|
||||||
|
LOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
DO CASE
|
||||||
|
CASE loReg.MAINPROG = '.T.'
|
||||||
|
loProject._MainProg = loReg.NAME
|
||||||
|
loProject.ADD( loReg, loReg.NAME )
|
||||||
|
CASE loReg.TYPE == 'W'
|
||||||
|
*
|
||||||
|
CASE loReg.TYPE == 'i'
|
||||||
|
loProject._Icon = loReg.NAME
|
||||||
|
OTHERWISE
|
||||||
|
loProject.ADD( loReg, loReg.NAME )
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
CATCH TO loEx WHEN loEx.ERRORNO = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
||||||
|
*-- Saltear y no agregar el archivo duplicado / Bypass and not add the duplicated file
|
||||||
|
FINALLY
|
||||||
|
loReg = NULL
|
||||||
|
ENDTRY
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
|
||||||
|
|
||||||
|
|
||||||
|
*-- Directorio de inicio
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
LPARAMETERS tcDir
|
||||||
|
<<>>
|
||||||
|
lcCurdir = SYS(5)+CURDIR()
|
||||||
|
CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) )
|
||||||
|
<<>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
*-- Informaci<63>n del programa
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + loProject.getFormattedDeviceInfoText() + CR_LF
|
||||||
|
|
||||||
|
|
||||||
|
*-- Informaci<63>n de los Servidores definidos
|
||||||
|
IF NOT EMPTY(loProject._ServerInfo)
|
||||||
|
C_FB2PRG_CODE = C_FB2PRG_CODE + loServerHead.getFormattedServerText() + CR_LF
|
||||||
|
loServerHead = NULL
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
*-- Generaci<63>n del proyecto
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<C_BUILDPROJ_I>>
|
||||||
|
<<>>*<.HomeDir = <<loProject._HomeDir>> />
|
||||||
|
<<>>
|
||||||
|
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||||
|
<<>> loProject.Close()
|
||||||
|
ENDFOR
|
||||||
|
<<>>
|
||||||
|
STRTOFILE( '', '__newproject.f2b' )
|
||||||
|
BUILD PROJECT <<JUSTFNAME( EVL( THIS.c_OriginalFileName, THIS.c_InputFile ) )>> FROM '__newproject.f2b'
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
*-- Abro el proyecto
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||||
|
<<>> loProject.Close()
|
||||||
|
ENDFOR
|
||||||
|
<<>>
|
||||||
|
MODIFY PROJECT '<<JUSTFNAME( EVL( THIS.c_OriginalFileName, THIS.c_InputFile ) )>>' NOWAIT NOSHOW NOPROJECTHOOK
|
||||||
|
<<>>
|
||||||
|
loProject = _VFP.Projects('<<JUSTFNAME( EVL( THIS.c_OriginalFileName, THIS.c_InputFile ) )>>')
|
||||||
|
<<>>
|
||||||
|
WITH loProject.FILES
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
*-- Definir archivos del proyecto y metadata: CPID, Timestamp, ID, etc.
|
||||||
|
loProject.KEYSORT = 2
|
||||||
|
|
||||||
|
FOR EACH loReg IN loProject &&FOXOBJECT
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .ADD('<<loReg.NAME>>')
|
||||||
|
ENDTEXT
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||||
|
<<>> <<'&'>><<'&'>> <<C_FILE_META_I>>
|
||||||
|
Type="<<loReg.TYPE>>"
|
||||||
|
Cpid="<<INT( loReg.CPID )>>"
|
||||||
|
Timestamp="<<INT( loReg.TIMESTAMP )>>"
|
||||||
|
ID="<<INT( loReg.ID )>>"
|
||||||
|
ObjRev="<<INT( loReg.OBJREV )>>"
|
||||||
|
<<C_FILE_META_F>>
|
||||||
|
ENDTEXT
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_BUILDPROJ_F>>
|
||||||
|
<<>>
|
||||||
|
<<>> .ITEM('__newproject.f2b').Remove()
|
||||||
|
<<>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_FILE_CMTS_I>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
*-- Agrego los comentarios
|
||||||
|
loProject.KEYSORT = 2
|
||||||
|
|
||||||
|
FOR EACH loReg IN loProject &&FOXOBJECT
|
||||||
|
IF NOT EMPTY(loReg.COMMENTS)
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .ITEM(lcCurdir + '<<loReg.NAME>>').Description = '<<loReg.COMMENTS>>'
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
|
*-- Exclusiones
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_FILE_CMTS_F>>
|
||||||
|
<<>>
|
||||||
|
<<>> <<C_FILE_EXCL_I>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
loProject.KEYSORT = 2
|
||||||
|
|
||||||
|
FOR EACH loReg IN loProject &&FOXOBJECT
|
||||||
|
IF loReg.EXCLUDE
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .ITEM(lcCurdir + '<<loReg.NAME>>').Exclude = .T.
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
|
*-- Tipos de archivos especiales
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_FILE_EXCL_F>>
|
||||||
|
<<>>
|
||||||
|
<<>> <<C_FILE_TXT_I>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
loProject.KEYSORT = 2
|
||||||
|
|
||||||
|
FOR EACH loReg IN loProject &&FOXOBJECT
|
||||||
|
IF INLIST( UPPER( JUSTEXT( loReg.NAME ) ), 'H','FPW' )
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .ITEM(lcCurdir + '<<loReg.NAME>>').Type = 'T'
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
|
||||||
|
*-- ProjectHook, Debug, Encrypt, Build y cierre
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <<C_FILE_TXT_F>>
|
||||||
|
<<C_ENDWITH>>
|
||||||
|
<<>>
|
||||||
|
<<C_WITH>> loProject
|
||||||
|
<<>> <<C_PROJPROPS_I>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
IF NOT EMPTY(loProject._MainProg)
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .SetMain(lcCurdir + '<<loProject._MainProg>>')
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF NOT EMPTY(loProject._Icon)
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .Icon = lcCurdir + '<<loProject._Icon>>'
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> .Debug = <<loProject._Debug>>
|
||||||
|
<<>> .Encrypted = <<loProject._Encrypted>>
|
||||||
|
<<>> *<.CmntStyle = <<loProject._CmntStyle>> />
|
||||||
|
<<>> *<.NoLogo = <<loProject._NoLogo>> />
|
||||||
|
<<>> *<.SaveCode = <<loProject._SaveCode>> />
|
||||||
|
<<>> .ProjectHookLibrary = '<<loProject._ProjectHookLibrary>>'
|
||||||
|
<<>> .ProjectHookClass = '<<loProject._ProjectHookClass>>'
|
||||||
|
<<>> <<C_PROJPROPS_F>>
|
||||||
|
<<C_ENDWITH>>
|
||||||
|
<<>>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
*-- Build y cierre
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>>
|
||||||
|
_VFP.Projects('<<JUSTFNAME( EVL( THIS.c_OriginalFileName, THIS.c_InputFile ) )>>').Close()
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
*-- Restauro Directorio de inicio
|
||||||
|
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
*ERASE '__newproject.f2b'
|
||||||
|
CD (lcCurdir)
|
||||||
|
RETURN
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
|
toFoxbin2prg.doBackup( .F., .T., '', '', '' )
|
||||||
|
|
||||||
|
*-- Genero el PJ2
|
||||||
|
IF THIS.l_Test
|
||||||
|
toModulo = C_FB2PRG_CODE
|
||||||
|
ELSE
|
||||||
|
lnLen = LEN( toFoxbin2prg.get_PROGRAM_HEADER() )
|
||||||
|
DO CASE
|
||||||
|
CASE FILE(THIS.c_OutputFile) AND SUBSTR( FILETOSTR( THIS.c_OutputFile ), lnLen ) == SUBSTR( C_FB2PRG_CODE, lnLen )
|
||||||
|
THIS.writeLog( 'El archivo de salida [' + THIS.c_OutputFile + '] no se sobreescribe por ser igual al generado.' )
|
||||||
|
CASE STRTOFILE( C_FB2PRG_CODE, THIS.c_OutputFile ) = 0
|
||||||
|
ERROR 'No se puede generar el archivo [' + THIS.c_OutputFile + '] porque es ReadOnly'
|
||||||
|
ENDCASE
|
||||||
|
*COMPILE ( THIS.c_outputFile )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO toEx
|
||||||
|
lnCodError = toEx.ERRORNO
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE lnCodError = 2062 && The specified key already exists ==> loProject.ADD( loReg, loReg.NAME )
|
||||||
|
toEx.USERVALUE = 'Archivo duplicado: ' + loReg.NAME
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
*USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
ENDPROC
|
||||||
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg
|
||||||
#IF .F.
|
#IF .F.
|
||||||
@@ -8738,6 +9114,11 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg
|
|||||||
STORE 0 TO lnCodError
|
STORE 0 TO lnCodError
|
||||||
|
|
||||||
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
|
||||||
|
*-- Verificaci<63>n de men<65> VFP 9
|
||||||
|
IF FCOUNT() < 25 OR EMPTY(FIELD("RESNAME")) OR EMPTY(FIELD("SYSRES"))
|
||||||
|
ERROR 'Menu [' + (THIS.c_InputFile) + '] is NOT VFP 9 Format! - Please convert to VFP 9 with MODIFY MENU ' + JUSTFNAME((THIS.c_InputFile))
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Header
|
*-- Header
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
|
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxbin2prg.get_PROGRAM_HEADER()
|
||||||
@@ -9294,7 +9675,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
+ [<memberdata name="_timestamp" display="_TimeStamp"/>] ;
|
+ [<memberdata name="_timestamp" display="_TimeStamp"/>] ;
|
||||||
+ [<memberdata name="_version" display="_Version"/>] ;
|
+ [<memberdata name="_version" display="_Version"/>] ;
|
||||||
+ [<memberdata name="_address" display="_Address"/>] ;
|
+ [<memberdata name="_address" display="_Address"/>] ;
|
||||||
+ [<memberdata name="_autor" display="_Autor"/>] ;
|
+ [<memberdata name="_author" display="_Author"/>] ;
|
||||||
+ [<memberdata name="_company" display="_Company"/>] ;
|
+ [<memberdata name="_company" display="_Company"/>] ;
|
||||||
+ [<memberdata name="_city" display="_City"/>] ;
|
+ [<memberdata name="_city" display="_City"/>] ;
|
||||||
+ [<memberdata name="_state" display="_State"/>] ;
|
+ [<memberdata name="_state" display="_State"/>] ;
|
||||||
@@ -9340,7 +9721,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
_Version = ''
|
_Version = ''
|
||||||
|
|
||||||
*-- Dev.info
|
*-- Dev.info
|
||||||
_Autor = ''
|
_Author = ''
|
||||||
_Company = ''
|
_Company = ''
|
||||||
_Address = ''
|
_Address = ''
|
||||||
_City = ''
|
_City = ''
|
||||||
@@ -9411,7 +9792,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
|
|
||||||
TRY
|
TRY
|
||||||
WITH THIS
|
WITH THIS
|
||||||
._Autor = .parseNullTerminatedValue( @tcDevInfo, 1, 45 )
|
._Author = .parseNullTerminatedValue( @tcDevInfo, 1, 45 )
|
||||||
._Company = .parseNullTerminatedValue( @tcDevInfo, 47, 45 )
|
._Company = .parseNullTerminatedValue( @tcDevInfo, 47, 45 )
|
||||||
._Address = .parseNullTerminatedValue( @tcDevInfo, 93, 45 )
|
._Address = .parseNullTerminatedValue( @tcDevInfo, 93, 45 )
|
||||||
._City = .parseNullTerminatedValue( @tcDevInfo, 139, 20 )
|
._City = .parseNullTerminatedValue( @tcDevInfo, 139, 20 )
|
||||||
@@ -9454,7 +9835,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
WITH THIS
|
WITH THIS
|
||||||
tcDevInfo = STUFF( tcDevInfo, 1, LEN(._Autor), ._Autor)
|
tcDevInfo = STUFF( tcDevInfo, 1, LEN(._Author), ._Autor)
|
||||||
tcDevInfo = STUFF( tcDevInfo, 47, LEN(._Company), ._Company)
|
tcDevInfo = STUFF( tcDevInfo, 47, LEN(._Company), ._Company)
|
||||||
tcDevInfo = STUFF( tcDevInfo, 93, LEN(._Address), ._Address)
|
tcDevInfo = STUFF( tcDevInfo, 93, LEN(._Address), ._Address)
|
||||||
tcDevInfo = STUFF( tcDevInfo, 139, LEN(._City), ._City)
|
tcDevInfo = STUFF( tcDevInfo, 139, LEN(._City), ._City)
|
||||||
@@ -9499,7 +9880,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
WITH THIS
|
WITH THIS
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<C_DEVINFO_I>>
|
<<C_DEVINFO_I>>
|
||||||
_Autor = "<<._Autor>>"
|
_Author = "<<._Author>>"
|
||||||
_Company = "<<._Company>>"
|
_Company = "<<._Company>>"
|
||||||
_Address = "<<._Address>>"
|
_Address = "<<._Address>>"
|
||||||
_City = "<<._City>>"
|
_City = "<<._City>>"
|
||||||
@@ -13508,7 +13889,7 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE
|
|||||||
TEXT TO lcText TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<>> <INDEX>
|
<<>> <INDEX>
|
||||||
<<>> <TagName><<taTagInfo(I,1)>></TagName>
|
<<>> <TagName><<taTagInfo(I,1)>></TagName>
|
||||||
<<>> <TagType><<ICASE(LEFT(taTagInfo(I,2),3)='BIN','BINARY',PRIMARY(I),'PRIMARY',CANDIDATE(),'CANDIDATE',UNIQUE(I),'UNIQUE','REGULAR'))>></TagType>
|
<<>> <TagType><<ICASE(LEFT(taTagInfo(I,2),3)='BIN','BINARY',PRIMARY(I),'PRIMARY',CANDIDATE(I),'CANDIDATE',UNIQUE(I),'UNIQUE','REGULAR'))>></TagType>
|
||||||
<<>> <Key><<taTagInfo(I,3)>></Key>
|
<<>> <Key><<taTagInfo(I,3)>></Key>
|
||||||
<<>> <Filter><<taTagInfo(I,4)>></Filter>
|
<<>> <Filter><<taTagInfo(I,4)>></Filter>
|
||||||
<<>> <Order><<IIF(DESCENDING(I), 'DESCENDING', 'ASCENDING')>></Order>
|
<<>> <Order><<IIF(DESCENDING(I), 'DESCENDING', 'ASCENDING')>></Order>
|
||||||
@@ -13593,15 +13974,15 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE
|
|||||||
|
|
||||||
************************************************************************************************
|
************************************************************************************************
|
||||||
PROCEDURE add_Server
|
PROCEDURE add_Server
|
||||||
LPARAMETERS toServer
|
LPARAMETERS toServerData
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL toServer AS CL_PROJ_SRV_HEAD OF 'FOXBIN2PRG.PRG'
|
LOCAL toServerData AS CL_PROJ_SRV_DATA OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
THIS._ServerCount = THIS._ServerCount + 1
|
THIS._ServerCount = THIS._ServerCount + 1
|
||||||
DIMENSION THIS._Servers( THIS._ServerCount )
|
DIMENSION THIS._Servers( THIS._ServerCount )
|
||||||
THIS._Servers( THIS._ServerCount ) = toServer
|
THIS._Servers( THIS._ServerCount ) = toServerData
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user