static HB_ERRCODE adsxGoTop( ADSXAREAP pArea ) { PMIXTAG pTag; HB_ULONG ulRecNo; pTag = pArea->pTagCurrent; if( ! pTag ) return SUPER_GOTOP( ( AREAP ) pArea ); if( pTag->ulRecCount > 0 ) { ulRecNo = pTag->pKeys[ 0 ]->rec; } else { ulRecNo = 0; } if( SUPER_GOTO( ( AREAP ) pArea, ulRecNo ) == HB_SUCCESS ) { pTag->ulKeyNo = ulRecNo ? 1 : 0; return HB_SUCCESS; } pTag->ulKeyNo = 0; return HB_FAILURE; }
/* * Position cursor at the first record. */ static HB_ERRCODE hb_sdfGoTop( SDFAREAP pArea ) { HB_TRACE( HB_TR_DEBUG, ( "hb_sdfGoTop(%p)", pArea ) ); if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS ) return HB_FAILURE; pArea->area.fTop = HB_TRUE; pArea->area.fBottom = HB_FALSE; if( pArea->ulRecNo != 1 ) { if( pArea->ulRecNo != 0 || ! pArea->fReadonly ) /* generate RTE */ return SUPER_GOTOP( &pArea->area ); pArea->ulRecNo = 1; if( hb_sdfReadRecord( pArea ) != HB_SUCCESS ) return HB_FAILURE; } return SELF_SKIPFILTER( &pArea->area, 1 ); }