скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Запись nnn из nnn



Автор: OAmiry (Borland)

Нет ли метода или свойства, позволяющих осуществить сабж из Delphi?

Для этого необходимо поработать с BDE. Нижеприведенный код у меня работает прекрасно. Условия выполнения:
A) Вы используете таблицы dBASE
B) На форме расположен компонент DBNavigator
B) На форме расположен табличный компонент с именем Table1
C) На форме расположен компонент Label с именем Label1
D) Обработчик события OnClick компонента DBNavigator имеет следующий код:


procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var
  pRecProperty: pRECProps;
begin
  if Button in [nbFirst, nbPrior, nbNext, nbLast] then
  begin
    if MaxAvail > SizeOf(RECProps) then
    begin
      GetMem(pRecProperty, SizeOf(RECProps));
      DbiGetRecord(Table1.Handle, dbiNOLOCK, nil, pRecProperty);
      Label1.Caption := Concat('Запись: ', IntToStr(pRecProperty^.iPhyRecNum),
        ' из ', IntToStr(Table1.RecordCount));
      FreeMem(pRecProperty, SizeOf(RECProps));
    end;
  end;
end;

Получить номер записи можно в момент показа формы или в момент открытия таблицы.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook