FIELD VALUE()

From Lianjapedia
Jump to: navigation, search

PURPOSE

Return a field value

SYNONYM

api_field_value()

SYNOPSIS

#include "lianja_api.h"
 
int	FIELD_VALUE(fldname, value)
 
<input parameters>
char	*fldname;		/* Address of a buffer containing a field name	*/
 
<output parameters>
char	*value;		/* Address of a buffer to return the field value	*/

DESCRIPTION

The FIELD_VALUE() function will update the specified buffer with the value in the specified field from the currently selected table.

All field types are automatically converted by to character strings. The values from Memo and Blob fields are not copied into the buffer, instead the word "MEMO" is returned.

EXAMPLE

The following example gets the value of all the fields from the example table and returns the specified field by the number of the parameter passed to the function. See appendix A for the data structure of "example.dbf".

#include "lianja_api.h"
 
lianjaapi_field_value()
{
    int	rc;
    int	element_no;
    char	*fldbuf[12];
    char	blob[5];
    char	byte[3];
    char	character[21];
    char	date[9];
    char	dfloat[11];
    char	integer[5];
    char	logical[2];
    char	number[11];
    char	memo[5]
    char	real[11];
    char	word[11];
    char	zoned[11];
 
    if (_parinfo(1) != API_NTYPE) _retc("");
 
    fldbuf[0] = blob;
    fldbuf[1] = byte;
    fldbuf[2] = character;
    fldbuf[3] = date;
    fldbuf[4] = dfloat;
    fldbuf[5] = integer;
    fldbuf[6] = logical;
    fldbuf[7] = number;
    fldbuf[8] = memo;
    fldbuf[9] = real;
    fldbuf[10] = word;
    fldbuf[11] = zoned;
 
    element_no = _parni(1) -1;
 
    rc = COMMAND("use example");
    if (rc == 0 ) {
       if (element_no > FIELD_COUNT() || element_no < 0) {
       COMMAND("use");
       _retc("Field number out of bounds.");
       }
       rc=FIELD_VALUE ("blob",blob);
       rc=FIELD_VALUE ("byte",byte);
       rc=FIELD_VALUE ("char",character);
       rc=FIELD_VALUE ("date",date);
       rc=FIELD_VALUE("float",float);
       rc=FIELD_VALUE ("int",int);
       rc=FIELD_VALUE ("number",number);
       rc=FIELD_VALUE ("memo",memo);
       rc=FIELD_VALUE ("real",real);
       rc=FIELD_VALUE ("word",word);
       rc=FIELD_VALUE ("zoned",zoned);
       COMMAND("use");
 
    } else {
       _retc( "");
    }
 
    _retc(fldbuf[element_no]);
}

SEE ALSO

BLOB_READ(), DBF_FETCH(), DBF_READ(), DBF_RECBUFFER(), DBF_SCATTER(), FIELD_COUNT(), FIELD_LOOKUP(), FIELD_NAME(), FIELD_UPDATE(), MEMO_MLINE(), MEMO_READ()