Разработка баз данных в Delphi. 11 Уроков


         

OnUpdateData событие происходит перед тем,


  end;

  Label1.Caption := S;

end;

          OnUpdateData событие происходит перед тем, как данные в текущей записи будут обновлены. Например, OnUpdateEvent будет происходить между вызовом Post и фактическим обновлением информации на диске.

          События, генерируемые TDataSource могут быть очень полезны. Иллюстрацией этого служит следующий пример. Эта программа работает с таблицей COUNTRY, и включает TTable, TDataSource, пять TEdit, шесть TLlabel, восемь кнопок и панель. Действительное расположение элементов показано на рис.11.  Обратите внимание, что шестой TLabel расположен на панели внизу главной формы.



Рис.11: Программа STATE показывает, как отслеживать текущее состояние таблицы.

Для всех кнопок напишите обработчики, вроде:

procedure TForm1.FirstClick(Sender: TObject);

begin

  Table1.First;

end;

          В данной программе есть одна маленькая хитрость, которую Вы должны понять, если хотите узнать, как работает программа. Так как есть пять отдельных редакторов TEdit на главной форме, то хотелось бы иметь некоторый способ обращаться к ним быстро и легко. Один простой способ состоит в том, чтобы объявить массив редакторов:

Edits: array[1..5] of TEdit;

          Чтобы  заполнить массив, Вы можете в событии OnCreate главной формы написать:

procedure TForm1.FormCreate(Sender: TObject);

var

  i: Integer;

begin

  for i := 1 to 5 do

    Edits[i] := TEdit(FindComponent('Edit' + IntToStr(i)));

  Table1.Open;

end;

Код показанный здесь предполагает, что первый редактор, который Вы будете использовать назовем Edit1, второй Edit2, и т.д. Существование этого массива позволяет очень просто использовать событие OnDataChange, чтобы синхронизировать содержание объектов TEdit с содержимом текущей записи в DataSet:

procedure TForm1.DataSource1DataChange(Sender: TObject;

                                       Field: TField);

var

  i: Integer;

begin

  for i := 1 to 5 do


Содержание  Назад  Вперед