Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Просмотр демонстрационной базы данных ⇐ ПредыдущаяСтр 3 из 3
Цель работы: Разработать приложение, предназначенное для просмотра демонстрационной базы данных, поставляемой вместе с Delphi. Указания к работе 1. Перенесите на форму компонент Table со страницы BDE. Основные свойства компонента Тable – DatabaseName (база данных) и TableName (таблица базы данных). Они указывают, с какой базой данных и с какой таблицей в ней мы хотим связаться. 2. Нажмите кнопку со стрелочкой справа от свойства DatabaseName в инспекторе объектов и выберите из выпадающего списка DBDEMOS – одну из демонстрационных баз данных, поставляемых с Delphi. В свойстве Table Name выберите таблицу biolife. Это таблица, содержащая информацию о рыбах. 3. Выберите поля базы данных с помощью редактора полей. Для этого выполните двойной щелчок по компоненту Table1. Вы увидите пустое поле этого редактора. Щелкните правой кнопкой мыши и из всплывающего меню выберите раздел Add fields (добавить поля). Выберите поля Category –класс, Common_Name – семейство, Species Name – вид, Length (см) –длина, Notes – описание, Graphic – изображение). Для этого щелкните мышью по данным полям, держа нажатой клавишу Ctrl. 4. В свойствах объектов, соответствующих выделенным полям выберите DisplayLabel. В этом свойстве запишите русские названия полей. Они будут отображаться в окне нашего приложения. 5. Переместите на форму компоненты, отображающие содержание полей таблицы. Для этого захватите поле в окне редактора полей курсором мыши и перетащите его на форму. На форме автоматически создадутся компоненты отображения данных. Обратите внимание: создался компонент (один на все поля) – DataSourche1. Он связывает набор данных Table1 c компонентами отображения данных. 6. Повторите операцию перетаскивания для каждого поля и расположите компоненты примерно так, как показано на рис. 5.
Рис 5. Форма к лабораторной работе №6 7. Выделите на форме компонент Table1. В свойстве Active установите значение true. 8. Выделите на форме компонент DBMemo. В свойстве ScrollBars установите значение ssVertical – вертикальная. 9. Перенесите на форму компонент DBNavigator со страницы DataControl. Он необходим для просмотра записей базы данных. В его основном свойстве DataSource установите свойство DataSource 1. Лабораторная работа №7 Разработка информационно-поисковой системы
Цель работы: Разработать информационно-поисковую систему в заданной предметной области на основе управления базой данных, созданной в каком-либо формате СУБД. Свой вариант предметной области возьмите из курсовой работы по дисциплине «Программирование на ЯВУ». Указания к работе Рассмотрим пример разработки информационно-поисковой системы. Поля записи: Фамилия, Курс, Факультет, Специальность, Группа. Организовать поиск записей по полю фамилия. Последовательность выполнения работы: 1) Загрузите программу Delphi. С помощью главного меню дайте команду: Пуск\Borland Delphi 6\Database Desktop. 2) C помощью команды File\New\Table выберете тип таблицы в формате dBase for Windows. 3) Задайте структуру базы данных, определив имена, типы и длины полей следующим образом:
Field Name Type Size Dec Familia C 15 Кurs N 1 Fakultet C 15 Spez C 7 Gruppa N 2
Здесь тип С означает символьный тип, N – числовой тип.
4) Сохраните файл с помощью команды Save as под именем Stud в какую-либо произвольную папку, например в папку BAZA, находящуюся в корневом каталоге диска С. 5) На форму Delphi перенесите следующие 3 компонента: a) компонент Dbgrid со страницы Data Controls; б) компонент Data Source со страницы Data Access; в) компонент Table со страницы BDE.
6) Установите связь между компонентами Dbgrid и Data Source. Для этого в компоненте Dbgrid свойству Data Source поставьте в соответствие Data Source1. 7) Установите связь между компонентами Data Source и Table. Для этого в компоненте Data Source свойству Data Set поставьте в соответствие Table1. 8) В компоненте Тable в свойстве DatabasName укажите путь к файлу базы данных \ BAZA. В свойстве ТableName укажите имя таблицы Stud.dbf. Значение свойства Active установите в True. 9) Перенесите на форму компонент Dbnavigator со страницы DataControls. Свойству Data Source поставьте в соответствие Data Source 1. 10) Запустите программу на исполнение. Введите 8 -10 записей (+ на компоненте Dbnavigator), удалите произвольную запись (- на компоненте Dbnavigator). 11) Перенесите на форму две кнопки. В свойствах Caption этих кнопок запишите Поиск №1 и Поиск №2. Мы рассмотрим 2 способа поиска информации в базе данных. По кнопке Поиск №1 реализуем метод Lookup, который записывает найденную запись в вариантный массив. По кнопке Поиск №2 будет релизован метод Locate, который делает найденную запись текущей. 12) Перенесите на форму строки вывода Label, предназначенные для вывода найденной записи по методу Lookup (см. рис. 6).
Рис 6. Форма к лабораторной работе №7
13. Для кнопок напишите следующие обработчики событий.
procedure TForm1.Button1Click(Sender: TObject); var LookupResults: Variant; begin LookupResults: =Table1.Lookup('FAMILIA', Edit1.text, 'familia; kurs; fakultet; spez; gruppa'); if VarType(LookupResults)< > varNull then begin label7.caption: =lookupResults[0]; label8.Caption: =lookupResults[1]; label9.Caption: =lookupResults[2]; label10.Caption: =lookupResults[3]; label11.Caption: =lookupResults[4]; end else begin label7.caption: =' '; label8.caption: =' '; label9.caption: =' '; label10.caption: =' '; label11.caption: =' '; end; end;
procedure TForm1.Button2Click(Sender: TObject); var LocateSuccess: Boolean; SearchOptions: TLocateOptions; begin SearchOptions: =[loPartialKey]; LocateSuccess: =Table1.Locate('familia', edit1.text, SearchOptions); end;
14. Просмотрите возможность фильтра в базе данных. Для этого в свойстве Filter компонента Table1 поставьте условие, например Familia='Иванов'. Свойству Filtered поставьте в соответствие True. Отмените фильтр. 15. Запустите программу на исполнение. Просмотрите оба способа поиска записи в базе данных.
16. Дополнительное задание Самостоятельно организуйте фильтр в программном режиме. По нажатию кнопки Фильтр должна выводиться информация о всех студентах с фамилией, указанной в строке ввода. Для выполнения этого задания можно рекомендовать студентам изучить аналогичный пример, приведенный на стр. 51 монографии [ 3 ], см. список литературы.
Лабораторная работа №8 Разработка классов в Delphi Цель работы: Разработать программу, реализующую графический редактор, который рисует окружности по нажатию левой кнопки мыши. Центр окружности совпадает с местоположением курсора. Радиус круга и цвет окружности должны настраиваться. Модуль, предназначенный для рисования окружностей, необходимо разработать в виде класса.
Последовательность выполнения работы: 1. Установите на форме компоненты в соответствии с рис. 7. 2. Компоненты, настраиваем с помощью Инспектора Объектов следующим образом: Form1: Edit1: Name: =MainForm; Name: =rEdit; Caption: =’Графический редактор Окружности’; Text: =’’; Image1: UpDown1: Name: =Image; Name: =UpDown; Label1: Associate: =rEdit; Name: =rLabel; Button1: Caption: =’Радиус круга’; Name: =ColorButton; ColorDialog1 Button2: Name: =ColorDialog Name: =ExitButton;
Здеськомпонент UpDown – счетчик, предназначенный для изменения значения в строке ввода, находится на странице Win 32.
Рис 7. Форма к лабораторной работе №8
2. Наберите главный модуль программы unit Main; interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;
type TMainForm = class(TForm) Image: TImage; rLabel: TLabel; rEdit: TEdit; ColorButton: TButton; ExitButton: TButton; UpDown: TUpDown; ColorDialog: TColorDialog; procedure FormActivate(Sender: TObject); procedure ImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure UpDownClick(Sender: TObject; Button: TUDBtnType); procedure ColorButtonClick(Sender: TObject); procedure ExitButtonClick(Sender: TObject);
private { Private declarations } public { Public declarations } end;
var MainForm: TMainForm;
implementation
{$R *.dfm} Uses circle; Var C: TMyCircle;
procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color: =clWhite; Image.Canvas.Pen.Color: =clBlack; end; procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin // Если нажата левая кнопка мыши if Button=mbLeft then begin // Если объект создан, то уничтожить его C.Free; // Конструировать C: =TMyCircle.Create(Image, X, Y, strtoint(rEdit.Text), Image.Canvas.Pen.Color); // Изобразить объект с заданными параметрами C.Draw; end; end;
procedure TMainForm.UpDownClick(Sender: TObject; Button: TUDBtnType); begin // Если объект создан, то перерисовать с другим радиусом; if C< > nil then C.ReSize(strtoint(rEdit.Text)); end; procedure TMainForm.ColorButtonClick(Sender: TObject); begin if ColorDialog.Execute then Image.Canvas.Pen.Color: =ColorDialog.Color; // Если объект создан, то перерисовать с другим цветом if C< > nil then C.ReColor(Image.Canvas.Pen.Color); end; procedure TMainForm.ExitButtonClick(Sender: TObject); Begin Close; End; Initialization // Если объект создан, то уничтожить его Finalization C.Free; end. 3. Наберите модуль, предназначенный для рисования окружностей. Для того, чтобы добавить в состав проекта новый модуль используйте команду File \ New \ Unit
unit Circle; interface Uses extctrls, Graphics; Type TMyCircle=class private x, y, r: Word; {координаты центра и радиус окружности} Color: TColor; {цвет} Image: TImage; {поле для рисования} Procedure Clear; {стирание окружности} Public {конструктор} Constructor Create(aImage: TImage; ax, ay, ar: Word; aColor: TColor); Procedure Draw; {рисование} Procedure ReSize(ar: Word); {изменение размеров} Procedure Recolor(acolor: TColor); {изменение цвета} end; Implementation Constructor TMyCircle.Create; Begin inherited Create; {вызвать наследуемый конструктор}
Image: =aImage; x: =ax; y: =ay; r: =ar; Color: =aColor; End; Procedure TMyCircle.Draw; Begin Image.Canvas.Pen.Color: =Color; Image.Canvas.Ellipse(x-r, y-r, x+r, y+r); {нарисовать окружность} end; Procedure TMyCircle.Clear; Var TempColor: TColor; begin Color: =Image.Canvas.Brush.Color; Draw; Color: =TempColor; End; Procedure TMyCircle.ReSize; Begin Clear; r: =ar; Draw; End; Procedure TMyCircle.ReColor(aColor: TColor); Begin Clear; Color: =aColor; Draw; End; End.
Лабораторная работа №9 Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 472; Нарушение авторского права страницы