русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

End else


Дата добавления: 2015-07-09; просмотров: 538; Нарушение авторских прав


Begin

DBNavigator.VisibleButtons := [nbInsert,

nbDelete,nbEdit,nbPost,nbCancel];

SearchEdit.Text := ' ';

SearchEdit.Enabled := false;

Panel6.Visible := true;

DBRich.ReadOnly := false;

end;

end;

 

Доступ к таблицам базы данных в нашей задаче должен соответствовать выбору раздела в списке разделов справочника, т.е. при выборе содержимого списка DbBox должна открываться соответствующая таблица. Тогда реализация команд доступа к таблицам будет иметь следующий вид:

{****** Выбор таблиц базы данных *****}

procedure TReferenceForm.DbBoxChange(Sender: TObject);

Begin

FTable.Close;

FTable.DatabaseName := ExtractFilePath (Application.ExeName);

ifDbBox.Text= 'Aрифметические и математические' then

FTable.TableName := 'Funct1';

if DbBox.Text= 'Операции над строками' then

FTable.TableName := 'Funct2';

FTable.Open;

DBRich.DataField := 'Description';

end;

 

Таким образом, число конструкций ifDbBox.Text= 'хххххх' thenбудет соответствовать количеству разделов спавочника и количеству таблиц в базе данных.

 

 

Обратите внимание на первые строки процедуры.

FTable.Close;

FTable.DatabaseName := ExtractFilePath (Application.ExeName);

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

 

Примечание: При установке приложения на другой компьютер, не содержащий среду Delphi, необходимо установить на нем ядро управления базами данных.

 

Для того, чтобы поиск по индексированному полю FunctName выполнялся без учета заглавных и прописных символов, обработчик события изменения данных поля ввода SearchEdit должен иметь следующий вид:



{***** Поиск записей *****}

procedure TReferenceForm.SearchEditChange(Sender: TObject);

Begin

FTable.SetKey;

FTable.FieldByName('FunctName').AsString := SearchEdit.Text;

FTable.GotoNearest;

end;

 

В заключение разработки наделите компонент DBRich необходимыми свойствами текстового редактора.

{***** Вырезание в буфер *****}

procedure TReferenceForm.CutButtonClick(Sender: TObject);

Begin

DBRich.CutToClipboard;

end;

{***** Копирование в буфер *****}

procedure TReferenceForm.CopyButtonClick(Sender: TObject);

Begin

DBRich.CopyToClipboard;

end;

{***** Вставка из буфера *****}

procedure TReferenceForm.PasteButtonClick(Sender: TObject);

Begin

DBRich.PasteFromClipboard;

end;

{***** Очистка окна редактора *****}

procedure TReferenceForm.DelButtonClick(Sender: TObject);

Begin

DbRich.SelectAll;

DbRich.ClearSelection;

end;

{***** Выбор шрифта *****}

procedure TReferenceForm.FontButtonClick(Sender: TObject);

Begin

FontDialog.Font := DBRich.Font;

if FontDialog.Execute then

DBRich.SelAttributes.Assign(FontDialog.Font);

end;

{***** Загрузка файла в формате RTF *****}

procedure TReferenceForm.OpenButtonClick(Sender: TObject);

Begin

FTable.Edit;

DbRich.Clear;

if OpenDialog.Execute then

DBRich.Lines.LoadFromFile(OpenDialog.FileName);

FTable.Post;

end;

 

{***** Сохранение файла в формате RTF *****}

procedure TReferenceForm.SaveButtonClick(Sender: TObject);

Begin

ifSaveDialog.Execute then

DBRich.Lines.SaveToFile(SaveDialog.FileName);

end;

 

{***** Защита от возникновения исключительных ситуаций *****}

procedure TReferenceForm.DBRichSelectionChange(Sender: TObject);

Begin

CopyButton.Enabled := DBRich.SelLength > 0;

CutButton.Enabled := CopyButton.Enabled;

end;

 

 

Запустите приложение на выполнение и устраните возможные ошибки. Создайте несколько пробных записей в таблицу и проверьте выполнение поиска нужной записи.

 

Вторая часть данного задания предполагает создание информационной части базы данных. Это большая коллективная работа, требующая значительного времени и усилий. Примеры по применению процедур и функций необходимо самостоятельно разработать в среде Delphi и оформить, используя встроенный редактор. Также можно применить текстовый процессор Word или редактор WordPad при этом, сохранять файлы примеров необходимо в формате RTF. После выполнения указанных работ занесение данного материала в базу банных не вызывает затруднений.

Пример созданной базы данных приведен на рисунке 11.

 

 

Поиск функции в справочнике

Рис.11

На основании разработанной базы данных можно сделать следующие выводы:

На основе объектов доступа к данным TTable и TDataSource легко создавать различные приложения локальных баз данных.



<== предыдущая лекция | следующая лекция ==>
Создание связанных курсоров | Системы управления базами данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.389 сек.