From a176614e2629eb0a018842812b94954f16a3309c Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Mon, 30 Mar 2015 21:16:34 +0200 Subject: [PATCH] - Mejoras en ordenamientos de miembros del DBC --- foxbin2prg.exe | Bin 561442 -> 561665 bytes foxbin2prg.prg | 47 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 75fc0bb62b404090bd91ffd9111de20360d8f8ee..5b6f27178f8db887c018543a6fdacfbf934ec73a 100644 GIT binary patch delta 10715 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 OJp6k$zF7<7HTplOc*A`F delta 10475 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 W&;#8a1KfNmlU-h}1{lJItMq@EBUrxx diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 0743cae..5430b52 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -14819,7 +14819,8 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg .write_EXTERNAL_MEMBER_HEADER( @toFoxBin2Prg, .F., .F., @lcExternalHeader ) *-- Connections - FOR EACH loConnection IN toDatabase._Connections FOXOBJECT + toDatabase._Connections.KeySort=2 + FOR EACH loConnection IN toDatabase._Connections &&FOXOBJECT lnClassCount = lnClassCount + 1 DIMENSION laClasses(lnClassCount,3) laClasses(lnClassCount,1) = LOWER( loConnection._Name ) @@ -14829,7 +14830,8 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg ENDFOR *-- Tables - FOR EACH loTable IN toDatabase._Tables FOXOBJECT + toDatabase._Tables.KeySort=2 + FOR EACH loTable IN toDatabase._Tables &&FOXOBJECT lnClassCount = lnClassCount + 1 DIMENSION laClasses(lnClassCount,3) laClasses(lnClassCount,1) = LOWER( loTable._Name ) @@ -14839,7 +14841,8 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg ENDFOR *-- Views - FOR EACH loView IN toDatabase._Views FOXOBJECT + toDatabase._Views.KeySort=2 + FOR EACH loView IN toDatabase._Views &&FOXOBJECT lnClassCount = lnClassCount + 1 DIMENSION laClasses(lnClassCount,3) laClasses(lnClassCount,1) = LOWER( loView._Name ) @@ -17054,7 +17057,8 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE loConnections = ._Connections loConnections.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) - FOR EACH loConnection IN loConnections FOXOBJECT + loConnections.KeySort=2 + FOR EACH loConnection IN loConnections &&FOXOBJECT .add_DBCMember('connection.' + loConnection._Name) ENDFOR @@ -17062,7 +17066,8 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE loTables = ._Tables loTables.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) - FOR EACH loTable IN loTables FOXOBJECT + loTables.KeySort=2 + FOR EACH loTable IN loTables &&FOXOBJECT .add_DBCMember('table.' + loTable._Name) ENDFOR @@ -17070,7 +17075,8 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE loViews = ._Views loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) - FOR EACH loView IN loViews FOXOBJECT + loViews.KeySort=2 + FOR EACH loView IN loViews &&FOXOBJECT .add_DBCMember('view.' + loView._Name) ENDFOR @@ -20122,7 +20128,17 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE loRelation = NULL loRelation = CREATEOBJECT("CL_DBC_RELATION") loRelation.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines ) - .ADD( loRelation, loRelation._ChildTable + '.' + loRelation._ChildIndex + '=>' + loRelation._ParentTable + '.' + loRelation._ParentIndex ) + + TRY + *-- Renombro la relación con un nombre más útil + *loRelation._Name = loRelation._ParentTable + '.' + loRelation._ParentIndex ; + + '->' + loRelation._ChildTable + '.' + loRelation._ChildIndex ; + + ':' + loRelation._RefIntegrity ; + + '.' + loRelation._Name + '' + .ADD( loRelation, loRelation._Name ) + CATCH TO loEx WHEN loEx.ERRORNO = 2062 && The specified Key already exists. + *-- Saltear este error, porque implica que la relación está duplicada + ENDTRY OTHERWISE && Otro valor *-- No hay otros valores @@ -20177,6 +20193,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE <<>> ENDTEXT + .KeySort=2 && Comentar para forzar modo LEGACY FOR EACH loRelation IN THIS &&FOXOBJECT lcText = lcText + loRelation.toText() ENDFOR @@ -20229,14 +20246,26 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE lnRelation_Count = ADBOBJECTS( laRelations, "RELATION" ) IF lnRelation_Count > 0 - ASORT( laRelations, 2, -1, 0, 1 ) + *-- Ordenamiento: Comentar los ASORT para el orden original + ASORT( laRelations, 3, -1, 0, 1 ) ASORT( laRelations, 1, -1, 0, 1 ) + ASORT( laRelations, 4, -1, 0, 1 ) + ASORT( laRelations, 2, -1, 0, 1 ) FOR I = 1 TO lnRelation_Count IF laRelations(I,1) == UPPER( RTRIM( tcTable ) ) loRelation = CREATEOBJECT('CL_DBC_RELATION') loRelation.read_BinDataToProperties( @laRelations, I ) - .ADD( loRelation, loRelation._Name ) + *-- Renombro la relación con un nombre más útil + *loRelation._Name = loRelation._ParentTable + '.' + loRelation._ParentIndex ; + + '->' + loRelation._ChildTable + '.' + loRelation._ChildIndex ; + + ':' + loRelation._RefIntegrity + + TRY + .ADD( loRelation, loRelation._Name ) + CATCH TO loEx WHEN loEx.ERRORNO = 2062 && The specified Key already exists. + *-- Saltear este error, porque implica que la relación está duplicada + ENDTRY ENDIF ENDFOR