Changeset: 131 - mnx bug fix: Se genera llamada DO Procedure o Command cuando no hay procedure o Command para llamar (cuando se crea una opción vacía) [Fidel charny]

- Agregado soporte para tablas (DBFs) anteriores a VFP 9 para generar el texto DB2, pero regenera en formato VFP 9!
- dbf bug fix: DBFs vinculados a DBCs que usan nombres de campo largos dan errores al regenerar
- dbf bug fix: No se generaba toda la información de las vistas (views) de los DBCs
- Encapsuladas funciones de acceso a bajo nivel de DBFs en nueva clase CL_DBF_UTILS
- Limpieza de código y refactorización
This commit is contained in:
fernando
2014-01-06 04:48:48 +01:00
15 changed files with 879 additions and 389 deletions

View File

@@ -2,25 +2,27 @@
' Convert_VFP9_BIN_2_PRG.vbs - 03/01/2014 - Fernando D. Bozzo (fdbozzo@gmail.com)
'---------------------------------------------------------------------------------------------------
' ENGLISH:
' USE: Copy this file in the same directory of FoxBin2prg and create a shortcut
' on user's "SendTo" folder
' - Copy this file in the same directory of FoxBin2prg and create a shortcut
' on user's "SendTo" folder
' - Now you can select files or directories, right click and "SendTo" FoxBin2prg for batch conversion
'
' ESPA<50>OL:
' USO: Copie este archivo en el mismo directorio que FoxBin2prg y cree un acceso directo
' en la carpeta "SendTo" del usuario
' - Copie este archivo en el mismo directorio que FoxBin2prg y cree un acceso directo
' en la carpeta "SendTo" del usuario
' - Ahora puede seleccionar archivos o directorios, pulsar click derecho y "Enviar a" FoxBin2prg para conversiones batch
'---------------------------------------------------------------------------------------------------
Const ForReading = 1
Dim WSHShell, FileSystemObject
Dim oVFP9, nExitCode, cEXETool, cCMD, nDebug, cConvertType, aExtensions(8), foxbin2prg_cfg
Dim i, x, str_cfg, aConf
Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
cConvertType = "BIN2PRG"
foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.cfg")
nExitCode = 0
cConvertType = "BIN2PRG" '<<< This is the only difference between the 2 scripts
'---------------------------------------------------------------------------------------------------
nDebug = 1 '0=OFF, 1=Create FoxBin2prg LOG, 2=Only show calls, 3=Only show calls of the LOG call
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages
'---------------------------------------------------------------------------------------------------
If cConvertType = "BIN2PRG" Then
@@ -52,11 +54,9 @@ Else
arrFb2p_CFG = Split(strNextLine , ",")
For i = 0 to Ubound(arrFb2p_CFG)
If Left( arrFb2p_CFG(i), 10 ) = "extension:" Then
'Wscript.Echo "CFG line: " & arrFb2p_CFG(i)
aConf = Split( arrFb2p_CFG(i), ":" ) 'Obtengo la separaci<63>n de "extensi<73>n:" y "ext:equiv"
str_cfg = UCase( Trim( aConf(1) ) )
aConf = Split( str_cfg, "=" ) 'Obtengo la separaci<63>n de extensi<73>n y equivalencia (vc2=vca)
'Wscript.Echo "[" & aConf(0) & "] [" & aConf(1) & "]"
For x = 1 TO 8
If aExtensions(x) = aConf(0) Then
@@ -74,7 +74,17 @@ End if
If WScript.Arguments.Count = 0 Then
nExitCode = 1
MsgBox "Sin parametros"
cErrMsg = "nDebug = " & nDebug
If GetBit(nDebug, 1) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 0 ON: (1) Create FoxBin2prg LOG"
End If
If GetBit(nDebug, 2) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 1 ON: (2) Only show script calls"
End If
If GetBit(nDebug, 3) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
End If
MsgBox cErrMsg, 64, "No parameters - Debug Status"
Else
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
@@ -90,15 +100,11 @@ Private Sub scanDirs( tcArgument )
Dim omFolder, oFolder
If FileSystemObject.FolderExists( tcArgument ) Then
'-- Es un directorio
'WScript.Echo "Argument: " & "[" & tcArgument & "]"
Set omFolder = FileSystemObject.GetFolder( tcArgument )
'WScript.Echo "Dir: " & "[" & omFolder.Path & "]"
For Each oFile IN omFolder.Files
'WScript.Echo "File: " & "[" & oFile.Path & "]"
evaluateFile( oFile.Path )
Next
For Each oFolder IN omFolder.SubFolders
'WScript.Echo "SubDir: " & "[" & oFolder.Name & "] [" & oFolder.Path & "]"
scanDirs( oFolder.Path )
Next
Else
@@ -111,14 +117,27 @@ End Sub
Private Sub evaluateFile( tcFile )
For x = 1 TO 8
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
If nDebug = 1 OR nDebug = 3 Then
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0','0','1'"
Else
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH " & chr(34) & tcFile & chr(34)
cFlagGenerateLog = "'0'"
cFlagDontShowErrMsg = "'0'"
cFlagShowCall = "'0'"
If GetBit(nDebug,1) Then
cFlagGenerateLog = "'1'"
End If
If nDebug = 2 Or nDebug = 3 Then
If GetBit(nDebug,2) Then
cFlagDontShowErrMsg = "'1'"
End If
If GetBit(nDebug,3) Then
cFlagJustShowCall = "1"
End If
If nDebug = 0 Or nDebug = 2 Then
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH " & chr(34) & tcFile & chr(34)
Else
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
End If
If cFlagJustShowCall = "1" Then
MsgBox cCMD, 0, "PARAMETROS ENVIADOS"
Else 'nDebug = 0 Or nDebug = 2
Else
oVFP9.DoCmd( cCMD )
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
End If
@@ -126,3 +145,10 @@ Private Sub evaluateFile( tcFile )
End If
Next
End Sub
Function GetBit(lngValue, BitNum)
Dim BitMask
If BitNum < 32 Then BitMask = 2 ^ (BitNum - 1) Else BitMask = "&H80000000"
GetBit = CBool(lngValue AND BitMask)
End Function

