Иллюстрированный самоучитель по Delphi 7 для начинающих

Просмотр базы данных. Режим формы.

var
Forml: TForml;
BmpPath: string; // Путь к файлам иллюстраций. Иллюстрации
// находятся в подкаталоге Data каталога программы.
implementation
($R *.DFM}
// выводит фотографию в поле Imagel
procedure ShowFoto(foto: string);
begin
try
Forml.Imagel.Picture.LoadFromFile(BmpPath+foto);
Forml.Imagel.Visible: = True;
except
on EFOpenError do
begin
MessageDlg('Файл иллюстрации '+foto+' не найден.',
mtlnformation, [mbOk], 0);
end;
end;
end;
// переход к другой записи (следующей, предыдущей,
// первой или последней)
procedure TForm1.TablelAfterScroll(DataSet: TDataSet);
begin.
if form1.DBEdit3.Visible then
begin
form1.DBEditS.Visible: = False;
form1.Label4.Visible: = False;
end;
if Forml.DBEditS.Text <> "
then ShowFoto(Form1.DBEditS.Text)
else form1.Imagel.Visible: = False;
end;
// нажатие клавиши в поле Фото
procedure TForml.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) then
if Forml.DBEdit3.Text <>''
then ShowFoto(Forml.DBEdit3.Text) // показать иллюстрацию
else forml,Imagel.Visible: = False;
end;
// щелчок на компоненте Навигатор
procedure TForml.DBNavigatorlClick(Sender: TObject; Button:
TNavigateBtn);
begin
case Button of
nblnsert: begin
Imagel.Visible: = False;// скрыть область вывода иллюстрации
DBEdit3.Visible: = True; // показать поле Фото
Label4.Visible: = True; // показать метку Фото
end;
nbEdit: begin // редактирование записи
DBEdit3.Visible: = True; // показать поле Фото
Label4.Visible: = True; // показать метку Фото
end;
end;
end;
// перед открытием таблицы
procedure TForml.TablelBeforeOpen(DataSet: TDataSet);
begin
BmpPath: = ExtractFilePath(ParamStr(0))+'data\';
end;
end.
end.

Вызов процедуры вывода фотографии (showFoto) во время просмотра базы данных выполняет процедура TForm1.Table1AfterScroll, которая обеспечивает обработку события AfterScrool для компонента Table1. Событие AfterScrool происходит всякий раз после перехода к другой (следующей, предыдущей, первой, последней) записи таблицы как результат щелчка пользователя на соответствующей кнопке компонента DBNavigator. Процедура TForml.Table1AfterScroll анализирует содержимое поля (photo) Form1.DBEdit3.Text и, если оно не пустое, что свидетельствует о наличии ссылки на файл фотографии, выводит иллюстрацию.

При просмотре базы данных поле имени файла иллюстрации (DBEdits) и его заголовок (Label4) на форме не отображаются. Если пользователь нажимает одну из кнопок компонента DBNavigator, то как результат обработки события onclick вызывается процедура TForm1.DBNavigatorlciick, которая при щелчке кнопки Добавить или Редактировать делает доступным поле DBEdits, тем самым позволяя пользователю ввести или изменить имя файла иллюстрации.

Процедура TForm1.DBEdit3KeyPress обрабатывает событие OnKeyPress для компонента DBEdits. Если пользователь ввел в поле Edits (photo) имя файла иллюстрации и нажал клавишу Enter (ее код равен 13), то процедура TForm1.DBEdit3KeyPress выводит иллюстрацию путем вызова процедуры ShowFoto.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.