FoxBin2Prg v1.19.47
- Allow importing DBF Data (Walter Nicholls)
This commit is contained in:
@@ -3,7 +3,7 @@ Lparameters toUpdateInfo
|
|||||||
Local lcNote
|
Local lcNote
|
||||||
With toUpdateInfo
|
With toUpdateInfo
|
||||||
.VersionNumber = 'v1.19.47'
|
.VersionNumber = 'v1.19.47'
|
||||||
.VersionDate = Date(2016,05,24)
|
.VersionDate = Date(2016,05,28)
|
||||||
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
|
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
|
||||||
|
|
||||||
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
|
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
|
||||||
@@ -17,13 +17,14 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
|
|||||||
|
|
||||||
Change History -------------------------------------------------------------
|
Change History -------------------------------------------------------------
|
||||||
|
|
||||||
2016/05/24 v1.19.47
|
2016/05/28 v1.19.47
|
||||||
- Bug Fix: When a filename "*" is specified with a type "*", an automatic regeneration of all binary files is made from text files (Alejandro Sosa)
|
- Bug Fix: When a filename "*" is specified with a type "*", an automatic regeneration of all binary files is made from text files (Alejandro Sosa)
|
||||||
- BugFix: Added variable declaration (Doug Hennig)
|
- BugFix: Added variable declaration (Doug Hennig)
|
||||||
- BugFix: Fixed incorrectly named variable (Doug Hennig)
|
- BugFix: Fixed incorrectly named variable (Doug Hennig)
|
||||||
- BugFix: Added missing assignment (Doug Hennig)
|
- BugFix: Added missing assignment (Doug Hennig)
|
||||||
- Enhancement: Put double quotes around path in case in contains single quote (Doug Hennig)
|
- Enhancement: Put double quotes around path in case in contains single quote (Doug Hennig)
|
||||||
- BugFix: Added "+16" to Debug flags to maintain internal defaults to not generate timestamps on xx2 files
|
- BugFix: Added "+16" to Debug flags to maintain internal defaults to not generate timestamps on xx2 files
|
||||||
|
- Feature: Added support for appending data from DB2 to DBF with the new value DBF_Conversion_Support=8. All datatypes except General. (Walter Nicholls)
|
||||||
|
|
||||||
2016/02/06 v1.19.46
|
2016/02/06 v1.19.46
|
||||||
- Bug Fix: set_UserValue() method causes error when trying to get information about another error and the VFP binary table can not be opened (ie, because corrupted memo)
|
- Bug Fix: set_UserValue() method causes error when trying to get information about another error and the VFP binary table can not be opened (ie, because corrupted memo)
|
||||||
|
|||||||
Binary file not shown.
@@ -8,7 +8,7 @@
|
|||||||
<TABLE>
|
<TABLE>
|
||||||
<MemoFile></MemoFile>
|
<MemoFile></MemoFile>
|
||||||
<CodePage>1252</CodePage>
|
<CodePage>1252</CodePage>
|
||||||
<LastUpdate>2013/12/12</LastUpdate>
|
<LastUpdate></LastUpdate>
|
||||||
<Database></Database>
|
<Database></Database>
|
||||||
<FileType>0x00000032</FileType>
|
<FileType>0x00000032</FileType>
|
||||||
<FileType_Descrip>Visual FoxPro, Varchar, Varbinary, or Blob-enabled</FileType_Descrip>
|
<FileType_Descrip>Visual FoxPro, Varchar, Varbinary, or Blob-enabled</FileType_Descrip>
|
||||||
@@ -371,7 +371,7 @@
|
|||||||
<Upd_Trig_Exp></Upd_Trig_Exp>
|
<Upd_Trig_Exp></Upd_Trig_Exp>
|
||||||
<Del_Trig_Exp></Del_Trig_Exp>
|
<Del_Trig_Exp></Del_Trig_Exp>
|
||||||
<TableComment></TableComment>
|
<TableComment></TableComment>
|
||||||
<Autoinc_Nextval>30</Autoinc_Nextval>
|
<Autoinc_Nextval>50</Autoinc_Nextval>
|
||||||
<Autoinc_Step>5</Autoinc_Step>
|
<Autoinc_Step>5</Autoinc_Step>
|
||||||
</FIELD>
|
</FIELD>
|
||||||
</FIELDS>
|
</FIELDS>
|
||||||
@@ -381,12 +381,12 @@
|
|||||||
|
|
||||||
<INDEXES>
|
<INDEXES>
|
||||||
<INDEX>
|
<INDEX>
|
||||||
<TagName>LOGICO</TagName>
|
<TagName>CARACTER</TagName>
|
||||||
<TagType>BINARY</TagType>
|
<TagType>CANDIDATE</TagType>
|
||||||
<Key>LOGICO</Key>
|
<Key>CARACTER</Key>
|
||||||
<Filter></Filter>
|
<Filter>.NOT.EMPTY(caracter)</Filter>
|
||||||
<Order>ASCENDING</Order>
|
<Order>ASCENDING</Order>
|
||||||
<Collate>MACHINE</Collate>
|
<Collate>GENERAL</Collate>
|
||||||
</INDEX>
|
</INDEX>
|
||||||
<INDEX>
|
<INDEX>
|
||||||
<TagName>ENTERO</TagName>
|
<TagName>ENTERO</TagName>
|
||||||
@@ -397,13 +397,93 @@
|
|||||||
<Collate>MACHINE</Collate>
|
<Collate>MACHINE</Collate>
|
||||||
</INDEX>
|
</INDEX>
|
||||||
<INDEX>
|
<INDEX>
|
||||||
<TagName>CARACTER</TagName>
|
<TagName>LOGICO</TagName>
|
||||||
<TagType>CANDIDATE</TagType>
|
<TagType>BINARY</TagType>
|
||||||
<Key>CARACTER</Key>
|
<Key>LOGICO</Key>
|
||||||
<Filter>.NOT.EMPTY(caracter)</Filter>
|
<Filter></Filter>
|
||||||
<Order>ASCENDING</Order>
|
<Order>ASCENDING</Order>
|
||||||
<Collate>GENERAL</Collate>
|
<Collate>MACHINE</Collate>
|
||||||
</INDEX>
|
</INDEX>
|
||||||
</INDEXES>
|
</INDEXES>
|
||||||
|
|
||||||
|
|
||||||
|
<RECORDS>
|
||||||
|
<RECORD num="4">
|
||||||
|
<CARACTER></CARACTER>
|
||||||
|
<FECHA>/ / </FECHA>
|
||||||
|
<FECHORA>/ / : : </FECHORA>
|
||||||
|
<LOGICO>.F.</LOGICO>
|
||||||
|
<DOBLE>0.00000</DOBLE>
|
||||||
|
<FLOTANTE>0.000000</FLOTANTE>
|
||||||
|
<NUMERICO>0.000</NUMERICO>
|
||||||
|
<BLOB></BLOB>
|
||||||
|
<MONEDA>0.0000</MONEDA>
|
||||||
|
<ENTERO>0</ENTERO>
|
||||||
|
<NOTAS></NOTAS>
|
||||||
|
<VAR_BINARY></VAR_BINARY>
|
||||||
|
<VAR_CHAR></VAR_CHAR>
|
||||||
|
<NOTASBIN></NOTASBIN>
|
||||||
|
<CARC_BIN>ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg</CARC_BIN>
|
||||||
|
<VARCHARBIN></VARCHARBIN>
|
||||||
|
<ID_AUTOINC>45</ID_AUTOINC>
|
||||||
|
</RECORD>
|
||||||
|
<RECORD num="2">
|
||||||
|
<CARACTER>axaxaxaxaXAXA</CARACTER>
|
||||||
|
<FECHA>1969/11/26</FECHA>
|
||||||
|
<FECHORA>1969/11/26 22:10:06</FECHORA>
|
||||||
|
<LOGICO>.T.</LOGICO>
|
||||||
|
<DOBLE>123.45676</DOBLE>
|
||||||
|
<FLOTANTE>123.456786</FLOTANTE>
|
||||||
|
<NUMERICO>123.456</NUMERICO>
|
||||||
|
<BLOB>NgAuAEUAcwB0AGEAIABlAHMAIAB1AG4AYQAgAGYAcgBhAHMAZQAgAGMAbwBkAGkAZgBpAGMAYQBkAGEAIABlAG4AIABoAGUAeABhACAAeQAgAGMAbwBuACAAYwBhAHIAYQBjAHQAZQByAGUAcwAgAGUAcwBwAGUAYwBpAGEAbABlAHMALgAgAOEA6QDtAPMA+gDBAMkAzQDTANoAxADLAM8A1gDcAOQA6wDvAPYA/ADgAOgA7ADyAPkA8QDRAMcA5wBeAA==</BLOB>
|
||||||
|
<MONEDA>12345.6786</MONEDA>
|
||||||
|
<ENTERO>1234567896</ENTERO>
|
||||||
|
<NOTAS>6.notas TXT. áéíóúÄËÏÖÜÑñäëïöü. ^FinÇç</NOTAS>
|
||||||
|
<VAR_BINARY>Ni5GcmFzZSBVVEYtOC4gw6HDqcOtw7PDusOEw4vDj8OWw5w=</VAR_BINARY>
|
||||||
|
<VAR_CHAR>var char 6.áéíóúÜÑ</VAR_CHAR>
|
||||||
|
<NOTASBIN>yQBzAHQAYQAgAGUAcwAgAGwAYQAgAHMAZQDxAGEAbAAhAA==</NOTASBIN>
|
||||||
|
<CARC_BIN>Q2hhckJpbi02LsOhw6nDrcOzw7rDnMORICAgICAg</CARC_BIN>
|
||||||
|
<VARCHARBIN>VkNoYXJCaW4tNi7DocOpw63Ds8O6w5zDkQ==</VARCHARBIN>
|
||||||
|
<ID_AUTOINC>35</ID_AUTOINC>
|
||||||
|
</RECORD>
|
||||||
|
<RECORD num="1">
|
||||||
|
<CARACTER>lalal.áéíóúÜÑ</CARACTER>
|
||||||
|
<FECHA>1969/11/27</FECHA>
|
||||||
|
<FECHORA>1969/11/27 22:10:07</FECHORA>
|
||||||
|
<LOGICO>.T.</LOGICO>
|
||||||
|
<DOBLE>123.45677</DOBLE>
|
||||||
|
<FLOTANTE>123.456787</FLOTANTE>
|
||||||
|
<NUMERICO>123.457</NUMERICO>
|
||||||
|
<BLOB>NwAuAEUAcwB0AGEAIABlAHMAIAB1AG4AYQAgAGYAcgBhAHMAZQAgAGMAbwBkAGkAZgBpAGMAYQBkAGEAIABlAG4AIABoAGUAeABhACAAeQAgAGMAbwBuACAAYwBhAHIAYQBjAHQAZQByAGUAcwAgAGUAcwBwAGUAYwBpAGEAbABlAHMALgAgAOEA6QDtAPMA+gDBAMkAzQDTANoAxADLAM8A1gDcAOQA6wDvAPYA/ADgAOgA7ADyAPkA8QDRAMcA5wBeAA==</BLOB>
|
||||||
|
<MONEDA>12345.6787</MONEDA>
|
||||||
|
<ENTERO>1234567897</ENTERO>
|
||||||
|
<NOTAS>7.notas TXT. áéíóúÄËÏÖÜÑñäëïöü. ^FinÇç</NOTAS>
|
||||||
|
<VAR_BINARY>Ny5GcmFzZSBVVEYtOC4gw6HDqcOtw7PDusOEw4vDj8OWw5w=</VAR_BINARY>
|
||||||
|
<VAR_CHAR>var char 7.áéíóúÜÑ</VAR_CHAR>
|
||||||
|
<NOTASBIN>yQB4AGkAdABvAHMAIADaAG4AaQBjAG8AcwAhACAAOgApAA==</NOTASBIN>
|
||||||
|
<CARC_BIN>Q2hhckJpbi03LsOhw6nDrcOzw7rDnMORICAgICAg</CARC_BIN>
|
||||||
|
<VARCHARBIN>VkNoYXJCaW4tNy7DocOpw63Ds8O6w5zDkQ==</VARCHARBIN>
|
||||||
|
<ID_AUTOINC>30</ID_AUTOINC>
|
||||||
|
</RECORD>
|
||||||
|
<RECORD num="3">
|
||||||
|
<CARACTER>pepepepepEPE</CARACTER>
|
||||||
|
<FECHA>1969/11/25</FECHA>
|
||||||
|
<FECHORA>1969/11/25 22:10:05</FECHORA>
|
||||||
|
<LOGICO>.T.</LOGICO>
|
||||||
|
<DOBLE>123.45675</DOBLE>
|
||||||
|
<FLOTANTE>123.456785</FLOTANTE>
|
||||||
|
<NUMERICO>123.455</NUMERICO>
|
||||||
|
<BLOB>NQAuAEUAcwB0AGEAIABlAHMAIAB1AG4AYQAgAGYAcgBhAHMAZQAgAGMAbwBkAGkAZgBpAGMAYQBkAGEAIABlAG4AIABoAGUAeABhACAAeQAgAGMAbwBuACAAYwBhAHIAYQBjAHQAZQByAGUAcwAgAGUAcwBwAGUAYwBpAGEAbABlAHMALgAgAOEA6QDtAPMA+gDBAMkAzQDTANoAxADLAM8A1gDcAOQA6wDvAPYA/ADgAOgA7ADyAPkA8QDRAMcA5wBeAA==</BLOB>
|
||||||
|
<MONEDA>12345.6785</MONEDA>
|
||||||
|
<ENTERO>1234567895</ENTERO>
|
||||||
|
<NOTAS>5.notas TXT. áéíóúÄËÏÖÜÑñäëïöü. ^FinÇç</NOTAS>
|
||||||
|
<VAR_BINARY>NS5GcmFzZSBVVEYtOC4gw6HDqcOtw7PDusOEw4vDj8OWw5w=</VAR_BINARY>
|
||||||
|
<VAR_CHAR>var char 5.áéíóúÜÑ</VAR_CHAR>
|
||||||
|
<NOTASBIN>yQBzAHQAYQAgAGUAcwAgAGwAYQAgAHMAZQDxAGEAbAAhAA==</NOTASBIN>
|
||||||
|
<CARC_BIN>Q2hhckJpbi01LsOhw6nDrcOzw7rDnMORICAgICAg</CARC_BIN>
|
||||||
|
<VARCHARBIN>VkNoYXJCaW4tNS7DocOpw63Ds8O6w5zDkQ==</VARCHARBIN>
|
||||||
|
<ID_AUTOINC>40</ID_AUTOINC>
|
||||||
|
</RECORD>
|
||||||
|
</RECORDS>
|
||||||
|
|
||||||
</TABLE>
|
</TABLE>
|
||||||
Binary file not shown.
3
TESTS/DATOS_READONLY/fb2p_free.dbf.cfg
Normal file
3
TESTS/DATOS_READONLY/fb2p_free.dbf.cfg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
DBF_Conversion_Support: 8
|
||||||
|
DBF_Conversion_Order: caracter
|
||||||
|
DBF_Conversion_Condition: .T.
|
||||||
Binary file not shown.
@@ -286,9 +286,16 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
this.assertequals( lnFields_OUT, lnFields_IN, '[Cantidad de campos IN y OUT]' )
|
this.assertequals( lnFields_OUT, lnFields_IN, '[Cantidad de campos IN y OUT]' )
|
||||||
|
|
||||||
FOR I = 1 TO lnFields_IN
|
FOR I = 1 TO lnFields_IN
|
||||||
FOR X = 1 TO 18
|
IF laCampos_IN(I,18) > 0 && Autoinc_Step
|
||||||
THIS.assertequals( laCampos_IN(I,X), laCampos_OUT(I,X), '[Comparando estructura del campo ' + laCampos_IN(I,1) + ']' )
|
*-- Para los campos AutoInc solo se comparan los primeros 4 datos de estructura
|
||||||
ENDFOR
|
FOR X = 1 TO 4
|
||||||
|
THIS.assertequals( laCampos_IN(I,X), laCampos_OUT(I,X), '[Comparando estructura del campo ' + laCampos_IN(I,1) + ']' )
|
||||||
|
ENDFOR
|
||||||
|
ELSE
|
||||||
|
FOR X = 1 TO 18
|
||||||
|
THIS.assertequals( laCampos_IN(I,X), laCampos_OUT(I,X), '[Comparando estructura del campo ' + laCampos_IN(I,1) + ']' )
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
****************************************************************************************************
|
****************************************************************************************************
|
||||||
* FOXBIN2PRG v1.19.43
|
* FOXBIN2PRG v1.19.47
|
||||||
* CONFIGURATION FILE / ARCHIVO DE CONFIGURACI<43>N
|
* CONFIGURATION FILE / ARCHIVO DE CONFIGURACI<43>N
|
||||||
****************************************************************************************************
|
****************************************************************************************************
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
* LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
* LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||||
* MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
* MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||||
* DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
* DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||||
* DBF_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge), 4=Generate TXT with DATA for DIFF (No Bidirectional!)
|
* DBF_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data)
|
||||||
* >>DBF_Conversion_Support NOTE: >> EN: FoxBin2Prg support bi-directional convertion of DBFs, but does not keep data. Use with care.
|
* >>DBF_Conversion_Support NOTE: >> EN: FoxBin2Prg support bi-directional convertion of DBFs, but does not keep data. Use with care.
|
||||||
* >> ES: FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado.
|
* >> ES: FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado.
|
||||||
* DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf / Si DBF_Conversion_Support:4, se pueden indicar m<>ltiples m<>scaras de archivo: www,fb2p_free.dbf
|
* DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf / Si DBF_Conversion_Support:4, se pueden indicar m<>ltiples m<>scaras de archivo: www,fb2p_free.dbf
|
||||||
|
|||||||
BIN
foxbin2prg.exe
BIN
foxbin2prg.exe
Binary file not shown.
853
foxbin2prg.prg
853
foxbin2prg.prg
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user