Changeset: 70 Changeset: 70 Cambios Ofi para DBC a texto
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_dbf.fpt
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_dbf.fpt
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_depto.cdx
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_depto.cdx
Normal file
Binary file not shown.
BIN
TESTS/DATOS_READONLY/fb2p_depto.dbf
Normal file
BIN
TESTS/DATOS_READONLY/fb2p_depto.dbf
Normal file
Binary file not shown.
439
foxbin2prg.prg
439
foxbin2prg.prg
@@ -5064,6 +5064,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
+ [<memberdata name="write_class_methods" type="method" display="write_CLASS_METHODS"/>] ;
|
+ [<memberdata name="write_class_methods" type="method" display="write_CLASS_METHODS"/>] ;
|
||||||
+ [<memberdata name="write_class_properties" type="method" display="write_CLASS_PROPERTIES"/>] ;
|
+ [<memberdata name="write_class_properties" type="method" display="write_CLASS_PROPERTIES"/>] ;
|
||||||
+ [<memberdata name="write_dataenvironment_reporte" type="method" display="write_DATAENVIRONMENT_REPORTE"/>] ;
|
+ [<memberdata name="write_dataenvironment_reporte" type="method" display="write_DATAENVIRONMENT_REPORTE"/>] ;
|
||||||
|
+ [<memberdata name="write_dbc_header" type="method" display="write_DBC_HEADER"/>] ;
|
||||||
|
+ [<memberdata name="write_dbc_connections" type="method" display="write_DBC_CONNECTIONS"/>] ;
|
||||||
|
+ [<memberdata name="write_dbc_tables" type="method" display="write_DBC_TABLES"/>] ;
|
||||||
|
+ [<memberdata name="write_dbc_views" type="method" display="write_DBC_VIEWS"/>] ;
|
||||||
|
+ [<memberdata name="write_dbc_relations" type="method" display="write_DBC_RELATIONS"/>] ;
|
||||||
|
+ [<memberdata name="write_dbf_header" type="method" display="write_DBF_HEADER"/>] ;
|
||||||
|
+ [<memberdata name="write_dbf_fields" type="method" display="write_DBF_FIELDS"/>] ;
|
||||||
|
+ [<memberdata name="write_dbf_indexes" type="method" display="write_DBF_INDEXES"/>] ;
|
||||||
+ [<memberdata name="write_detalle_reporte" type="method" display="write_DETALLE_REPORTE"/>] ;
|
+ [<memberdata name="write_detalle_reporte" type="method" display="write_DETALLE_REPORTE"/>] ;
|
||||||
+ [<memberdata name="write_defined_pam" type="method" display="write_DEFINED_PAM"/>] ;
|
+ [<memberdata name="write_defined_pam" type="method" display="write_DEFINED_PAM"/>] ;
|
||||||
+ [<memberdata name="write_define_class" type="method" display="write_DEFINE_CLASS"/>] ;
|
+ [<memberdata name="write_define_class" type="method" display="write_DEFINE_CLASS"/>] ;
|
||||||
@@ -6067,7 +6075,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LPARAMETERS toReg
|
LPARAMETERS toReg
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lc_TAG_REPORTE
|
LOCAL lc_TAG_REPORTE, loEx as Exception
|
||||||
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
||||||
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
||||||
|
|
||||||
@@ -6179,7 +6187,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LPARAMETERS toReg
|
LPARAMETERS toReg
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lc_TAG_REPORTE
|
LOCAL lc_TAG_REPORTE, loEx as Exception
|
||||||
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
||||||
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
||||||
|
|
||||||
@@ -6291,7 +6299,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LPARAMETERS toReg
|
LPARAMETERS toReg
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lc_TAG_REPORTE
|
LOCAL lc_TAG_REPORTE, loEx as Exception
|
||||||
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
|
||||||
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
|
||||||
|
|
||||||
@@ -6403,7 +6411,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
PROCEDURE write_DBF_HEADER
|
PROCEDURE write_DBF_HEADER
|
||||||
LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name
|
LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name
|
||||||
TRY
|
TRY
|
||||||
LOCAL laFields(1,18)
|
LOCAL laFields(1,18), loEx as Exception
|
||||||
|
|
||||||
*FOR I = 1 TO AFIELDS(laFields)
|
*FOR I = 1 TO AFIELDS(laFields)
|
||||||
* IF INLIST( laFields(I,2), 'M', 'Q', 'V', 'W' )
|
* 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
|
PROCEDURE write_DBF_FIELDS
|
||||||
TRY
|
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
|
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
|
PROCEDURE write_DBF_INDEXES
|
||||||
TRY
|
TRY
|
||||||
LOCAL I
|
LOCAL I, loEx as Exception
|
||||||
|
|
||||||
IF TAGCOUNT() > 0
|
IF TAGCOUNT() > 0
|
||||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
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
|
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
|
||||||
|
<DATABASE>
|
||||||
|
<<>> <Name><<lcDBC>></Name>
|
||||||
|
<<>> <Comment><<DBGETPROP(lcDBC,"DATABASE","Comment")>></Comment>
|
||||||
|
<<>> <Version><<DBGETPROP(lcDBC,"DATABASE","Version")>></Version>
|
||||||
|
<<>> <DBCEvents><<DBGETPROP(lcDBC,"DATABASE","DBCEvents")>></DBCEvents>
|
||||||
|
<<>> <DBCEventFilename><<DBGETPROP(lcDBC,"DATABASE","DBCEventFilename")>></DBCEventFilename>
|
||||||
|
</DATABASE>
|
||||||
|
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
|
||||||
|
<CONNECTION>
|
||||||
|
<<>> <Name><<taConnections(I)>></Name>
|
||||||
|
<<>> <Comment><<DBGETPROP(taConnections(I),"CONNECTION","Comment")>></Comment>
|
||||||
|
<<>> <DataSource><<DBGETPROP(taConnections(I),"CONNECTION","DataSource")>></DataSource>
|
||||||
|
<<>> <Database><<DBGETPROP(taConnections(I),"CONNECTION","Database")>></Database>
|
||||||
|
<<>> <ConnectString><<DBGETPROP(taConnections(I),"CONNECTION","ConnectString")>></ConnectString>
|
||||||
|
<<>> <Asynchronous><<DBGETPROP(taConnections(I),"CONNECTION","Asynchronous")>></Asynchronous>
|
||||||
|
<<>> <BatchMode><<DBGETPROP(taConnections(I),"CONNECTION","BatchMode")>></BatchMode>
|
||||||
|
<<>> <ConnectTimeout><<DBGETPROP(taConnections(I),"CONNECTION","ConnectTimeout")>></ConnectTimeout>
|
||||||
|
<<>> <DisconnectRollback><<DBGETPROP(taConnections(I),"CONNECTION","DisconnectRollback")>></DisconnectRollback>
|
||||||
|
<<>> <DispLogin><<DBGETPROP(taConnections(I),"CONNECTION","DispLogin")>></DispLogin>
|
||||||
|
<<>> <DispWarnings><<DBGETPROP(taConnections(I),"CONNECTION","DispWarnings")>></DispWarnings>
|
||||||
|
<<>> <IdleTimeout><<DBGETPROP(taConnections(I),"CONNECTION","IdleTimeout")>></IdleTimeout>
|
||||||
|
<<>> <PacketSize><<DBGETPROP(taConnections(I),"CONNECTION","PacketSize")>></PacketSize>
|
||||||
|
<<>> <PassWord><<DBGETPROP(taConnections(I),"CONNECTION","PassWord")>></PassWord>
|
||||||
|
<<>> <QueryTimeout><<DBGETPROP(taConnections(I),"CONNECTION","QueryTimeout")>></QueryTimeout>
|
||||||
|
<<>> <Transactions><<DBGETPROP(taConnections(I),"CONNECTION","Transactions")>></Transactions>
|
||||||
|
<<>> <UserId><<DBGETPROP(taConnections(I),"CONNECTION","UserId")>></UserId>
|
||||||
|
<<>> <WaitTime><<DBGETPROP(taConnections(I),"CONNECTION","WaitTime")>></WaitTime>
|
||||||
|
</CONNECTION>
|
||||||
|
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
|
||||||
|
<TABLE>
|
||||||
|
<<>> <Name><<taTables(I)>></Name>
|
||||||
|
<<>> <Comment><<DBGETPROP(taTables(I),"TABLE","Comment")>></Comment>
|
||||||
|
<<>> <Path><<DBGETPROP(taTables(I),"TABLE","Path")>></Path>
|
||||||
|
<<>> <DeleteTrigger><<DBGETPROP(taTables(I),"TABLE","DeleteTrigger")>></DeleteTrigger>
|
||||||
|
<<>> <InsertTrigger><<DBGETPROP(taTables(I),"TABLE","InsertTrigger")>></InsertTrigger>
|
||||||
|
<<>> <UpdateTrigger><<DBGETPROP(taTables(I),"TABLE","UpdateTrigger")>></UpdateTrigger>
|
||||||
|
<<>> <PrimaryKey><<DBGETPROP(taTables(I),"TABLE","PrimaryKey")>></PrimaryKey>
|
||||||
|
<<>> <RuleExpression><<DBGETPROP(taTables(I),"TABLE","RuleExpression")>></RuleExpression>
|
||||||
|
<<>> <RuleText><<DBGETPROP(taTables(I),"TABLE","RuleText")>></RuleText>
|
||||||
|
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
|
||||||
|
<<>> <FIELD>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
FOR X = 1 TO lnField_Count
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <Name><<RTRIM(laFields(I))>></Name>
|
||||||
|
<<>> <Caption><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Caption")>></Caption>
|
||||||
|
<<>> <Comment><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Comment")>></Comment>
|
||||||
|
<<>> <DefaultValue><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DefaultValue")>></DefaultValue>
|
||||||
|
<<>> <DisplayClass><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DisplayClass")>></DisplayClass>
|
||||||
|
<<>> <DisplayClassLibrary><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DisplayClassLibrary")>></DisplayClassLibrary>
|
||||||
|
<<>> <Format><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Format")>></Format>
|
||||||
|
<<>> <InputMask><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","InputMask")>></InputMask>
|
||||||
|
<<>> <RuleExpression><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleExpression")>></RuleExpression>
|
||||||
|
<<>> <RuleText><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleText")>></RuleText>
|
||||||
|
ENDTEXT
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> </FIELD>
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
</TABLE>
|
||||||
|
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
|
||||||
|
<VIEW>
|
||||||
|
<<>> <Name><<taViews(I)>></Name>
|
||||||
|
<<>> <Comment><<DBGETPROP(taViews(I),"VIEW","Comment")>></Comment>
|
||||||
|
<<>> <Tables><<DBGETPROP(taViews(I),"VIEW","Tables")>></Tables>
|
||||||
|
<<>> <SQL><<DBGETPROP(taViews(I),"VIEW","SQL")>></SQL>
|
||||||
|
<<>> <AllowSimultaneousFetch><<DBGETPROP(taViews(I),"VIEW","AllowSimultaneousFetch")>></AllowSimultaneousFetch>
|
||||||
|
<<>> <BatchUpdateCount><<DBGETPROP(taViews(I),"VIEW","BatchUpdateCount")>></BatchUpdateCount>
|
||||||
|
<<>> <CompareMemo><<DBGETPROP(taViews(I),"VIEW","CompareMemo")>></CompareMemo>
|
||||||
|
<<>> <ConnectName><<DBGETPROP(taViews(I),"VIEW","ConnectName")>></ConnectName>
|
||||||
|
<<>> <FetchAsNeeded><<DBGETPROP(taViews(I),"VIEW","FetchAsNeeded")>></FetchAsNeeded>
|
||||||
|
<<>> <FetchMemo><<DBGETPROP(taViews(I),"VIEW","FetchMemo")>></FetchMemo>
|
||||||
|
<<>> <FetchSize><<DBGETPROP(taViews(I),"VIEW","FetchSize")>></FetchSize>
|
||||||
|
<<>> <MaxRecords><<DBGETPROP(taViews(I),"VIEW","MaxRecords")>></MaxRecords>
|
||||||
|
<<>> <Offline><<DBGETPROP(taViews(I),"VIEW","Offline")>></Offline>
|
||||||
|
<<>> <ParameterList><<DBGETPROP(taViews(I),"VIEW","ParameterList")>></ParameterList>
|
||||||
|
<<>> <Prepared><<DBGETPROP(taViews(I),"VIEW","Prepared")>></Prepared>
|
||||||
|
<<>> <RuleExpression><<DBGETPROP(taViews(I),"VIEW","RuleExpression")>></RuleExpression>
|
||||||
|
<<>> <RuleText><<DBGETPROP(taViews(I),"VIEW","RuleText")>></RuleText>
|
||||||
|
<<>> <SendUpdates><<DBGETPROP(taViews(I),"VIEW","SendUpdates")>></SendUpdates>
|
||||||
|
<<>> <ShareConnection><<DBGETPROP(taViews(I),"VIEW","ShareConnection")>></ShareConnection>
|
||||||
|
<<>> <SourceType><<DBGETPROP(taViews(I),"VIEW","SourceType")>></SourceType>
|
||||||
|
<<>> <UpdateType><<DBGETPROP(taViews(I),"VIEW","UpdateType")>></UpdateType>
|
||||||
|
<<>> <UseMemoSize><<DBGETPROP(taViews(I),"VIEW","UseMemoSize")>></UseMemoSize>
|
||||||
|
<<>> <WhereType><<DBGETPROP(taViews(I),"VIEW","WhereType")>></WhereType>
|
||||||
|
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
|
||||||
|
<<>> <FIELD>
|
||||||
|
ENDTEXT
|
||||||
|
|
||||||
|
FOR X = 1 TO lnField_Count
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> <Name><<RTRIM(laFields(I))>></Name>
|
||||||
|
<<>> <Caption><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Caption")>></Caption>
|
||||||
|
<<>> <Comment><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Comment")>></Comment>
|
||||||
|
<<>> <DataType><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","DataType")>></DataType>
|
||||||
|
<<>> <DefaultValue><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","DefaultValue")>></DefaultValue>
|
||||||
|
<<>> <Format><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Format")>></Format>
|
||||||
|
<<>> <InputMask><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","InputMask")>></InputMask>
|
||||||
|
<<>> <KeyField><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","KeyField")>></KeyField>
|
||||||
|
<<>> <RuleExpression><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleExpression")>></RuleExpression>
|
||||||
|
<<>> <RuleText><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleText")>></RuleText>
|
||||||
|
<<>> <Updatable><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Updatable")>></Updatable>
|
||||||
|
<<>> <UpdateName><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","UpdateName")>></UpdateName>
|
||||||
|
ENDTEXT
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
<<>> </FIELD>
|
||||||
|
ENDTEXT
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
</VIEW>
|
||||||
|
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
|
||||||
|
<RELATION>
|
||||||
|
<<>> <ChildTable><<ALLTRIM(taRelations(I,1))>></ChildTable>
|
||||||
|
<<>> <ParentTable><<ALLTRIM(taRelations(I,2))>></ParentTable>
|
||||||
|
<<>> <ChildIndex><<ALLTRIM(taRelations(I,3))>></ChildIndex>
|
||||||
|
<<>> <ParentIndex><<ALLTRIM(taRelations(I,4))>></ParentIndex>
|
||||||
|
<<>> <RefIntegrity><<ALLTRIM(taRelations(I,5))>></RefIntegrity>
|
||||||
|
</RELATION>
|
||||||
|
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
|
PROCEDURE write_DefinicionObjetosOLE
|
||||||
*-- Crea la definici<63>n del tag *< OLE: /> con la informaci<63>n de todos los objetos OLE
|
*-- Crea la definici<63>n del tag *< OLE: /> con la informaci<63>n de todos los objetos OLE
|
||||||
@@ -7408,15 +7790,6 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
*-- Indexes
|
*-- Indexes
|
||||||
THIS.write_DBF_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
|
*-- Genero el DB2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
@@ -7438,6 +7811,15 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
|||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("TABLABIN"))
|
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
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@@ -7468,29 +7850,27 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
lnDatabases_Count = ADATABASES(laDatabases)
|
lnDatabases_Count = ADATABASES(laDatabases)
|
||||||
THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
|
THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
|
||||||
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
|
||||||
|
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
|
||||||
|
|
||||||
THIS.write_PROGRAM_HEADER()
|
THIS.write_PROGRAM_HEADER()
|
||||||
|
|
||||||
*-- Header
|
*-- Header
|
||||||
THIS.write_DBF_HEADER( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name )
|
THIS.write_DBC_HEADER()
|
||||||
|
|
||||||
*-- Fields
|
*-- Connections
|
||||||
THIS.write_DBF_FIELDS()
|
THIS.write_DBC_CONNECTIONS()
|
||||||
|
|
||||||
*-- Indexes
|
*-- Tables
|
||||||
THIS.write_DBF_INDEXES()
|
THIS.write_DBC_TABLES()
|
||||||
|
|
||||||
USE IN (SELECT("TABLABIN"))
|
*-- Views
|
||||||
|
THIS.write_DBC_VIEWS()
|
||||||
|
|
||||||
FOR I = 1 TO ADATABASES(laDatabases2)
|
*-- Relations
|
||||||
IF ASCAN( laDatabases, laDatabases2(I) ) = 0
|
THIS.write_DBC_RELATIONS()
|
||||||
SET DATABASE TO (laDatabases2(I))
|
|
||||||
CLOSE DATABASES
|
|
||||||
EXIT
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
*-- Genero el DB2
|
|
||||||
|
*-- Genero el DC2
|
||||||
IF THIS.l_Test
|
IF THIS.l_Test
|
||||||
toModulo = C_FB2PRG_CODE
|
toModulo = C_FB2PRG_CODE
|
||||||
ELSE
|
ELSE
|
||||||
@@ -7509,6 +7889,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
USE IN (SELECT("TABLABIN"))
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
CLOSE DATABASES
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user