diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index 9ea25c8..f556bf8 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -6075,7 +6075,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg
TRY
- LOCAL lc_TAG_REPORTE, loEx as Exception
+ LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '' + C_TAG_REPORTE + '>'
@@ -6187,7 +6187,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg
TRY
- LOCAL lc_TAG_REPORTE, loEx as Exception
+ LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '' + C_TAG_REPORTE + '>'
@@ -6299,7 +6299,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg
TRY
- LOCAL lc_TAG_REPORTE, loEx as Exception
+ LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '' + C_TAG_REPORTE + '>'
@@ -6411,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), loEx as Exception
+ LOCAL laFields(1,18), loEx AS EXCEPTION
*FOR I = 1 TO AFIELDS(laFields)
* IF INLIST( laFields(I,2), 'M', 'Q', 'V', 'W' )
@@ -6452,7 +6452,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*******************************************************************************************************************
PROCEDURE write_DBF_FIELDS
TRY
- LOCAL I, laFields(1,18), loEx as Exception
+ LOCAL I, laFields(1,18), loEx AS EXCEPTION
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
@@ -6505,7 +6505,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*******************************************************************************************************************
PROCEDURE write_DBF_INDEXES
TRY
- LOCAL I, loEx as Exception
+ LOCAL I, loEx AS EXCEPTION
IF TAGCOUNT() > 0
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
@@ -6548,19 +6548,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*******************************************************************************************************************
PROCEDURE write_DBC_HEADER
TRY
- LOCAL I, lcText, lcDBC, loEx as Exception
+ 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
+ <<>>
<<>> <>
<<>> <>
@@ -6568,6 +6561,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
<<>> <>
<<>> <>
+ <<>>
ENDTEXT
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
@@ -6592,49 +6586,54 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taConnections
TRY
- LOCAL I, lcText, lcDBC, loEx as Exception
+ 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
+ IF tnConnection_Count > 0
+ ASORT( taConnections, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
-
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
-
+ <<>>
+
ENDTEXT
- ENDFOR
- C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ FOR I = 1 TO tnConnection_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
+
+ C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ ENDIF
CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6656,84 +6655,91 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taTables
TRY
- LOCAL I, X, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception
+ 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
+ IF tnTable_Count > 0
+ ASORT( taTables, 1, -1, 0, 1 )
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
+ FOR I = 1 TO tnTable_Count
- IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
- <<>> *-- FIELDS
- <<>>
+ <<>>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
ENDTEXT
- FOR X = 1 TO lnField_Count
+ _TALLY = 0
+ SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
+ INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
+ AND TB2.objectname = 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
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
+ <<>>
+ <<>>
ENDTEXT
- ENDFOR
+
+ 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
- ENDIF
+ ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
-
+
+ <<>>
ENDTEXT
- ENDFOR
- C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ ENDIF
CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count)
- loEx.UserValue = loEx.UserValue + CR_LF + "taTables(" + TRANSFORM(I) + ") = " + RTRIM(taTables(I))
+ 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))
+ loEx.USERVALUE = loEx.USERVALUE + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(X))
ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6758,100 +6764,108 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taViews
TRY
- LOCAL I, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception
+ 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
+ IF tnView_Count > 0
+ ASORT( taViews, 1, -1, 0, 1 )
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
+ FOR I = 1 TO tnView_Count
- IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
- <<>> *-- FIELDS
- <<>>
+ <<>>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
ENDTEXT
- FOR X = 1 TO lnField_Count
+ _TALLY = 0
+ _TALLY = 0
+ SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
+ INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
+ AND TB2.objectname = 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
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
+ <<>>
+ <<>>
ENDTEXT
- ENDFOR
+
+ 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
- ENDIF
+ ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
-
+
+ <<>>
ENDTEXT
- ENDFOR
- C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ ENDIF
CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count)
- loEx.UserValue = loEx.UserValue + CR_LF + "taViews(" + TRANSFORM(I) + ") = " + RTRIM(taViews(I))
+ 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))
+ loEx.USERVALUE = loEx.USERVALUE + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(X))
ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6873,38 +6887,41 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taRelations
TRY
- LOCAL I, lcText, lcDBC, loEx as Exception
+ 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
+ IF tnRelation_Count > 0
+ ASORT( taRelations, 2, -1, 0, 1 )
+ ASORT( taRelations, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
+ <<>>
+
+ ENDTEXT
+ FOR I = 1 TO tnRelation_Count
+ TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
+ <<>>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>> <>
+ <<>>
+ ENDTEXT
+ ENDFOR
- *-----------------------------------------------------------------------------------
- *-- RELATIONS INFO (REF.INTEGRITY: "C"=cascade, "R"=restrict, "I"=ignore)
- *-----------------------------------------------------------------------------------
+ TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
+
<<>>
ENDTEXT
- TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8
-
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>> <>
-
- ENDTEXT
- ENDFOR
-
- C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
+ ENDIF
CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0