View File

@@ -2,25 +2,27 @@
' Convert_VFP9_PRG_2_BIN.vbs - 03/01/2014 - Fernando D. Bozzo (fdbozzo@gmail.com)
'---------------------------------------------------------------------------------------------------
' ENGLISH:
' USE: Copy this file in the same directory of FoxBin2prg and create a shortcut
' on user's "SendTo" folder
' - Copy this file in the same directory of FoxBin2prg and create a shortcut
' on user's "SendTo" folder
' - Now you can select files or directories, right click and "SendTo" FoxBin2prg for batch conversion
'
' ESPA<50>OL:
' USO: Copie este archivo en el mismo directorio que FoxBin2prg y cree un acceso directo
' en la carpeta "SendTo" del usuario
' - Copie este archivo en el mismo directorio que FoxBin2prg y cree un acceso directo
' en la carpeta "SendTo" del usuario
' - Ahora puede seleccionar archivos o directorios, pulsar click derecho y "Enviar a" FoxBin2prg para conversiones batch
'---------------------------------------------------------------------------------------------------
Const ForReading = 1
Dim WSHShell, FileSystemObject
Dim oVFP9, nExitCode, cEXETool, cCMD, nDebug, cConvertType, aExtensions(8), foxbin2prg_cfg
Dim i, x, str_cfg, aConf
Dim i, x, str_cfg, aConf, cErrMsg, cFlagGenerateLog, cFlagDontShowErrMsg, cFlagJustShowCall
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
cConvertType = "PRG2BIN"
foxbin2prg_cfg = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.cfg")
nExitCode = 0
cConvertType = "PRG2BIN" '<<< This is the only difference between the 2 scripts
'---------------------------------------------------------------------------------------------------
nDebug = 1 '0=OFF, 1=Create FoxBin2prg LOG, 2=Only show calls, 3=Only show calls of the LOG call
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create FoxBin2prg LOG, 2=Only show script calls, 4=Don't show FoxBin2prg error modal messages
'---------------------------------------------------------------------------------------------------
If cConvertType = "BIN2PRG" Then
@@ -52,11 +54,9 @@ Else
arrFb2p_CFG = Split(strNextLine , ",")
For i = 0 to Ubound(arrFb2p_CFG)
If Left( arrFb2p_CFG(i), 10 ) = "extension:" Then
'Wscript.Echo "CFG line: " & arrFb2p_CFG(i)
aConf = Split( arrFb2p_CFG(i), ":" ) 'Obtengo la separaci<63>n de "extensi<73>n:" y "ext:equiv"
str_cfg = UCase( Trim( aConf(1) ) )
aConf = Split( str_cfg, "=" ) 'Obtengo la separaci<63>n de extensi<73>n y equivalencia (vc2=vca)
'Wscript.Echo "[" & aConf(0) & "] [" & aConf(1) & "]"
For x = 1 TO 8
If aExtensions(x) = aConf(0) Then
@@ -74,7 +74,17 @@ End if
If WScript.Arguments.Count = 0 Then
nExitCode = 1
MsgBox "Sin parametros"
cErrMsg = "nDebug = " & nDebug
If GetBit(nDebug, 1) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 0 ON: (1) Create FoxBin2prg LOG"
End If
If GetBit(nDebug, 2) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 1 ON: (2) Only show script calls"
End If
If GetBit(nDebug, 3) Then
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show FoxBin2prg error modal messages"
End If
MsgBox cErrMsg, 64, "No parameters - Debug Status"
Else
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "foxbin2prg.exe")
@@ -90,15 +100,11 @@ Private Sub scanDirs( tcArgument )
Dim omFolder, oFolder
If FileSystemObject.FolderExists( tcArgument ) Then
'-- Es un directorio
'WScript.Echo "Argument: " & "[" & tcArgument & "]"
Set omFolder = FileSystemObject.GetFolder( tcArgument )
'WScript.Echo "Dir: " & "[" & omFolder.Path & "]"
For Each oFile IN omFolder.Files
'WScript.Echo "File: " & "[" & oFile.Path & "]"
evaluateFile( oFile.Path )
Next
For Each oFolder IN omFolder.SubFolders
'WScript.Echo "SubDir: " & "[" & oFolder.Name & "] [" & oFolder.Path & "]"
scanDirs( oFolder.Path )
Next
Else
@@ -111,14 +117,27 @@ End Sub
Private Sub evaluateFile( tcFile )
For x = 1 TO 8
If aExtensions(x) = UCase( FileSystemObject.GetExtensionName( tcFile ) ) Then
If nDebug = 1 OR nDebug = 3 Then
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0','0','1'"
Else
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH " & chr(34) & tcFile & chr(34)
cFlagGenerateLog = "'0'"
cFlagDontShowErrMsg = "'0'"
cFlagShowCall = "'0'"
If GetBit(nDebug,1) Then
cFlagGenerateLog = "'1'"
End If
If nDebug = 2 Or nDebug = 3 Then
If GetBit(nDebug,2) Then
cFlagDontShowErrMsg = "'1'"
End If
If GetBit(nDebug,3) Then
cFlagJustShowCall = "1"
End If
If nDebug = 0 Or nDebug = 2 Then
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH " & chr(34) & tcFile & chr(34)
Else
cCMD = "DO " & chr(34) & cEXETool & chr(34) & " WITH '" & tcFile & "','0','0','0'," & cFlagDontShowErrMsg & "," & cFlagGenerateLog
End If
If cFlagJustShowCall = "1" Then
MsgBox cCMD, 0, "PARAMETROS ENVIADOS"
Else 'nDebug = 0 Or nDebug = 2
Else
oVFP9.DoCmd( cCMD )
nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
End If
@@ -126,3 +145,10 @@ Private Sub evaluateFile( tcFile )
End If
Next
End Sub
Function GetBit(lngValue, BitNum)
Dim BitMask
If BitNum < 32 Then BitMask = 2 ^ (BitNum - 1) Else BitMask = "&H80000000"
GetBit = CBool(lngValue AND BitMask)
End Function

