Changeset: 84 .
This commit is contained in:
357
foxbin2prg.prg
357
foxbin2prg.prg
@@ -5157,7 +5157,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
LOCAL loField AS CL_DBF_FIELD OF 'FOXBIN2PRG.PRG'
|
LOCAL loField AS CL_DBF_FIELD OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG'
|
LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate
|
LOCAL lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate
|
||||||
|
|
||||||
STORE '' TO lcIndex, lcFieldDef
|
STORE '' TO lcIndex, lcFieldDef
|
||||||
|
|
||||||
lcCreateTable = 'CREATE TABLE "' + THIS.c_OutputFile + '" FREE CodePage=' + toTable._CodePage + ' ('
|
lcCreateTable = 'CREATE TABLE "' + THIS.c_OutputFile + '" FREE CodePage=' + toTable._CodePage + ' ('
|
||||||
@@ -5237,14 +5237,14 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
|
|
||||||
USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile)))
|
USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile)))
|
||||||
|
|
||||||
ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
|
ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
|
||||||
THIS.write_DBF_Metadata( THIS.c_OutputFile, toTable._Database, ldLastUpdate )
|
THIS.write_DBF_Metadata( THIS.c_OutputFile, toTable._Database, ldLastUpdate )
|
||||||
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
lnCodError = loEx.ErrorNo
|
lnCodError = loEx.ERRORNO
|
||||||
loEx.UserValue = 'lcIndex="' + TRANSFORM(lcIndex) + '"' + CR_LF ;
|
loEx.USERVALUE = 'lcIndex="' + TRANSFORM(lcIndex) + '"' + CR_LF ;
|
||||||
+ 'lcFieldDef="' + TRANSFORM(lcFieldDef) + '"' + CR_LF ;
|
+ 'lcFieldDef="' + TRANSFORM(lcFieldDef) + '"' + CR_LF ;
|
||||||
+ 'lcCreateTable="' + TRANSFORM(lcCreateTable) + '"'
|
+ 'lcCreateTable="' + TRANSFORM(lcCreateTable) + '"'
|
||||||
|
|
||||||
@@ -5394,19 +5394,12 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loConnection AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG'
|
LOCAL lnCodError, lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate
|
||||||
LOCAL loTable AS CL_DBC_TABLE OF 'FOXBIN2PRG.PRG'
|
lnCodError = 0
|
||||||
LOCAL loView AS CL_DBC_VIEW OF 'FOXBIN2PRG.PRG'
|
|
||||||
LOCAL loRelation AS CL_DBC_RELATION OF 'FOXBIN2PRG.PRG'
|
|
||||||
LOCAL lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate
|
|
||||||
|
|
||||||
STORE '' TO lcIndex, lcFieldDef
|
STORE '' TO lcIndex, lcFieldDef
|
||||||
|
|
||||||
*-- Conformo los campos
|
|
||||||
EXIT
|
|
||||||
|
|
||||||
toDatabase.updateDBC( THIS.c_OutputFile )
|
toDatabase.updateDBC( THIS.c_OutputFile )
|
||||||
|
|
||||||
*USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile)))
|
*USE IN (SELECT(JUSTSTEM(THIS.c_OutputFile)))
|
||||||
|
|
||||||
|
|
||||||
@@ -5419,9 +5412,6 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
THROW
|
THROW
|
||||||
|
|
||||||
FINALLY
|
|
||||||
USE IN (SELECT("TABLABIN"))
|
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN lnCodError
|
RETURN lnCodError
|
||||||
@@ -7836,14 +7826,14 @@ ENDDEFINE
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_CUS_BASE AS CUSTOM
|
DEFINE CLASS CL_CUS_BASE AS CUSTOM
|
||||||
*-- Propiedades (Se preservan: CONTROLCOUNT, CONTROLS, OBJECTS, PARENT)
|
*-- Propiedades (Se preservan: CONTROLCOUNT, CONTROLS, OBJECTS, PARENT, CLASS)
|
||||||
HIDDEN BASECLASS, CLASS, TOP, WIDTH, CLASSLIB, CLASSLIBRARY, COMMENT ;
|
HIDDEN BASECLASS, TOP, WIDTH, CLASSLIB, CLASSLIBRARY, COMMENT ;
|
||||||
, HEIGHT, HELPCONTEXTID, LEFT, NAME ;
|
, HEIGHT, HELPCONTEXTID, LEFT, NAME ;
|
||||||
, PARENTCLASS, PICTURE, TAG, WHATSTHISHELPID
|
, PARENTCLASS, PICTURE, TAG, WHATSTHISHELPID
|
||||||
|
|
||||||
*-- M<>todos (Se preservan: INIT, DESTROY, ERROR, ADDPROPERTY)
|
*-- M<>todos (Se preservan: INIT, DESTROY, ERROR, ADDPROPERTY)
|
||||||
*HIDDEN ADDOBJECT, NEWOBJECT, READEXPRESSION, READMETHOD, REMOVEOBJECT ;
|
*HIDDEN ADDOBJECT, NEWOBJECT, READEXPRESSION, READMETHOD, REMOVEOBJECT ;
|
||||||
, RESETTODEFAULT, SAVEASCLASS, SHOWWHATSTHIS, WRITEEXPRESSION, WRITEMETHOD
|
, RESETTODEFAULT, SAVEASCLASS, SHOWWHATSTHIS, WRITEEXPRESSION, WRITEMETHOD
|
||||||
|
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||||
@@ -8647,14 +8637,6 @@ DEFINE CLASS CL_DBC_COL_BASE AS CL_COL_BASE
|
|||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="_name" display="_Name"/>] ;
|
+ [<memberdata name="_name" display="_Name"/>] ;
|
||||||
+ [<memberdata name="__objectid" display="__ObjectID"/>] ;
|
+ [<memberdata name="__objectid" display="__ObjectID"/>] ;
|
||||||
+ [<memberdata name="getbinpropertydatarecord" display="getBinPropertyDataRecord"/>] ;
|
|
||||||
+ [<memberdata name="getcodememo" display="getCodeMemo"/>] ;
|
|
||||||
+ [<memberdata name="getid" display="getID"/>] ;
|
|
||||||
+ [<memberdata name="getobjecttype" display="getObjectType"/>] ;
|
|
||||||
+ [<memberdata name="getmemowithproperties" display="getMemoWithProperties"/>] ;
|
|
||||||
+ [<memberdata name="getreferentialintegrityinfo" display="getReferentialIntegrityInfo"/>] ;
|
|
||||||
+ [<memberdata name="getusermemo" display="getUserMemo"/>] ;
|
|
||||||
+ [<memberdata name="setnextid" display="setNextID"/>] ;
|
|
||||||
+ [<memberdata name="updatedbc" display="updateDBC"/>] ;
|
+ [<memberdata name="updatedbc" display="updateDBC"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
@@ -8668,17 +8650,24 @@ DEFINE CLASS CL_DBC_COL_BASE AS CL_COL_BASE
|
|||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
||||||
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
||||||
|
* tnParentID (v! IN ) ID del objeto Padre
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_OutputFile, tnLastID
|
LPARAMETERS tc_OutputFile, tnLastID, tnParentID
|
||||||
|
LOCAL loObject
|
||||||
|
|
||||||
FOR EACH loTable AS CL_DBC_TABLE OF 'FOXBIN2PRG.PRG' IN loTables FOXOBJECT
|
FOR EACH loObject IN THIS FOXOBJECT
|
||||||
loTable.updateDBC
|
loObject.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE __ObjectID_ACCESS
|
||||||
|
RETURN THIS.PARENT.__ObjectID
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
@@ -8743,34 +8732,34 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
|
|
||||||
PROCEDURE getObjectType
|
PROCEDURE getObjectType
|
||||||
LOCAL lcType
|
LOCAL lcType
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE THIS.Class = 'Cl_dbc'
|
CASE THIS.CLASS == 'Cl_dbc'
|
||||||
lcType = 'Database'
|
lcType = 'Database'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_connection'
|
CASE THIS.CLASS == 'Cl_dbc_connection'
|
||||||
lcType = 'Connection'
|
lcType = 'Connection'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_table'
|
CASE THIS.CLASS == 'Cl_dbc_table'
|
||||||
lcType = 'Table'
|
lcType = 'Table'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_view'
|
CASE THIS.CLASS == 'Cl_dbc_view'
|
||||||
lcType = 'View'
|
lcType = 'View'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_index'
|
CASE THIS.CLASS == 'Cl_dbc_index_db' OR THIS.CLASS == 'Cl_dbc_index_vw'
|
||||||
lcType = 'Index'
|
lcType = 'Index'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_relation'
|
CASE THIS.CLASS == 'Cl_dbc_relation'
|
||||||
lcType = 'Relation'
|
lcType = 'Relation'
|
||||||
|
|
||||||
CASE THIS.Class = 'Cl_dbc_field'
|
CASE THIS.CLASS == 'Cl_dbc_field_db' OR THIS.CLASS == 'Cl_dbc_field_vw'
|
||||||
lcType = 'Field'
|
lcType = 'Field'
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
lcType = 'Unknown'
|
ERROR 'Clase [' + THIS.Class + '] desconocida'
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
RETURN lcType
|
RETURN lcType
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -8778,7 +8767,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
PROCEDURE setNextID
|
PROCEDURE setNextID
|
||||||
LPARAMETERS tnLastID
|
LPARAMETERS tnLastID
|
||||||
tnLastID = tnLastID + 1
|
tnLastID = tnLastID + 1
|
||||||
THIS.__ObjectID = tcID
|
THIS.__ObjectID = tnLastID
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -8787,12 +8776,21 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
||||||
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
||||||
|
* tnParentID (v! IN ) ID del objeto Padre
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_OutputFile, tnLastID
|
LPARAMETERS tc_OutputFile, tnLastID, tnParentID
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
|
LOCAL lcMemoWithProperties, lcCodeMemo, lcObjectType, lcRI_Info, lcUserMemo, lcID
|
||||||
|
|
||||||
WITH THIS AS CL_DBC_BASE OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_DBC_BASE OF 'FOXBIN2PRG.PRG'
|
||||||
.setNextID( @tnLastID )
|
.setNextID( @tnLastID )
|
||||||
|
lcMemoWithProperties = .getMemoWithProperties()
|
||||||
|
lcCodeMemo = .getCodeMemo()
|
||||||
|
lcObjectType = .getObjectType()
|
||||||
|
lcRI_Info = .getReferentialIntegrityInfo()
|
||||||
|
lcUserMemo = .getUserMemo()
|
||||||
|
lcID = .getID()
|
||||||
|
|
||||||
INSERT INTO TABLABIN ;
|
INSERT INTO TABLABIN ;
|
||||||
( ObjectID ;
|
( ObjectID ;
|
||||||
@@ -8800,18 +8798,18 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
, ObjectType ;
|
, ObjectType ;
|
||||||
, ObjectName ;
|
, ObjectName ;
|
||||||
, Property ;
|
, Property ;
|
||||||
, Code ;
|
, CODE ;
|
||||||
, RIInfo ;
|
, RIInfo ;
|
||||||
, User ) ;
|
, USER ) ;
|
||||||
VALUES ;
|
VALUES ;
|
||||||
( .getID() ;
|
( lcID ;
|
||||||
, .Parent.getID() ;
|
, tnParentID ;
|
||||||
, .getObjectType() ;
|
, lcObjectType ;
|
||||||
, ._Name ;
|
, ._Name ;
|
||||||
, .getMemoWithProperties() ;
|
, lcMemoWithProperties ;
|
||||||
, .getCodeMemo ;
|
, lcCodeMemo ;
|
||||||
, .getReferentialIntegrityInfo() ;
|
, lcRI_Info ;
|
||||||
, .getUserMemo() )
|
, lcUserMemo )
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -8961,7 +8959,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
* ePropertyValue (v! IN ) Valor de la propiedad
|
* ePropertyValue (v! IN ) Valor de la propiedad
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS cName, cType, cProperty, ePropertyValue
|
LPARAMETERS cName, cType, cProperty, ePropertyValue
|
||||||
|
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
@@ -8970,10 +8968,11 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
||||||
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
||||||
|
* tnParentID (v! IN ) ID del objeto Padre
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_OutputFile, tnLastID
|
LPARAMETERS tc_OutputFile, tnLastID, tnParentID
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loTables AS CL_DBC_TABLES ;
|
LOCAL loTables AS CL_DBC_TABLES ;
|
||||||
, loConnections AS CL_DBC_CONNECTIONS ;
|
, loConnections AS CL_DBC_CONNECTIONS ;
|
||||||
, loViews AS CL_DBC_VIEWS ;
|
, loViews AS CL_DBC_VIEWS ;
|
||||||
@@ -8987,13 +8986,15 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
CREATE DATABASE (tc_OutputFile)
|
CREATE DATABASE (tc_OutputFile)
|
||||||
CLOSE DATABASES
|
CLOSE DATABASES
|
||||||
OPEN DATABASE (tc_OutputFile) SHARED
|
OPEN DATABASE (tc_OutputFile) SHARED
|
||||||
USE (tc_OutputFile) SHARED AGAIN ALIAS ARCHIVOBIN
|
USE (tc_OutputFile) SHARED AGAIN ALIAS TABLABIN
|
||||||
tnLastID = 5
|
tnLastID = 5
|
||||||
THIS.setNextID(0)
|
THIS.setNextID(0)
|
||||||
|
tnParentID = THIS.__ObjectID
|
||||||
*FOR EACH loTable AS CL_DBC_TABLE OF 'FOXBIN2PRG.PRG' IN loTables FOXOBJECT
|
|
||||||
* loTable.updateDBC
|
loTables.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
*ENDFOR
|
loViews.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
loConnections.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
loRelations.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -9005,6 +9006,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
|
|
||||||
FINALLY
|
FINALLY
|
||||||
CLOSE DATABASES
|
CLOSE DATABASES
|
||||||
|
USE IN (SELECT("TABLABIN"))
|
||||||
|
|
||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
@@ -9072,7 +9074,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_CONNECTIONS AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -9159,7 +9161,7 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <CONNECTIONS>
|
<<>> <CONNECTIONS>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
loConnection = CREATEOBJECT('CL_DBC_CONNECTION')
|
loConnection = CREATEOBJECT('CL_DBC_CONNECTION')
|
||||||
|
|
||||||
FOR I = 1 TO tnConnection_Count
|
FOR I = 1 TO tnConnection_Count
|
||||||
@@ -9343,7 +9345,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_TABLES AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -9414,7 +9416,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_COL_BASE
|
|||||||
* lnTable_Count (@? OUT) Cantidad de conexiones
|
* lnTable_Count (@? OUT) Cantidad de conexiones
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taTables, tnTable_Count
|
LPARAMETERS taTables, tnTable_Count
|
||||||
|
|
||||||
EXTERNAL ARRAY taTables
|
EXTERNAL ARRAY taTables
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -9433,7 +9435,7 @@ DEFINE CLASS CL_DBC_TABLES AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <TABLES>
|
<<>> <TABLES>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
loTable = CREATEOBJECT('CL_DBC_TABLE')
|
loTable = CREATEOBJECT('CL_DBC_TABLE')
|
||||||
|
|
||||||
FOR I = 1 TO tnTable_Count
|
FOR I = 1 TO tnTable_Count
|
||||||
@@ -9527,6 +9529,7 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE
|
|||||||
TRY
|
TRY
|
||||||
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
||||||
LOCAL loFields AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG'
|
LOCAL loFields AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG'
|
||||||
|
LOCAL loIndexes AS CL_DBC_INDEXES_DB OF 'FOXBIN2PRG.PRG'
|
||||||
STORE '' TO lcPropName, lcValue
|
STORE '' TO lcPropName, lcValue
|
||||||
|
|
||||||
IF LEFT(tcLine, LEN(C_TABLE_I)) == C_TABLE_I
|
IF LEFT(tcLine, LEN(C_TABLE_I)) == C_TABLE_I
|
||||||
@@ -9546,6 +9549,10 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE
|
|||||||
loFields = THIS._Fields
|
loFields = THIS._Fields
|
||||||
loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
|
CASE C_INDEXES_I $ tcLine
|
||||||
|
loIndexes = THIS._Indexes
|
||||||
|
loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
OTHERWISE && Propiedad de TABLE
|
OTHERWISE && Propiedad de TABLE
|
||||||
*-- Estructura a reconocer:
|
*-- Estructura a reconocer:
|
||||||
* <name>NOMBRE</name>
|
* <name>NOMBRE</name>
|
||||||
@@ -9627,17 +9634,32 @@ DEFINE CLASS CL_DBC_TABLE AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE updateDBC
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
|
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
||||||
|
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
||||||
|
* tnParentID (v! IN ) ID del objeto Padre
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tc_OutputFile, tnLastID, tnParentID
|
||||||
|
|
||||||
|
DODEFAULT( tc_OutputFile, @tnLastID, tnParentID)
|
||||||
|
tnParentID = THIS.__ObjectID
|
||||||
|
THIS._Fields.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
THIS._Indexes.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_FIELDS_DB AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_FIELDS_DB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -9650,7 +9672,6 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_COL_BASE
|
|||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL loField AS CL_DBC_FIELD_DB OF 'FOXBIN2PRG.PRG'
|
LOCAL loField AS CL_DBC_FIELD_DB OF 'FOXBIN2PRG.PRG'
|
||||||
*LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG'
|
|
||||||
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
||||||
STORE '' TO lcPropName, lcValue
|
STORE '' TO lcPropName, lcValue
|
||||||
|
|
||||||
@@ -9709,9 +9730,9 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_COL_BASE
|
|||||||
lcText = ''
|
lcText = ''
|
||||||
|
|
||||||
_TALLY = 0
|
_TALLY = 0
|
||||||
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
|
SELECT LOWER(TB.ObjectName) FROM TABLABIN TB ;
|
||||||
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
|
INNER JOIN TABLABIN TB2 ON STR(TB.ParentID)+TB.ObjectType = STR(TB2.ObjectID)+PADR('Field',10) ;
|
||||||
AND TB2.objectname = PADR(LOWER(tcTable),128) ;
|
AND TB2.ObjectName = PADR(LOWER(tcTable),128) ;
|
||||||
INTO ARRAY laFields
|
INTO ARRAY laFields
|
||||||
lnField_Count = _TALLY
|
lnField_Count = _TALLY
|
||||||
|
|
||||||
@@ -9720,7 +9741,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <FIELDS>
|
<<>> <FIELDS>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
loField = CREATEOBJECT('CL_DBC_FIELD_DB')
|
loField = CREATEOBJECT('CL_DBC_FIELD_DB')
|
||||||
|
|
||||||
FOR X = 1 TO lnField_Count
|
FOR X = 1 TO lnField_Count
|
||||||
@@ -9789,7 +9810,6 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE
|
|||||||
_RuleText = ''
|
_RuleText = ''
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -9844,7 +9864,6 @@ DEFINE CLASS CL_DBC_FIELD_DB AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE toText
|
PROCEDURE toText
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -9892,7 +9911,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_INDEXES_DB AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_INDEXES_DB OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_INDEXES_DB OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -9904,12 +9923,62 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_COL_BASE
|
|||||||
_Comment = ''
|
_Comment = ''
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
|
* tcLine (@! IN/OUT) Contenido de la l<>nea en an<61>lisis
|
||||||
|
* taCodeLines (@! IN ) Array de l<>neas del programa analizado
|
||||||
|
* I (@! IN/OUT) N<>mero de l<>nea en an<61>lisis
|
||||||
|
* tnCodeLines (@! IN ) Cantidad de l<>neas del programa analizado
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcLine, taCodeLines, I, tnCodeLines
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL loIndex AS CL_DBC_INDEX_DB OF 'FOXBIN2PRG.PRG'
|
||||||
|
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
||||||
|
STORE '' TO lcPropName, lcValue
|
||||||
|
|
||||||
|
IF LEFT(tcLine, LEN(C_INDEXES_I)) == C_INDEXES_I
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
|
||||||
|
FOR I = I + 1 TO tnCodeLines
|
||||||
|
THIS.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE EMPTY( tcLine )
|
||||||
|
LOOP
|
||||||
|
|
||||||
|
CASE C_INDEXES_F $ tcLine && Fin
|
||||||
|
EXIT
|
||||||
|
|
||||||
|
CASE C_INDEX_I $ tcLine
|
||||||
|
loIndex = CREATEOBJECT("CL_DBC_INDEX_DB")
|
||||||
|
loIndex.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
THIS.ADD( loIndex, loIndex._Name )
|
||||||
|
|
||||||
|
OTHERWISE && Otro valor
|
||||||
|
*-- No hay otros valores
|
||||||
|
ENDCASE
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF loEx.ERRORNO = 1470 && Incorrect property name.
|
||||||
|
loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE toText
|
PROCEDURE toText
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -9924,9 +9993,9 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_COL_BASE
|
|||||||
lcText = ''
|
lcText = ''
|
||||||
|
|
||||||
_TALLY = 0
|
_TALLY = 0
|
||||||
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
|
SELECT LOWER(TB.ObjectName) FROM TABLABIN TB ;
|
||||||
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Index',10) ;
|
INNER JOIN TABLABIN TB2 ON STR(TB.ParentID)+TB.ObjectType = STR(TB2.ObjectID)+PADR('Index',10) ;
|
||||||
AND TB2.objectname = PADR(LOWER(tcTable),128) ;
|
AND TB2.ObjectName = PADR(LOWER(tcTable),128) ;
|
||||||
INTO ARRAY laIndexes
|
INTO ARRAY laIndexes
|
||||||
lnIndex_Count = _TALLY
|
lnIndex_Count = _TALLY
|
||||||
|
|
||||||
@@ -9990,12 +10059,60 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE
|
|||||||
_Comment = ''
|
_Comment = ''
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
|
* tcLine (@! IN/OUT) Contenido de la l<>nea en an<61>lisis
|
||||||
|
* taCodeLines (@! IN ) Array de l<>neas del programa analizado
|
||||||
|
* I (@! IN/OUT) N<>mero de l<>nea en an<61>lisis
|
||||||
|
* tnCodeLines (@! IN ) Cantidad de l<>neas del programa analizado
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcLine, taCodeLines, I, tnCodeLines
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL llBloqueEncontrado, lcPropName, lcValue, loEx AS EXCEPTION
|
||||||
|
STORE '' TO lcPropName, lcValue
|
||||||
|
|
||||||
|
IF LEFT(tcLine, LEN(C_INDEX_I)) == C_INDEX_I
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
|
||||||
|
FOR I = I + 1 TO tnCodeLines
|
||||||
|
THIS.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE EMPTY( tcLine )
|
||||||
|
LOOP
|
||||||
|
|
||||||
|
CASE C_INDEX_F $ tcLine && Fin
|
||||||
|
EXIT
|
||||||
|
|
||||||
|
OTHERWISE && Propiedad de FIELD
|
||||||
|
*-- Estructura a reconocer:
|
||||||
|
* <name>NOMBRE</name>
|
||||||
|
lcPropName = STREXTRACT( tcLine, '<', '>', 1, 0 )
|
||||||
|
lcValue = STREXTRACT( tcLine, '<' + lcPropName + '>', '</' + lcPropName + '>', 1, 0 )
|
||||||
|
THIS.ADDPROPERTY( '_' + lcPropName, lcValue )
|
||||||
|
ENDCASE
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF loEx.ERRORNO = 1470 && Incorrect property name.
|
||||||
|
loEx.USERVALUE = 'I=' + TRANSFORM(I) + ', tcLine=' + TRANSFORM(tcLine) + ', PropName=[' + TRANSFORM(lcPropName) + '], Value=[' + TRANSFORM(lcValue) + ']'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN llBloqueEncontrado
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE toText
|
PROCEDURE toText
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -10042,7 +10159,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_VIEWS AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -10131,7 +10248,7 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <VIEWS>
|
<<>> <VIEWS>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
loView = CREATEOBJECT('CL_DBC_VIEW')
|
loView = CREATEOBJECT('CL_DBC_VIEW')
|
||||||
|
|
||||||
FOR I = 1 TO tnView_Count
|
FOR I = 1 TO tnView_Count
|
||||||
@@ -10273,9 +10390,9 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE
|
|||||||
loFields = THIS._Fields
|
loFields = THIS._Fields
|
||||||
loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loFields.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
*CASE C_INDEXES_I $ tcLine
|
CASE C_INDEXES_I $ tcLine
|
||||||
* loIndexes = THIS._Indexes
|
loIndexes = THIS._Indexes
|
||||||
* loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loIndexes.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
OTHERWISE && Propiedad de VIEW
|
OTHERWISE && Propiedad de VIEW
|
||||||
*-- Estructura a reconocer:
|
*-- Estructura a reconocer:
|
||||||
@@ -10347,7 +10464,7 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE
|
|||||||
|
|
||||||
loFields = THIS._Fields
|
loFields = THIS._Fields
|
||||||
lcText = lcText + loFields.toText( tcView )
|
lcText = lcText + loFields.toText( tcView )
|
||||||
|
|
||||||
loIndexes = THIS._Indexes
|
loIndexes = THIS._Indexes
|
||||||
lcText = lcText + loIndexes.toText( tcView )
|
lcText = lcText + loIndexes.toText( tcView )
|
||||||
|
|
||||||
@@ -10371,11 +10488,27 @@ DEFINE CLASS CL_DBC_VIEW AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE updateDBC
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
|
* tc_OutputFile (v! IN ) Nombre del archivo de salida
|
||||||
|
* tnLastID (@! IN ) <20>ltimo n<>mero de ID usado
|
||||||
|
* tnParentID (v! IN ) ID del objeto Padre
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tc_OutputFile, tnLastID, tnParentID
|
||||||
|
|
||||||
|
DODEFAULT( tc_OutputFile, @tnLastID, tnParentID)
|
||||||
|
tnParentID = THIS.__ObjectID
|
||||||
|
THIS._Fields.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
THIS._Indexes.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_FIELDS_VW AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_FIELDS_VW OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_FIELDS_VW OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -10453,9 +10586,9 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_COL_BASE
|
|||||||
lcText = ''
|
lcText = ''
|
||||||
|
|
||||||
_TALLY = 0
|
_TALLY = 0
|
||||||
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
|
SELECT LOWER(TB.ObjectName) FROM TABLABIN TB ;
|
||||||
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
|
INNER JOIN TABLABIN TB2 ON STR(TB.ParentID)+TB.ObjectType = STR(TB2.ObjectID)+PADR('Field',10) ;
|
||||||
AND TB2.objectname = PADR(LOWER(tcView),128) ;
|
AND TB2.ObjectName = PADR(LOWER(tcView),128) ;
|
||||||
INTO ARRAY laFields
|
INTO ARRAY laFields
|
||||||
lnField_Count = _TALLY
|
lnField_Count = _TALLY
|
||||||
|
|
||||||
@@ -10645,7 +10778,7 @@ ENDDEFINE
|
|||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
DEFINE CLASS CL_DBC_RELATIONS AS CL_COL_BASE
|
DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS CL_DBC_RELATIONS OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS CL_DBC_RELATIONS OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
@@ -10733,7 +10866,7 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <RELATIONS>
|
<<>> <RELATIONS>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
loRelation = CREATEOBJECT('CL_DBC_RELATION')
|
loRelation = CREATEOBJECT('CL_DBC_RELATION')
|
||||||
|
|
||||||
FOR I = 1 TO tnRelation_Count
|
FOR I = 1 TO tnRelation_Count
|
||||||
@@ -10877,6 +11010,24 @@ DEFINE CLASS CL_DBC_RELATION AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE getReferentialIntegrityInfo
|
||||||
|
RETURN THIS._RefIntegrity
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE getMemoWithProperties
|
||||||
|
LOCAL lcBinData
|
||||||
|
lcBinData = ''
|
||||||
|
|
||||||
|
lcBinData = lcBinData + THIS.getBinPropertyDataRecord( THIS._ChildIndex, 13 )
|
||||||
|
lcBinData = lcBinData + THIS.getBinPropertyDataRecord( THIS._ParentTable, 18 )
|
||||||
|
lcBinData = lcBinData + THIS.getBinPropertyDataRecord( THIS._ParentIndex, 19 )
|
||||||
|
*_ChildTable not used.
|
||||||
|
|
||||||
|
RETURN lcBinData
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
@@ -11004,7 +11155,7 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
|
|||||||
* tc_InputFile (v! IN ) Nombre del archivo de salida
|
* tc_InputFile (v! IN ) Nombre del archivo de salida
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name, tc_InputFile
|
LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name, tc_InputFile
|
||||||
|
|
||||||
EXTERNAL ARRAY taFields
|
EXTERNAL ARRAY taFields
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -11133,7 +11284,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE
|
|||||||
* tnField_Count (@? OUT) Cantidad de campos
|
* tnField_Count (@? OUT) Cantidad de campos
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taFields, tnField_Count
|
LPARAMETERS taFields, tnField_Count
|
||||||
|
|
||||||
EXTERNAL ARRAY taFields
|
EXTERNAL ARRAY taFields
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -11146,7 +11297,7 @@ DEFINE CLASS CL_DBF_FIELDS AS CL_COL_BASE
|
|||||||
<<>>
|
<<>>
|
||||||
<<>> <<C_FIELDS_I>>
|
<<>> <<C_FIELDS_I>>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
tnField_Count = AFIELDS(taFields)
|
tnField_Count = AFIELDS(taFields)
|
||||||
loField = CREATEOBJECT('CL_DBF_FIELD')
|
loField = CREATEOBJECT('CL_DBF_FIELD')
|
||||||
|
|
||||||
@@ -11287,7 +11438,7 @@ DEFINE CLASS CL_DBF_FIELD AS CL_CUS_BASE
|
|||||||
* I (@! IN ) Campo en evaluaci<63>n
|
* I (@! IN ) Campo en evaluaci<63>n
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taFields, I
|
LPARAMETERS taFields, I
|
||||||
|
|
||||||
EXTERNAL ARRAY taFields
|
EXTERNAL ARRAY taFields
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -11404,9 +11555,9 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE
|
|||||||
* tnTagInfo_Count (@? OUT) Cantidad de <20>ndices
|
* tnTagInfo_Count (@? OUT) Cantidad de <20>ndices
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taTagInfo, tnTagInfo_Count
|
LPARAMETERS taTagInfo, tnTagInfo_Count
|
||||||
|
|
||||||
EXTERNAL ARRAY taTagInfo
|
EXTERNAL ARRAY taTagInfo
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, lcText, loEx AS EXCEPTION
|
LOCAL I, lcText, loEx AS EXCEPTION
|
||||||
LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG'
|
LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG'
|
||||||
@@ -11423,7 +11574,7 @@ DEFINE CLASS CL_DBF_INDEXES AS CL_COL_BASE
|
|||||||
|
|
||||||
tnTagInfo_Count = ATAGINFO( taTagInfo )
|
tnTagInfo_Count = ATAGINFO( taTagInfo )
|
||||||
loIndex = CREATEOBJECT("CL_DBF_INDEX")
|
loIndex = CREATEOBJECT("CL_DBF_INDEX")
|
||||||
|
|
||||||
FOR I = 1 TO tnTagInfo_Count
|
FOR I = 1 TO tnTagInfo_Count
|
||||||
lcText = lcText + loIndex.toText( @taTagInfo, I )
|
lcText = lcText + loIndex.toText( @taTagInfo, I )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
@@ -11537,9 +11688,9 @@ DEFINE CLASS CL_DBF_INDEX AS CL_CUS_BASE
|
|||||||
* I (@? IN ) Indice en evaluaci<63>n
|
* I (@? IN ) Indice en evaluaci<63>n
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS taTagInfo, I
|
LPARAMETERS taTagInfo, I
|
||||||
|
|
||||||
EXTERNAL ARRAY taTagInfo
|
EXTERNAL ARRAY taTagInfo
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, lcText, loEx AS EXCEPTION
|
LOCAL I, lcText, loEx AS EXCEPTION
|
||||||
lcText = ''
|
lcText = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user