DBC_SetProperty Procedure
This function set property value.
=
DBC_SetProperty
Parameter
lcAlias
DBC Alias
Type Character
Direction Input
Alias of opened DBC as table.
liIDObject
Object ID
Type Integer
Direction Input
See DBC_GetIDObject().
liIDProp
Property ID
Type Integer
Direction Input
Property ID. For a list of properties, see DBC_EnumProperty().
luValue
Property value
By reference  
Direction Input
New value.
Return value Integer
If the function succeeds, the return value is _DBC_ObjectFound.

If the function fails, the return value is _DBC_ObjectNotFound.
Example
#INCLUDE "dbc.h"
SET PROCEDURE TO dfo.prg ADDITIVE
LOCAL lcAlias,liIDT,lcDBC,luValue
lcAlias=SYS(2015)
lcDBC="C:\Program Files\Microsoft Visual FoxPro 7\Samples\Tastrade\Data\tastrade.dbc"
USE (lcDBC) ALIAS (lcAlias) IN 0
* Get field ID
liIDT=DBC_GetIDObject(lcAlias,_DBC_Field,"products.product_id")
* Get property value
=DBC_GetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
?luValue
* Set property value
luValue="New comment "+SYS(2015)
=DBC_SetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
* Get property value
=DBC_GetProperty(lcAlias,liIDT,_DBCID_Comment,@luValue)
?luValue
USE IN (lcAlias)
RELEASE PROCEDURE dfo.prg


See also
Expand/Collapse source code of procedure DBC_SetProperty Source Code
LPARAMETERS lcAlias,liIDObject,liIDProp,luValue
* lcAlias    - Alias of opended DBC
* liIDObject - Object ID
* liIDProp   - Property ID
* luValue    -  Value


LOCAL liStart,liLen,liLenID
liStart=1 && First char

SELE (lcAlias) && Skip to DBC 
LOCATE FOR ObjectID=liIDObject && Find object
IF !FOUND() && If not found
   RETURN _DBC_ObjectNotFound && Get out
ENDIF

luValue=DBC_ConvertValueToProperty(liIDProp,luValue) && Convert value to DBC value
DO WHILE liStart<=LEN(Property)
   liLen=DFO_C4ToI(SUBS(Property,liStart,4)) && Lenght
   liLenID=IIF(DFO_C2ToI(SUBS(Property,liStart+4,2))>256,2,1) && This is lenght of Property ID

   * Is't finding property
   IF IIF(liLenID=1,ASC(SUBS(Property,liStart+4+2,liLenID)),DFO_C2ToI(SUBS(Property,liStart+4+2,liLenID)))=liIDProp
      REPL Property WITH STUFF(Property,liStart,liLen,DFO_IToC4(4+2+liLenID+LEN(luValue))+DFO_IToC2(IIF(liIDProp>256,2,1))+IIF(liIDProp>256,DFO_IToC2(liIDProp),CHR(liIDProp))+luValue)
      RETURN _DBC_ObjectFound
   ENDIF
   liStart=liStart+liLen
ENDDO
REPL Property WITH Property+DFO_IToC4(4+2+IIF(liIDProp>256,2,1)+LEN(luValue))+DFO_IToC2(IIF(liIDProp>256,2,1))+IIF(liIDProp>256,DFO_IToC2(liIDProp),CHR(liIDProp))+luValue
RETURN _DBC_ObjectFound