From 382431de0b65472ef43b962fea6ecdf04799df5f Mon Sep 17 00:00:00 2001 From: fernando Date: Tue, 10 Dec 2013 18:50:23 +0100 Subject: [PATCH] Changeset: 69 Changeset: 69 Cambios Ofi --- TESTS/DATOS_READONLY/fb2p_dbc.dbc | Bin 8143 -> 6657 bytes TESTS/DATOS_READONLY/fb2p_dbc.dct | Bin 72000 -> 27456 bytes TESTS/DATOS_READONLY/fb2p_dbc.dcx | Bin 4608 -> 5632 bytes TESTS/DATOS_READONLY/fb2p_dbf.fpt | Bin 0 -> 512 bytes TESTS/DATOS_READONLY/fb2p_depto.cdx | Bin 0 -> 3072 bytes TESTS/DATOS_READONLY/fb2p_depto.dbf | Bin 0 -> 360 bytes foxbin2prg.prg | 445 ++++++++++++++++++++++++++-- 7 files changed, 413 insertions(+), 32 deletions(-) create mode 100644 TESTS/DATOS_READONLY/fb2p_dbf.fpt create mode 100644 TESTS/DATOS_READONLY/fb2p_depto.cdx create mode 100644 TESTS/DATOS_READONLY/fb2p_depto.dbf diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dbc b/TESTS/DATOS_READONLY/fb2p_dbc.dbc index 48ab70ebf434e698cc30af7ba02e679e11050fd1..a4601f4c70512d175aabd2238ff605b90de8196c 100644 GIT binary patch delta 776 zcmZvZ%SyvQ6oyTpTI@xeL>sNz)Yw&&D!6y&R(ygmZK4jQX~>Nl#LLn}ko2rXL`4^F zyYT^h0bj*#b>n1Q9uEu*`OcS_|IFv!^=@IiQl4#(3-uCwS7qpwM#39>l-@9QdT?z(k?qjR2RjUh`wq>YA3_jgHO04kHgH z;=s7V{wh0lg{^&RI~JdecWSz%&wiF{Uf}*U)Ni|_>(~~Ii)Wp4EHtqY6DJ})I&h&i z9d9Mr(U8L~)wjce1%f>646)HdhD&3XC?7z6iV*h)b`d4fbjv3t9h93cuJA%Z_(i_1i# zk`T=`NYJBKtJFjy5{*W@c~>CM6q}v*nY?`8&K{T#YM)uz~nC^h+NkzzaIOPw#T%X}{!=iBxB>QgmTVf~u81GX{D zc1)XeB8qHh6uS^bwlYNxQDi%(*o_F;a#s|40RO#$bi%drg=CglMs|#urk!U_B4sec zGM#KXW2KXJs&WNWbj&z(?ZGkUDE1KY^Q3U#+IE*L)eNr4jgg}umf;!``p?J0H1WW#j%SGrJT{8>kCnN{i4Qq?-2T z(ZHJY;Aill^#kAu55}V>{StlxXSbD-0yS|DZzjL@-f!Og-kUxCG<^I6UI74p001n0 z9RCdu)zS8lGOR?Y`dAvIB@DqW;c-_u`aIPF$}~S02wPdckb;_=>ALAUftf!#AUc%MkNYVGS78K8M0f;@CI{Kx;W++38p;G^ zXKA9L_Y-$!2iEVHE6hqXi5}H;nJ}eZB3AxMU^CC9v0OQ+5CB^LJqI7fR*2=3SgXG^ z+K1x{3l}mCR*X4Bvlx{Xvq-5={Hx8fa);Qg)8>(@%8gFlN-7#FPeT}GUYL!WiAr-9 z-yIZWkr3P!%woEy(v9G0xKY~*_QPszcfL!1uOIJLc^*I2q33G!xH=;DTwPDEQRiHS z9BSG53-DyH&f#Zgw(D&4uG4)Ks=;0Rl3D1xsp@jdxT>x7;g>3NI!ZuIWLNj*!ktPr z42qR`9g0`wdK&!_DzrR^4A;-6|V+lm_wv4bnA#-eMVmm~-;1V(l@yUiJ@Pmx}kY~BrMYcs# xID=eDaI1P9emnX(8BPA$ZRf&880B6y<=?OwoxE&Dxp$4W@%9UBpFDpE{{Uc$Wjp`? delta 5343 zcmeHLO-vhC5Pr`;)K22UTX1U1pOJxDAq1-q!4#o7m>4%wlyK@HCoE+1LaKdPhOra?r?Z&3M+_fypV*k-?{s5UcpHAvZ$QhP&i(gwy>!O;icUDArmQfx5^CC=Ompr;ddr=Hs^7O1Z0IQ{>FcK@Dw_LjvANH3*4$??+i-QxYHsw$&%kNiXCLCeUs0R? z|MO?3xk$I`B?u1hgW z9=>YSL!{b+?Fo;b?~tb-8ub*f<%y|l1kP?c6}uE~xvSxHRW+Qpdq5FPb)bEnaiFle zbWI8>16dSym!b!^7`sbx3_v<@CQ$R*Eyg4YCo!OikwuV|;V}Yp2~?zziGe4QmQFI+Gc#w;p39u`ofZT^Z3tk?S6j4+miB-T zIH7KbyQPD?2jc?354OGW$+x`?Ks4GL3ROK z`!>OnZ;UUU`NG?d)sNd$3wZ#6D7OZI8=1v%4eL}j6*7UCv`l5wENK+YE!;{kj#oBR zT%Z$R^4daXawa{O&ZK9?CtAoC2icTRL;X*9BX!}5Li5C3Wko^_LaRsn{^YS40iXv| zKisIBWms5OSoLV%pIkRyD!ZHd`uIV}aj)A0Joj<<=TsyT37i6@lh97U)#Lr8F<5G9 z8xMf;UMe_+T3Znd)MSLIip{f_N>;9#8I8%46_>DK;xI_Kv3IU9?*wb{9|S8yrA6)^m*Th)CItW2wuWl~NjK z(kV3sb^3i=u*(<#w(CR1YRPBqpjw^fxDYRq60OW5GTh(|FU%bsxO z3scifRXL_}u{tdz>;Jm=mXq;*J{$fXs57>yruV>r+y4#xxBqK* zdrcqWJsHr!TbSza|9Rg<{?71lI27^^f}zme*gbe3K7bG5qvU(EnR<41Hu)O8L2uDJ z^f>tneMC=V(c}m8BpFYBMqkiZ^bOrfen&sh7W#>Pq2K5a`ipi~W9;P~n06O)5I8F6 e=wY9WS02Pwfz92k0F{GCF4ELNq5@EjpzsgpS#jS0 delta 334 zcmZqBX;2YhU}1m(W-f*YjGGymUNCO{!KlK-#KX2x@CxJPPpoo+!ay}3><7gE{{R2a zxml6zKC?7CgA@ah2L_Q0|ACVK|8sC~FzYd7PnP2oH!0=etmGA`<`Svl7OCSDsS@I< z<`Ai17p)WJD&yy<77(ix;i}f*sMZjx)Do%D7OB$|shTJlDV&#|n^csVnUb24m{Ocv zlv!Y8F?ly%vuIdmYPkX!lw}r|B*y3DCnx4iPT|j;e4SrQK>%n!6o@cnFoN964#avu z400j!W<`OA%$^7rXENFYrR3$=SXr6$7#f9|M4ClfL|R4Kw9aYIG4j+prF~lajP_aW rcC8cIm$at}@oQbso}#6p^-}wl_G|4olM_XhH!8R@G65a8UDOi*L&0P? diff --git a/TESTS/DATOS_READONLY/fb2p_dbf.fpt b/TESTS/DATOS_READONLY/fb2p_dbf.fpt new file mode 100644 index 0000000000000000000000000000000000000000..601fa8de7616c975fc728b6500d4372f38a49efd GIT binary patch literal 512 VcmZQzVBlb2U~mB9Q7{5S0059E07(D< literal 0 HcmV?d00001 diff --git a/TESTS/DATOS_READONLY/fb2p_depto.cdx b/TESTS/DATOS_READONLY/fb2p_depto.cdx new file mode 100644 index 0000000000000000000000000000000000000000..49e7ef2326cf299b823ecfc97dcfeb6e8e0ad3a2 GIT binary patch literal 3072 zcmZQzVSocJh6jvr&M0G8hX5l3D5^)Jdss&@5uRfPrh)%Z@PP6Ee+CAAegPI1W(KwZ zB6N=`8Nwmp;u;X*&%lN70T)BgXn}wTj$zGWW8en*kBuQEwV)&)LfYCX87K{FPmg*I XBLtX%BCzuR1#kAUIEDZK%S0Zt literal 0 HcmV?d00001 diff --git a/TESTS/DATOS_READONLY/fb2p_depto.dbf b/TESTS/DATOS_READONLY/fb2p_depto.dbf new file mode 100644 index 0000000000000000000000000000000000000000..d946bdf45e25d735f7e1caa5912309ffb2fd16df GIT binary patch literal 360 zcmXru<>6!if(%Am5QPF5nHd;dTmwSQJ{0pY(1rvLx| literal 0 HcmV?d00001 diff --git a/foxbin2prg.prg b/foxbin2prg.prg index cbf644f..9ea25c8 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -981,7 +981,7 @@ DEFINE CLASS c_conversor_base AS SESSION ******************************************************************************************************************* PROCEDURE doBackup LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3 - + TRY LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3 STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3 @@ -5064,6 +5064,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base + [] ; + [] ; + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -6067,7 +6075,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LPARAMETERS toReg TRY - LOCAL lc_TAG_REPORTE + LOCAL lc_TAG_REPORTE, loEx as Exception lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = '' @@ -6179,7 +6187,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LPARAMETERS toReg TRY - LOCAL lc_TAG_REPORTE + LOCAL lc_TAG_REPORTE, loEx as Exception lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = '' @@ -6291,7 +6299,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base LPARAMETERS toReg TRY - LOCAL lc_TAG_REPORTE + LOCAL lc_TAG_REPORTE, loEx as Exception lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_F = '' @@ -6403,7 +6411,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base PROCEDURE write_DBF_HEADER LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name TRY - LOCAL laFields(1,18) + LOCAL laFields(1,18), loEx as Exception *FOR I = 1 TO AFIELDS(laFields) * IF INLIST( laFields(I,2), 'M', 'Q', 'V', 'W' ) @@ -6444,7 +6452,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ******************************************************************************************************************* PROCEDURE write_DBF_FIELDS TRY - LOCAL I, laFields(1,18) + LOCAL I, laFields(1,18), loEx as Exception TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -6497,7 +6505,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ******************************************************************************************************************* PROCEDURE write_DBF_INDEXES TRY - LOCAL I + LOCAL I, loEx as Exception IF TAGCOUNT() > 0 TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -6537,6 +6545,380 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base ENDPROC + ******************************************************************************************************************* + PROCEDURE write_DBC_HEADER + TRY + LOCAL I, lcText, lcDBC, loEx as Exception + lcText = '' + lcDBC = JUSTSTEM(DBC()) + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + + *----------------------------------------------------------------------------------- + *-- DATABASE INFO + *----------------------------------------------------------------------------------- + ENDTEXT + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + + ENDTEXT + + C_FB2PRG_CODE = C_FB2PRG_CODE + lcText + + CATCH TO loEx + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + THROW + + ENDTRY + + RETURN + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE write_DBC_CONNECTIONS + LPARAMETERS taConnections, tnConnection_Count + + EXTERNAL ARRAY taConnections + + TRY + LOCAL I, lcText, lcDBC, loEx as Exception + lcText = '' + lcDBC = JUSTSTEM(DBC()) + + DIMENSION taConnections(1) + tnConnection_Count = ADBOBJECTS( taConnections,"CONNECTION" ) + ASORT( taConnections, 1, -1, 0, 1 ) + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + + *----------------------------------------------------------------------------------- + *-- CONNECTIONS INFO + *----------------------------------------------------------------------------------- + ENDTEXT + + FOR I = 1 TO tnConnection_Count + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + + ENDTEXT + ENDFOR + + C_FB2PRG_CODE = C_FB2PRG_CODE + lcText + + CATCH TO loEx + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + THROW + + ENDTRY + + RETURN + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE write_DBC_TABLES + LPARAMETERS taTables, tnTable_Count + + EXTERNAL ARRAY taTables + + TRY + LOCAL I, X, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception + STORE 0 TO I, X, tnTable_Count, lnField_Count + lcText = '' + lcDBC = JUSTSTEM(DBC()) + + DIMENSION taTables(1) + tnTable_Count = ADBOBJECTS( taTables,"TABLE" ) + ASORT( taTables, 1, -1, 0, 1 ) + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + + *----------------------------------------------------------------------------------- + *-- TABLES INFO + *----------------------------------------------------------------------------------- + ENDTEXT + + FOR I = 1 TO tnTable_Count + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + ENDTEXT + + _TALLY = 0 + SELECT LOWER(TB.objectname) FROM TABLABIN TB ; + INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+PADR('Table',10) = STR(TB2.objectid)+TB2.objecttype ; + WHERE STR(TB2.parentid)+TB2.objecttype+TB2.objectname = STR(1)+PADR('Table',10)+PADR(LOWER(taTables(I)),128) ; + INTO ARRAY laFields + lnField_Count = _TALLY + + IF lnField_Count > 0 + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> *-- FIELDS + <<>> + ENDTEXT + + FOR X = 1 TO lnField_Count + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> <> + <<>> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + ENDTEXT + ENDFOR + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> + ENDTEXT + ENDIF + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 +
<>
+ ENDTEXT + ENDFOR + + C_FB2PRG_CODE = C_FB2PRG_CODE + lcText + + CATCH TO loEx + IF BETWEEN(I, 1, tnTable_Count) + loEx.UserValue = loEx.UserValue + CR_LF + "taTables(" + TRANSFORM(I) + ") = " + RTRIM(taTables(I)) + ENDIF + IF BETWEEN(X, 1, lnField_Count) + loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I)) + ENDIF + + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + THROW + + FINALLY + USE IN (SELECT("TB")) + USE IN (SELECT("TB2")) + ENDTRY + + RETURN + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE write_DBC_VIEWS + LPARAMETERS taViews, tnView_Count + + EXTERNAL ARRAY taViews + + TRY + LOCAL I, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception + STORE 0 TO I, X, tnView_Count, lnField_Count + lcText = '' + lcDBC = JUSTSTEM(DBC()) + + DIMENSION taViews(1) + tnView_Count = ADBOBJECTS( taViews,"VIEW" ) + ASORT( taViews, 1, -1, 0, 1 ) + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + + *----------------------------------------------------------------------------------- + *-- VIEWS INFO + *----------------------------------------------------------------------------------- + ENDTEXT + + FOR I = 1 TO tnView_Count + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + ENDTEXT + + _TALLY = 0 + SELECT LOWER(TB.objectname) FROM TABLABIN TB ; + INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+PADR('View',10) = STR(TB2.objectid)+TB2.objecttype ; + WHERE STR(TB2.parentid)+TB2.objecttype+TB2.objectname = STR(1)+PADR('View',10)+PADR(LOWER(taViews(I)),128) ; + INTO ARRAY laFields + lnField_Count = _TALLY + + IF lnField_Count > 0 + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> *-- FIELDS + <<>> + ENDTEXT + + FOR X = 1 TO lnField_Count + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + ENDTEXT + ENDFOR + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <<>> + ENDTEXT + ENDIF + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + ENDTEXT + ENDFOR + + C_FB2PRG_CODE = C_FB2PRG_CODE + lcText + + CATCH TO loEx + IF BETWEEN(I, 1, tnTable_Count) + loEx.UserValue = loEx.UserValue + CR_LF + "taViews(" + TRANSFORM(I) + ") = " + RTRIM(taViews(I)) + ENDIF + IF BETWEEN(X, 1, lnField_Count) + loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I)) + ENDIF + + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + THROW + + ENDTRY + + RETURN + ENDPROC + + + ******************************************************************************************************************* + PROCEDURE write_DBC_RELATIONS + LPARAMETERS taRelations, tnRelation_Count + + EXTERNAL ARRAY taRelations + + TRY + LOCAL I, lcText, lcDBC, loEx as Exception + lcText = '' + lcDBC = JUSTSTEM(DBC()) + + DIMENSION taRelations(1,5) + tnRelation_Count = ADBOBJECTS( taRelations,"RELATION" ) + ASORT( taRelations, 2, -1, 0, 1 ) + ASORT( taRelations, 1, -1, 0, 1 ) + + FOR I = 1 TO tnRelation_Count + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + + + *----------------------------------------------------------------------------------- + *-- RELATIONS INFO (REF.INTEGRITY: "C"=cascade, "R"=restrict, "I"=ignore) + *----------------------------------------------------------------------------------- + <<>> + ENDTEXT + + TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8 + + <<>> <> + <<>> <> + <<>> <> + <<>> <> + <<>> <> + + ENDTEXT + ENDFOR + + C_FB2PRG_CODE = C_FB2PRG_CODE + lcText + + CATCH TO loEx + IF THIS.l_Debug AND _VFP.STARTMODE = 0 + SET STEP ON + ENDIF + + THROW + + ENDTRY + + RETURN + ENDPROC + + ******************************************************************************************************************* PROCEDURE write_DefinicionObjetosOLE *-- Crea la definición del tag *< OLE: /> con la información de todos los objetos OLE @@ -7408,15 +7790,6 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg *-- Indexes THIS.write_DBF_INDEXES() - USE IN (SELECT("TABLABIN")) - - FOR I = 1 TO ADATABASES(laDatabases2) - IF ASCAN( laDatabases, laDatabases2(I) ) = 0 - SET DATABASE TO (laDatabases2(I)) - CLOSE DATABASES - EXIT - ENDIF - ENDFOR *-- Genero el DB2 IF THIS.l_Test @@ -7438,6 +7811,15 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg FINALLY USE IN (SELECT("TABLABIN")) + *-- Cierro DBC + FOR I = 1 TO ADATABASES(laDatabases2) + IF ASCAN( laDatabases, laDatabases2(I) ) = 0 + SET DATABASE TO (laDatabases2(I)) + CLOSE DATABASES + EXIT + ENDIF + ENDFOR + ENDTRY RETURN @@ -7468,29 +7850,27 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg lnDatabases_Count = ADATABASES(laDatabases) THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name ) USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN + OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE THIS.write_PROGRAM_HEADER() *-- Header - THIS.write_DBF_HEADER( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name ) + THIS.write_DBC_HEADER() - *-- Fields - THIS.write_DBF_FIELDS() + *-- Connections + THIS.write_DBC_CONNECTIONS() - *-- Indexes - THIS.write_DBF_INDEXES() + *-- Tables + THIS.write_DBC_TABLES() - USE IN (SELECT("TABLABIN")) + *-- Views + THIS.write_DBC_VIEWS() - FOR I = 1 TO ADATABASES(laDatabases2) - IF ASCAN( laDatabases, laDatabases2(I) ) = 0 - SET DATABASE TO (laDatabases2(I)) - CLOSE DATABASES - EXIT - ENDIF - ENDFOR + *-- Relations + THIS.write_DBC_RELATIONS() - *-- Genero el DB2 + + *-- Genero el DC2 IF THIS.l_Test toModulo = C_FB2PRG_CODE ELSE @@ -7509,6 +7889,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg FINALLY USE IN (SELECT("TABLABIN")) + CLOSE DATABASES ENDTRY @@ -8088,8 +8469,8 @@ DEFINE CLASS CL_PROJECT AS COLLECTION ENDIF &lcAsignacion. ENDPROC - - + + ************************************************************************************************ PROCEDURE parseNullTerminatedValue LPARAMETERS tcDevInfo, tnPos, tnLen