Текущий номер записи набора данных
{Извлекает физический номер записи xBase. Требует наличие модулей DBITYPES, DBIPROCS, и DBIERRS в списке используемых модулей. Функция требует на входе один аргумент типа TTable (например, Table1).} function Form1.Recno( oTable: TTable ): Longint; var rError: DBIResult; rRecProp: RECprops; szErrMsg: DBIMSG; begin Result := 0; try oTable.UpdateCursorPos; rError := DbiGetRecord( oTable.Handle, dbiNOLOCK, nil, @rRecProp ); if rError = DBIERR_NONE then Result := rRecProp.iPhyRecNum else case rError of DBIERR_BOF: Result := 1; DBIERR_EOF: Result := oTable.RecordCount + 1; else begin DbiGetErrorString( rError, szErrMsg ); ShowMessage( StrPas( szErrMsg )); end; end; except on E: EDBEngineError do ShowMessage( E.Message ); end; end; |
[001239]