View File

@@ -1,4 +1,4 @@
02/01/2014 FOXBIN2PRG VER.1.17 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com)
06/01/2014 FOXBIN2PRG VER.1.18 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com)
ESPAÑOL --------------------------------------------------------------------------------------------

View File

@@ -2,116 +2,117 @@
* (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!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.14" SourceFile="C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_DBF.DBF" Generated="2013/12/11 19:43:58" /> (Para uso con Visual FoxPro 9.0)
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_dbf.dbf" Generated="2014/01/05 19:10:49" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
<TABLE>
<memofile>C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_DBF.FPT</memofile>
<codepage>1252</codepage>
<database>fb2p_dbc.dbc</database>
<filetype>0x00000031</filetype>
<filetype_descrip>Visual FoxPro, autoincrement enabled</filetype_descrip>
<MemoFile></MemoFile>
<CodePage>1252</CodePage>
<LastUpdate>2014/01/05</LastUpdate>
<Database>fb2p_dbc.dbc</Database>
<FileType>0x00000031</FileType>
<FileType_Descrip>Visual FoxPro, autoincrement enabled</FileType_Descrip>
<FIELDS>
<FIELD>
<name>NOMBRE</name>
<type>C</type>
<width>30</width>
<decimals>0</decimals>
<null>.F.</null>
<nocptran>.F.</nocptran>
<field_valid_exp>.NOT.EMPTY(nombre)</field_valid_exp>
<field_valid_text>"El nombre est<73> vac<61>o"</field_valid_text>
<field_default_value>"."</field_default_value>
<table_valid_exp>edad>10</table_valid_exp>
<table_valid_text>"Mensaje de error de la regla edad > 10"</table_valid_text>
<longtablename>NOMBRELARGODELDBF</longtablename>
<ins_trig_exp>__ri_insert_nombrelargodeldbf().AND.(ins_trg())</ins_trig_exp>
<upd_trig_exp>__ri_update_nombrelargodeldbf().AND.(upd_trg())</upd_trig_exp>
<del_trig_exp>del_trg()</del_trig_exp>
<tablecomment>Comentario de la tabla "fb2p_dbf"</tablecomment>
<autoinc_nextval>0</autoinc_nextval>
<autoinc_step>0</autoinc_step>
<Name>NOMBRE</Name>
<Type>C</Type>
<Width>30</Width>
<Decimals>0</Decimals>
<Null>.F.</Null>
<NoCPTran>.F.</NoCPTran>
<Field_Valid_Exp>.NOT.EMPTY(nombre)</Field_Valid_Exp>
<Field_Valid_Text>"El nombre est<73> vac<61>o"</Field_Valid_Text>
<Field_Default_Value>"."</Field_Default_Value>
<Table_Valid_Exp>edad>10</Table_Valid_Exp>
<Table_Valid_Text>"Mensaje de error de la regla edad > 10"</Table_Valid_Text>
<LongTableName>NOMBRELARGODELDBF</LongTableName>
<Ins_Trig_Exp>__ri_insert_nombrelargodeldbf().AND.(ins_trg())</Ins_Trig_Exp>
<Upd_Trig_Exp>__ri_update_nombrelargodeldbf().AND.(upd_trg())</Upd_Trig_Exp>
<Del_Trig_Exp>del_trg()</Del_Trig_Exp>
<TableComment>Comentario de la tabla "fb2p_dbf"</TableComment>
<Autoinc_Nextval>0</Autoinc_Nextval>
<Autoinc_Step>0</Autoinc_Step>
</FIELD>
<FIELD>
<name>EDAD</name>
<type>N</type>
<width>3</width>
<decimals>0</decimals>
<null>.F.</null>
<nocptran>.F.</nocptran>
<field_valid_exp></field_valid_exp>
<field_valid_text></field_valid_text>
<field_default_value></field_default_value>
<table_valid_exp></table_valid_exp>
<table_valid_text></table_valid_text>
<longtablename></longtablename>
<ins_trig_exp></ins_trig_exp>
<upd_trig_exp></upd_trig_exp>
<del_trig_exp></del_trig_exp>
<tablecomment></tablecomment>
<autoinc_nextval>0</autoinc_nextval>
<autoinc_step>0</autoinc_step>
<Name>EDAD</Name>
<Type>N</Type>
<Width>3</Width>
<Decimals>0</Decimals>
<Null>.F.</Null>
<NoCPTran>.F.</NoCPTran>
<Field_Valid_Exp></Field_Valid_Exp>
<Field_Valid_Text></Field_Valid_Text>
<Field_Default_Value></Field_Default_Value>
<Table_Valid_Exp></Table_Valid_Exp>
<Table_Valid_Text></Table_Valid_Text>
<LongTableName></LongTableName>
<Ins_Trig_Exp></Ins_Trig_Exp>
<Upd_Trig_Exp></Upd_Trig_Exp>
<Del_Trig_Exp></Del_Trig_Exp>
<TableComment></TableComment>
<Autoinc_Nextval>0</Autoinc_Nextval>
<Autoinc_Step>0</Autoinc_Step>
</FIELD>
<FIELD>
<name>ID</name>
<type>I</type>
<width>4</width>
<decimals>0</decimals>
<null>.F.</null>
<nocptran>.F.</nocptran>
<field_valid_exp></field_valid_exp>
<field_valid_text></field_valid_text>
<field_default_value></field_default_value>
<table_valid_exp></table_valid_exp>
<table_valid_text></table_valid_text>
<longtablename></longtablename>
<ins_trig_exp></ins_trig_exp>
<upd_trig_exp></upd_trig_exp>
<del_trig_exp></del_trig_exp>
<tablecomment></tablecomment>
<autoinc_nextval>10</autoinc_nextval>
<autoinc_step>2</autoinc_step>
<Name>ID</Name>
<Type>I</Type>
<Width>4</Width>
<Decimals>0</Decimals>
<Null>.F.</Null>
<NoCPTran>.F.</NoCPTran>
<Field_Valid_Exp></Field_Valid_Exp>
<Field_Valid_Text></Field_Valid_Text>
<Field_Default_Value></Field_Default_Value>
<Table_Valid_Exp></Table_Valid_Exp>
<Table_Valid_Text></Table_Valid_Text>
<LongTableName></LongTableName>
<Ins_Trig_Exp></Ins_Trig_Exp>
<Upd_Trig_Exp></Upd_Trig_Exp>
<Del_Trig_Exp></Del_Trig_Exp>
<TableComment></TableComment>
<Autoinc_Nextval>20</Autoinc_Nextval>
<Autoinc_Step>2</Autoinc_Step>
</FIELD>
<FIELD>
<name>BIGTEXT</name>
<type>M</type>
<width>4</width>
<decimals>0</decimals>
<null>.F.</null>
<nocptran>.F.</nocptran>
<field_valid_exp></field_valid_exp>
<field_valid_text></field_valid_text>
<field_default_value></field_default_value>
<table_valid_exp></table_valid_exp>
<table_valid_text></table_valid_text>
<longtablename></longtablename>
<ins_trig_exp></ins_trig_exp>
<upd_trig_exp></upd_trig_exp>
<del_trig_exp></del_trig_exp>
<tablecomment></tablecomment>
<autoinc_nextval>0</autoinc_nextval>
<autoinc_step>0</autoinc_step>
<Name>BIGTEXT</Name>
<Type>M</Type>
<Width>4</Width>
<Decimals>0</Decimals>
<Null>.F.</Null>
<NoCPTran>.F.</NoCPTran>
<Field_Valid_Exp></Field_Valid_Exp>
<Field_Valid_Text></Field_Valid_Text>
<Field_Default_Value></Field_Default_Value>
<Table_Valid_Exp></Table_Valid_Exp>
<Table_Valid_Text></Table_Valid_Text>
<LongTableName></LongTableName>
<Ins_Trig_Exp></Ins_Trig_Exp>
<Upd_Trig_Exp></Upd_Trig_Exp>
<Del_Trig_Exp></Del_Trig_Exp>
<TableComment></TableComment>
<Autoinc_Nextval>0</Autoinc_Nextval>
<Autoinc_Step>0</Autoinc_Step>
</FIELD>
<FIELD>
<name>DEPTO</name>
<type>C</type>
<width>10</width>
<decimals>0</decimals>
<null>.F.</null>
<nocptran>.F.</nocptran>
<field_valid_exp></field_valid_exp>
<field_valid_text></field_valid_text>
<field_default_value></field_default_value>
<table_valid_exp></table_valid_exp>
<table_valid_text></table_valid_text>
<longtablename></longtablename>
<ins_trig_exp></ins_trig_exp>
<upd_trig_exp></upd_trig_exp>
<del_trig_exp></del_trig_exp>
<tablecomment></tablecomment>
<autoinc_nextval>0</autoinc_nextval>
<autoinc_step>0</autoinc_step>
<Name>DEPTO</Name>
<Type>C</Type>
<Width>10</Width>
<Decimals>0</Decimals>
<Null>.F.</Null>
<NoCPTran>.F.</NoCPTran>
<Field_Valid_Exp></Field_Valid_Exp>
<Field_Valid_Text></Field_Valid_Text>
<Field_Default_Value></Field_Default_Value>
<Table_Valid_Exp></Table_Valid_Exp>
<Table_Valid_Text></Table_Valid_Text>
<LongTableName></LongTableName>
<Ins_Trig_Exp></Ins_Trig_Exp>
<Upd_Trig_Exp></Upd_Trig_Exp>
<Del_Trig_Exp></Del_Trig_Exp>
<TableComment></TableComment>
<Autoinc_Nextval>0</Autoinc_Nextval>
<Autoinc_Step>0</Autoinc_Step>
</FIELD>
</FIELDS>
@@ -120,25 +121,52 @@
<INDEXES>
<INDEX>
<tagname>ID</tagname>
<collate>MACHINE</collate>
<key>ID</key>
<descending>.F.</descending>
<for_exp></for_exp>
<TagName>ID</TagName>
<TagType>PRINCIPAL</TagType>
<Key>ID</Key>
<Filter></Filter>
<Order>ASCENDING</Order>
<Collate>MACHINE</Collate>
</INDEX>
<INDEX>
<tagname>I_NOMBRE</tagname>
<collate>GENERAL</collate>
<key>NOMBRE</key>
<descending>.F.</descending>
<for_exp></for_exp>
<TagName>I_NOMBRE</TagName>
<TagType>NORMAL</TagType>
<Key>NOMBRE</Key>
<Filter></Filter>
<Order>ASCENDING</Order>
<Collate>GENERAL</Collate>
</INDEX>
<INDEX>
<tagname>DEPTO</tagname>
<collate>MACHINE</collate>
<key>DEPTO</key>
<descending>.F.</descending>
<for_exp></for_exp>
<TagName>DEPTO</TagName>
<TagType>NORMAL</TagType>
<Key>DEPTO</Key>
<Filter></Filter>
<Order>ASCENDING</Order>
<Collate>MACHINE</Collate>
</INDEX>
<INDEX>
<TagName>EDAD_ND</TagName>
<TagType>NORMAL</TagType>
<Key>EDAD</Key>
<Filter>.NOT.DELETED()</Filter>
<Order>ASCENDING</Order>
<Collate>MACHINE</Collate>
</INDEX>
<INDEX>
<TagName>NOTDELETED</TagName>
<TagType>BINARIO</TagType>
<Key>.NOT.DELETED()</Key>
<Filter></Filter>
<Order>ASCENDING</Order>
<Collate>MACHINE</Collate>
</INDEX>
<INDEX>
<TagName>EDAD</TagName>
<TagType>CANDIDATO</TagType>
<Key>EDAD</Key>
<Filter></Filter>
<Order>DESCENDING</Order>
<Collate>MACHINE</Collate>
</INDEX>
</INDEXES>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.17" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/03 16:29:53" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\foxbin2prg.pjx" Generated="2014/01/06 04:40:58" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
LPARAMETERS tcDir
@@ -25,8 +25,8 @@ _LegalCopyright = "Open Source - LICENCIA Creative Commons: Reconocimiento - Co
_LegalTrademark = "Open Source"
_ProductName = " FOXBIN2PRG"
_MajorVer = "1"
_MinorVer = "17"
_Revision = " 152"
_MinorVer = "18"
_Revision = " 176"
_LanguageID = "1034"
_AutoIncrement = "1"
*</DevInfo>
@@ -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="1143178164" ID="1130644423" ObjRev="544" />
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="1143350514" ID="1130644423" ObjRev="544" />
*</BuildProj>
.ITEM('__newproject.f2b').Remove()

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff