Create site free
Запись RecNo из RecordCount - Записи - Базы данных в Delphi - Каталог статей - Mvi - развлечения ...какой метод вовращает номер текущей записи? (т.е.: Я хочу использовать это вместе с функцией RecordCount и выводить для пользователя в строке состояния нечто вроде: "Запись #n из x")

>
Среда, 08.02.2012, 13:45
Музыка, видео, игры - MVI
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
ADO [15]
ASCII и CSV [12]
Access [19]
Alias [24]
BDE [37]
BLOB поля [19]
Clipper [2]
DB2 [2]
DBASE и DBF [26]
Fox Pro [1]
Interbase [21]
MSSQL [13]
ODBC [10]
Oracle [19]
Paradox [28]
SQL [30]
Sybase [1]
База данных [31]
Закладки [2]
Записи [19]
Индексы [10]
Компоненты и Базы данных [11]
Модуль данных [3]
Отчеты [3]
Ошибки БД [17]
Поиск [17]
Поля [36]
Сортировка и Фильтр [6]
Таблицы [39]
Мини-чат
Наш опрос
Нужна ли возможность прослушивать музыку на нашем сайте?
Всего ответов: 67
Главная » Статьи » Базы данных в Delphi » Записи

Запись RecNo из RecordCount

Автор: Mike Downey

...какой метод вовращает номер текущей записи? (т.е.: Я хочу использовать это вместе с функцией RecordCount и выводить для пользователя в строке состояния нечто вроде: "Запись #n из x")

Вот функция, возвращающая номер текущей записи в наборе данных DataSet. В основном я все скопировал и расставил комментарии, которые теперь лишают меня возможности поговорить на эту тему. Могли бы вы получить эти цифирьки из DBIPROCS.INT?


function RecordNumber(Dataset: TDataset): Longint;
var
CursorProps: CurProps;
RecordProps: RECProps;
begin
{ Возвращаем 0, если набор данных не Paradox или dBASE }
Result := 0;

with Dataset do
begin
{ Набор данных активен? }
if State = dsInactive then
DBError(SDataSetClosed);

{ Нам необходимо сделать этот вызов, чтобы "захватить" курсор iSeqNums }
Check(DbiGetCursorProps(Handle, CursorProps));

{ Синхронизируем курсор BDE с курсором набора данных }
UpdateCursorPos;

{ Заполняем RecordProps текущими свойствами записи }
Check(DbiGetRecord(Handle, dbiNOLOCK, nil, @RecordProps));

{ С каким типом набора данных мы работаем? }
case CursorProps.iSeqNums of
0: Result := RecordProps.iPhyRecNum;
{ dBASE }
1: Result := RecordProps.iSeqNum; { Paradox }
end; { case }
end; { with }
end; { function }

Затем, в обработчике события OnDataChange DataSet, я использовал команду:


MyTextVariable := 'Запись ' + IntToStr( RecordNumber( tImport ) ) +
' из ' + IntToStr( tImport.RecordCount ) ;
Категория: Записи | Добавил: mvi (28.10.2008)
Просмотров: 138 | Рейтинг: 0.0/0 |
Всего комментариев: 0

При копировании материалов данного сайта, ссылка на него обязательна!

Имя *:
Email:
Код *:
Форма входа
E-mail:
Пароль:
Поиск
Друзья сайта
Анекдоты
Реклама
Статистика


Рейтинг@Mail.ru

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2012 Хостинг от uCoz