Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- CA-Clipper 5.2 . Technical Reference - <b>_itemgetds()</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 _itemGetDS()
 Retrieve a date as a character string
------------------------------------------------------------------------------
 C Prototype



     #include "item.api"
     BYTEP _itemGetDS(
                       ITEM itemDate,
                       BYTEP fpBuffer
                     )

 Arguments

     itemDate is the Item from which to retrieve a date string.

     fpBuffer is the 8 character buffer to place the date string within.

 Returns

     A zero terminated string of the format YYYYMMDD representing the date
     value contained within the Item passed.

 Description

     _itemGetDS() allows you to retrieve the value of a CA-Clipper-level date
     as a character string.  The returned string is a copy of the date, so
     any changes to the string cannot be reflected to the CA-Clipper level if
     the Item is a parameter.

     Note:  The date string returned is zero-terminated.

     Warning!  You are responsible for allocating and freeing the buffer
     where the date string is placed.  Note that the recommended destination
     memory address is the stack, since values returned from _itemGetDS()
     will always be 8 characters long.

 Examples

     /*
     *
     * Quarter( dDate ) -> nQuarter
     *
     *
     * Given a date, determines what quarter it lies in
     *
     */

     CLIPPER Quarter( void )
     {
        ITEM itemDate, itemQuarter;
        BYTE sDate[8];               // Date buffer: YYYYMMDD\0

        if ( PCOUNT == 0 )
        {
           _ret();                  // Withhold service!
           return;
        }

        itemQuarter = _itemPutNL( NULL, 0 );
        itemDate = _itemParam( 1 );

        if ( _itemType( itemDate ) == DATE )
        {
           _itemGetDS( itemDate, sDate );

           sDate[6] = NULL;

           if (sDate[4] == '1')
           {
              itemQuarter = _itemPutNL( itemQuarter, 4 );
           }
           else
           {
              switch ( sDate[5] )
              {
                 case '1':
                 case '2':
                 case '3':
                    itemQuarter = _itemPutNL( itemQuarter, 1 );
                    break;

                 case '4':
                 case '5':
                 case '6':
                    itemQuarter = _itemPutNL( itemQuarter, 2 );
                    break;

                 default:
                    itemQuarter = _itemPutNL( itemQuarter, 3 );

              }
           }
        }

        _itemReturn( itemQuarter );
        _itemRelease( itemDate );
        _itemRelease( itemQuarter );

        return;
     }

 Files:  Library is CLIPPER.LIB, header file is Item.api.


See Also: _itemPutDS()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson