Главная Учебники - Разные Лекции (разные) - часть 32
|
МІНІСТЕРСТВО
ОСВІТИ І НАУКИ
УКРАЇНИ
НАЦІОНАЛЬНИЙ
УНІВЕРСИТЕТ
КОРАБЛЕБУДУВАННЯ
ім.
адм. Макарова
Херсонський
філіал
Кафедра інформаційних
технологій
Курсова
робота
З ДИСЦИПЛІНИ
“Об’єктно
– орієнтоване
програмування”
ТЕМА:
Розробка
програмного
забезпечення
“Бюро
знайомств”
Виконав:
Перевірив:
Херсон 2004
Ход работы
программы
Модуль Proect1
содержит информацию
о всех 7-ми Формах.
Форма 1 (Unit1)
состоит из 6-ти
кнопок и хранит
процедуры их
обработки:
Кнопка
Новая анкета
позволяет
создать новую
анкету клиента,
содержащую
данные о нем. Кнопка
Просмотр анкет
выводит список
ранее зарегистрированных
клиентов. Кнопка
Работа с архивом
открывает
таблицу, содержащую
личные данные
клиентов о
себе и раздел
анкет по полу. Кнопка
Просмотр архива
открывает
таблицу архива,
содержащую
личные данные
и параметры
клиентов. Кнопка
Просмотр
сохраненных
приглашений
открывает
диалоговое
окно, содержащее
информацию
о текущем
приглашении
пары (по умолчанию
в кафе “Ночной
Тарзан”). Кнопка
Выход завершает
работу программы
Бюро знакомств.
Форма 2 (Unit
2) создаёт новую
анкету, содержащую
такие поля:
Дата, Регистрационный
номер (задаётся
автоматически),
Фамилия, Имя,
Отчество, Пол,
Возраст, О себе,
Требования.
Так же имеются
2 кнопки: OK
– сохраняет
новую, заполненную
анкету, Cancel
- отменяет
создание новой
анкеты.
Форма 3 (Unit3)
– это форма,
просмотра
анкет, она содержит
такие заполненные
поля: Рег №, Дата
регистрации,
Имя, Фамилия,
Возраст, Пол,
данные клиента
о себе и требования
к партнёру. Так
же есть строка
поиска по
регистрационному
номеру и две
кнопки: Удалить
– удаляет
полностью
выбранную
анкету, Выход
– закрывает
форму Просмотр
анкет.
Форма 4 (Unit4)
содержит таблицу,
содержащую
личные данные
клиентов и
сортировку
пар по полу.
Имеются 3 кнопки:
Занести в архив
– занос в архив
выбранной пары,
Выход – завершение
работы с архивом,
Подготовить
приглашение
– открывает
окно подготовки
приглашения
пары в кафе
“Ночной Тарзан”
на вечер знакомства
с кандидатом
женского пола
и кандидатом
мужского пола.
Далее приглашение
можно сохранить
нажатием кнопки
Сохранить,
либо отменить
приглашение,
нажатием кнопки
Выйти.
Форма 5 (Unit5)
состоит из
строк для просмотра
всех данных
клиента: регистрационный
номер, дата
регистрации,
пол, данные о
себе, требования,
возраст, ФИО.
Так же имеется
кнопка Выход
– завершающая
просмотр данной
формы.
Форма 6 (Unit
6) открывает
окно подготовки
приглашения
пары в кафе
“Ночной Тарзан”
на вечер знакомства
с кандидатом
женского пола
и кандидатом
мужского пола.
Далее приглашение
для дальнейшего
редактирования
можно сохранить
нажатием кнопки
Сохранить,
что открывает
окно диалога
сохранения
файла и сохраняем
текстовую
область Mtmo1
в указанный
файл, либо отменить
приглашение,
нажатием кнопки
Выйти.
Форма 7 (Unit7)
представляет
собой окно, для
просмотра
готовых приглашений
тех пар, которым
были назначены
встречи, тут
же можно отредактировать
приглашение
и сохранить
заново. Имеются
3 кнопки:
Открытие
приглашения
– открытие
готового приглашения,
путём вывода
окна диалога,
которое открывает
файл. В этом
окне происходит
заполнение
текстовой
области Memo1
из указанного
файла;
Сохранить
приглашение
– даёт возможность
сохранить
новое, отредактированное
приглашение
путём открытия
окна диалога
сохранения
файла и сохраняется
текстовая
область Memo1
в указанный
файл;
Выход – завершение
работы Unite7.
Текст программы program
Project1; uses Forms, Unit1 in 'Unit1.pas'
{Form1}, Unit2 in 'Unit2.pas'
{Form2}, Unit3 in 'Unit3.pas'
{Form3}, Unit4 in 'Unit4.pas'
{Form4}, Unit5
in 'Unit5.pas' {Form5}, Unit6 in 'Unit6.pas'
{Form6}, Unit7 in 'Unit7.pas'
{Form7}; {$R *.res} begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7); Application.Run; end. unit
Unit1; interface uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button4: TButton; Button3: TButton; Button5: TButton; Button6: TButton; procedure
Button1Click(Sender: TObject); procedure
Button2Click(Sender: TObject); procedure
Button4Click(Sender: TObject); procedure
Button3Click(Sender: TObject); procedure
Button5Click(Sender: TObject); procedure
Button6Click(Sender: TObject); private {
Private declarations } public { Public
declarations } end; var Form1: TForm1; implementation uses Unit2, Unit3,
Unit4, Unit5, Unit7; {$R *.dfm} procedure
TForm1.Button1Click(Sender: TObject);//Процедура
обработки клика
кнопки "Новая
форма" begin form2.ShowModal;
//показ формы
Form2. Форма открывается
в режиме при
котором другие
формы не доступны end; procedure
TForm1.Button2Click(Sender:
TObject);//Процедура
обработки клика
кнопки "Просмотр
анкет" begin Form3.showmodal;//показ
формы Form3. Форма
открывается
в режиме при
котором другие
формы не доступны end; procedure
TForm1.Button4Click(Sender: TObject);//Процедура
обработки клика
кнопки "Выход" begin Close;//Закрытие
формы Form1,
что означает
выход из программы end; procedure
TForm1.Button3Click(Sender:
TObject);//Процедура
обработки клика
кнопки "Работа
с архивом" begin form4.ShowModal;//показ
формы Form4. Форма
открывается
в режиме при
котором другие
формы не доступны end; procedure
TForm1.Button5Click(Sender:
TObject);//Процедура
обработки клика
кнопки "Просмотр
архива" begin form5.Table1.Open;
//откритие таблицы
Table1 находящейся
на форме FORM5 form5.ShowModal;
//показ формы
Form5. Форма открывается
в режиме при
котором другие
формы не доступны end; procedure
TForm1.Button6Click(Sender: TObject); begin
form7.ShowModal;//показ
формы Form7. Форма
открывается
в режиме при
котором другие
формы не доступны end; end. unit
Unit2; interface uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrlsEh, Mask, DBCtrls, DB, DBTables, StdCtrls, Buttons; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; DBMemo1: TDBMemo; DBMemo2: TDBMemo; Table1: TTable; DataSource1:
TDataSource; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBDateTimeEditEh1:
TDBDateTimeEditEh; DBEdit5: TDBEdit; Label6: TLabel; Label7: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; DBEdit6: TDBEdit; Label8: TLabel; procedure
FormCreate(Sender: TObject); procedure
BitBtn1Click(Sender: TObject); procedure
BitBtn2Click(Sender: TObject); procedure
FormClose(Sender: TObject; var Action: TCloseAction); private { Private
declarations } public { Public
declarations } end; var Form2: TForm2; implementation uses Unit3; {$R *.dfm} procedure
TForm2.FormCreate(Sender: TObject);//При показе,
активации и
создании формы
Form2 выполняются
действия: begin Table1.Open;//Открывается
таблица Table1 table1.Append;//Добавляется
в конец таблицы
новая строка
в таблицу Table1 table1.FieldByName('date').AsDateTime:=date;//Записываем
в текущую строку
в поле Date
сегодняшнее
число table1.Post;
//Сохранение
изменений table1.edit;
//Начинаем изменения
в таблице Table1
в текущей сторке end; procedure
TForm2.BitBtn1Click(Sender: TObject);//Процедура
обработки клика
кнопки "ОК" begin table1.Post;
//Сохранение
изменений close;//Закрытие
формы Form2 end; procedure
TForm2.BitBtn2Click(Sender: TObject); begin table1.Cancel;//отмена
изменений table1.Delete;//Удаление
текущей строки
в таблице Table1 close;//Закрытие
формы Form2 end; procedure
TForm2.FormClose(Sender: TObject; var Action:
TCloseAction);//Процедура
обработки
событя при
закрытии формы
Form2 begin form3.Table1.Refresh;//Обновление
данных в таблице
Table1 находящейся
на форме Form3 end; end. unit
Unit3; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
DBCtrls, Grids, DBGrids, Buttons, ExtCtrls, DB, DBTables; type TForm3 = class(TForm) DataSource1:
TDataSource; Table1: TTable; Panel1: TPanel; DBGrid1: TDBGrid; DBMemo1: TDBMemo; DBMemo2: TDBMemo; Button1: TButton; Button2: TButton; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Label3: TLabel; procedure
FormCreate(Sender: TObject); procedure
BitBtn1Click(Sender: TObject); procedure
Button2Click(Sender: TObject); procedure
Edit1Change(Sender: TObject); private { Private
declarations } public { Public
declarations } end; var Form3: TForm3; implementation {$R *.dfm} procedure
TForm3.FormCreate(Sender: TObject); //прцедура
обработки
события при
создании формы
Form3 begin table1.Open;//Открытие
таблицы table1 end; procedure
TForm3.BitBtn1Click(Sender: TObject);//Процедура
обработки клика
кнопки "Удалить" begin table1.Delete;//Удаление
текущей строки
в таблице Table1 end; procedure
TForm3.Button2Click(Sender: TObject);//Процедура
обработки клика
кнопки "Выход" begin Close;//Закрытие
Form3 end; procedure
TForm3.Edit1Change(Sender: TObject); begin Try
//Задействование
обработчика
ошибок Table1.FindKey([strtoint(edit1.Text)]);
//Поиск по индексу
(ставит курсор
в таблице ближе
всего находящейся
к искомому
значению) except Showmessage('Не
верный параметр
для поиска');
//в солучае
возникновения
ошибки будет
дано сообщение end; end; end. unit
Unit4; interface uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
DB, Grids, DBGrids, DBTables; type TForm4 = class(TForm)
Table1: TTable; Table2: TTable; Table3: TTable; DBGrid1: TDBGrid; DBGrid2: TDBGrid; DataSource1:
TDataSource; DataSource2:
TDataSource; Button1: TButton; Button2: TButton; Button3: TButton; procedure
Button2Click(Sender: TObject); procedure
Button1Click(Sender: TObject); procedure
FormShow(Sender: TObject); procedure
FormClose(Sender: TObject; var Action: TCloseAction); procedure
Button3Click(Sender: TObject); private { Private
declarations } public {
Public declarations } end; var Form4: TForm4; implementation uses Unit6; {$R *.dfm} procedure
TForm4.Button2Click(Sender: TObject); begin close; end; procedure
TForm4.Button1Click(Sender: TObject);//Процедура
обработки клика
кнопки "Занести
в архив" begin //table1.Open; //table2.Open; table1.DisableControls;//Отмена
слежения за
изменениями
в таблице Table1 table2.DisableControls;//Отмена
слежения за
изменениями
в таблице Table2 table3.Open;//Открываем
таблицу Table3 table3.Append;//Добавляем
в конец таблицы
новую строку table3.FieldByName('reg').AsInteger:=table1.FieldByName('reg').AsInteger;//копируем
в поле "REG"
таблицы Table3
значение поля
"REG" таблицы
Table1 table3.FieldByName('date').Asdatetime:=table1.FieldByName('date').Asdatetime;//копируем
в поле "DATE"
таблицы Table3
значение поля
"DATE" таблицы
Table1 table3.FieldByName('pol').Asstring:=table1.FieldByName('pol').Asstring;//копируем
в поле "POL"
таблицы Table3
значение поля
"POL" таблицы
Table1 table3.FieldByName('osebe').AsVariant:=table1.FieldByName('osebe').AsVariant;//копируем
в поле "OSEBE"
таблицы Table3
значение поля
"OSEBE" таблицы
Table1 table3.FieldByName('treb').AsVariant:=table1.FieldByName('treb').AsVariant;//копируем
в поле "TREB"
таблицы Table3
значение поля
"TREB" таблицы
Table1 table3.FieldByName('name').Asstring:=table1.FieldByName('name').Asstring;//копируем
в поле "NAME"
таблицы Table3
значение поля
"NAME" таблицы
Table1 table3.FieldByName('family').Asstring:=table1.FieldByName('family').Asstring;//копируем
в поле "FAMILY"
таблицы Table3
значение поля
"FAMILY" таблицы
Table1 table3.FieldByName('father').Asstring:=table1.FieldByName('Father').Asstring;//копируем
в поле "FATHER"
таблицы Table3
значение поля
"FATHER" таблицы
Table1 table3.Post;//Сохраняем
изменения в
таблице Table3 table3.Append;//Добавляем
в конец таблицы
новую строку table3.FieldByName('reg').AsInteger:=table2.FieldByName('reg').AsInteger;//копируем
в поле "REG"
таблицы Table3
значение поля
"REG" таблицы
Table2 table3.FieldByName('date').Asdatetime:=table2.FieldByName('date').Asdatetime;//копируем
в поле "DATE"
таблицы Table3
значение поля
"DATE" таблицы
Table2 table3.FieldByName('pol').Asstring:=table2.FieldByName('pol').Asstring;//копируем
в поле "POL"
таблицы Table3
значение поля
"POL" таблицы
Table2 table3.FieldByName('osebe').AsVariant:=table2.FieldByName('osebe').AsVariant;//копируем
в поле "OSEBE"
таблицы Table3
значение поля
"OSEBE" таблицы
Table2 table3.FieldByName('treb').AsVariant:=table2.FieldByName('treb').AsVariant;//копируем
в поле "TREB"
таблицы Table3
значение поля
"TREB" таблицы
Table2 table3.FieldByName('name').Asstring:=table2.FieldByName('name').Asstring;//копируем
в поле "NAME"
таблицы Table3
значение поля
"NAME" таблицы
Table2 table3.FieldByName('family').Asstring:=table2.FieldByName('family').Asstring;//копируем
в поле "FAMILY"
таблицы Table3
значение поля
"FAMILY" таблицы
Table2 table3.FieldByName('father').Asstring:=table2.FieldByName('Father').Asstring;//копируем
в поле "FATHER"
таблицы Table3
значение поля
"FATHER" таблицы
Table2 table3.Post;//Сохраняем
изменения в
таблице Table3 Button3Click(Sender);//Вызов
процедуры
Button3Click(см ниже) table1.Delete;//Удаляем
текущую строку
из таблицы
TABLE1 table2.Delete;//Удаляем
текущую строку
из таблицы
TABLE2 table1.EnableControls;//Возобновляем
контроль над
таблицей TABLE1 table2.EnableControls;//Возобновляем
контроль над
таблицей TABLE2 table1.Refresh;//Обновляем
данные в таблице
Table1 table2.Refresh;//Обновляем
данные в таблице
Table1 end; procedure
TForm4.FormShow(Sender: TObject); //При показе
формы Form4 выполняются
действия: begin table1.Open;//открытие
таблицы Table1 table2.Open;//открытие
таблицы Table2 end; procedure
TForm4.FormClose(Sender: TObject; var Action: TCloseAction);//При
закрытии формы
Form4 выполняются
действия: begin table1.Close;//Закрытие
таблицы Table1 table2.Close;//Закрытие
таблицы Table2 end; procedure
TForm4.Button3Click(Sender: TObject);//Процедура
обработки клика
кнопки "Подготовить
приглашение" var
ff:textfile;//Объявление
типа файловой
переменной begin assignfile(ff,'c:\Prigl.txt');
//процедура
ассоциации
имени файла
с файловой
переменной
FF rewrite(ff);//Перезапись
файла Writeln(ff,'Приглашение
в кафе "Ночной
Тарзан"');//Добавляем
строку в файл Writeln(ff,'На
вечер знакомства
с '+table1.fieldbyname('Family').asstring+'
'+table1.fieldbyname('Name').asstring);//Добавляем
строку в файл
со значениями
некоторых полей
из таблиц Table1
и Table2 Writeln(ff,' и
'+table2.fieldbyname('Family').asstring+'
'+table2.fieldbyname('Name').asstring); closefile(ff);//Закрытие
файла form6.Memo1.Lines.LoadFromFile('c:\Prigl.txt');//Заполняем
текстовое поле
Memo1 в окне формы
6 содержимым
только что
сохранненого
файла form6.ShowModal;//показ
формы Form6. Форма
открывается
в режиме при
котором другие
формы не доступны end; end. unit
Unit5; interface uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
Buttons, DBCtrls, ExtCtrls, DB, DBTables, Grids, DBGrids; type TForm5 = class(TForm) DataSource1:
TDataSource; DBGrid1: TDBGrid; Table1: TTable; Panel1: TPanel; DBMemo1: TDBMemo; DBMemo2: TDBMemo; BitBtn1: TBitBtn; Label1: TLabel; Label2: TLabel; procedure
BitBtn1Click(Sender: TObject); private { Private
declarations } public { Public
declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure
TForm5.BitBtn1Click(Sender: TObject); begin close;//закрытие
формы Form5 end; end. unit
Unit6; interface uses Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
ExtCtrls; type TForm6 = class(TForm) Memo1: TMemo; Panel1: TPanel; Button1: TButton; Button2: TButton; SaveDialog1:
TSaveDialog; procedure
Button1Click(Sender: TObject); procedure
Button2Click(Sender: TObject); private { Private
declarations } public { Public
declarations } end; var Form6: TForm6; implementation {$R *.dfm} procedure
TForm6.Button1Click(Sender: TObject); begin if
SaveDialog1.Execute then
memo1.Lines.SaveToFile(SaveDialog1.FileName);//Открываем
окно диалога
сохранения
файла и сохраняем
текстовую
область Memo1 в
указанный файл end; procedure
TForm6.Button2Click(Sender: TObject); begin Close;//Закрытие
формы end; end. unit
Unit7; interface uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
ExtCtrls; type TForm7 = class(TForm) OpenDialog1:
TOpenDialog; SaveDialog1:
TSaveDialog; Panel1: TPanel; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; procedure
Button3Click(Sender: TObject); procedure
Button1Click(Sender: TObject); procedure
Button2Click(Sender: TObject); private { Private
declarations } public { Public
declarations } end; var Form7: TForm7; implementation {$R *.dfm} procedure
TForm7.Button3Click(Sender: TObject); begin Close;//Закрытие
формы Form7 end; procedure
TForm7.Button1Click(Sender: TObject); begin If OpenDialog1.Execute
then memo1.Lines.LoadFromFile(OpenDialog1.FileName);//Открываем
окно диалога
открытия файла
и заполняем
текстовую
область Memo1 из
указанного
файла end; procedure
TForm7.Button2Click(Sender: TObject); begin If SaveDialog1.Execute
then memo1.Lines.SaveToFile(SaveDialog1.FileName);//Открываем
окно диалога
сохранения
файла и сохраняем
текстовую
область Memo1 в
указанный файл end; end.
Целью моей
курсовой работы
является
программирование
базы даных с
помощью Delphi
7. Прежде чем
начать выполнять
свое задание
рассмотрим
эту систему
программирования,
в общем.
Delphi - это
греческий
город, где жил
дельфийский
оракул. И этим
именем был
назван новый
программный
продукт с
феноменальными
характеристиками.
Delphi - это
комбинация
нескольких
важнейших
технологий:
Высокопроизводительный
компилятор
в машинный код
Объектно-ориентированная
модель компонент
Визуальное
(а, следовательно,
и скоростное)
построение
приложений
из программных
прототипов
Масштабируемые
средства для
построения
баз данных
Компилятор,
встроенный
в Delphi,
обеспечивает
высокую производительность,
необходимую
для построения
приложений
в архитектуре
“клиент-сервер”.
Этот компилятор
в настоящее
время является
самым быстрым
в мире, его скорость
компиляции
составляет
свыше 120 тысяч
строк в минуту
на компьютере
486DX33. Он предлагает
легкость разработки
и быстрое время
проверки готового
программного
блока, характерного
для языков
четвертого
поколения (4GL)
и в то же время
обеспечивает
качество кода,
характерного
для компилятора
3GL.
В процессе
построения
приложения
разработчик
выбирает из
палитры компонент
готовые компоненты
как художник,
делающий крупные
мазки кистью.
Еще до компиляции
он видит результаты
своей работы
- после подключения
к источнику
данных их можно
видеть отображенными
на форме, можно
перемещаться
по данным,
представлять
их в том или
ином виде.
Cреда Delphi
включает в себя
полный набор
визуальных
инструментов
для скоростной
разработки
приложений
(RAD - rapid application development), поддерживающей
разработку
пользовательского
интерфейса
и подключение
к корпоративным
базам данных.
В Delphi
визуальные
компоненты
пишутся на
объектном
паскале, на том
же паскале, на
котором пишется
алгоритмическая
часть приложения.
И визуальные
компоненты
Delphi получаются
открытыми для
надстройки
и переписывания.
Delphi использует
структурный
объектно-ориентированный
язык (Object Pascal), который
сочетает с
одной стороны
выразительную
мощь и простоту
программирования,
характерную
для языков 4GL,
а с другой стороны
эффективность
языка 3GL.
Структура
базы данных
База данных
— это набор
однородной,
как правило,
упорядоченной
по некоторому
критерию, информации.
База данных
может быть
представлена
в "бумажном"
или в компьютерном
виде.
Типичным
примером "бумажной"
базы данных
является каталог
библиотеки
— набор бумажных
карточек, содержащих
информацию
о книгах. Информация
в этой базе
однородная
(содержит сведения
только о книгах)
и упорядоченная
(карточки
расставлены,
например, в
соответствии
с алфавитным
порядком фамилий
авторов). Другими
примерами
"бумажной"
базы данных
являются телефонный
справочник
и расписание
движения поездов.
Компьютерная
база данных
представляет
собой файл (или
набор связанных
файлов), содержащий
информацию.
База данных
состоит из
записей. Каждая
запись содержит
информацию
об одном экземпляре.
Записи состоят
из полей. Каждое
поле содержит
информацию
об одной характеристике
экземпляра.
Например, запись
базы данных
“Бюро знакомств”
состоит из
следующих
полей: "Регистрационный
номер", "Дата
регистрации",
"ФИО", "Возраст",
"Пол". Содержимое
этих полей
характеризует
личность клиентов
Бюро знакомств.
Следует
обратить внимание,
что каждая
запись состоит
из одинаковых
полей. Некоторые
поля могут быть
не заполнены,
однако они все
равно присутствуют
в записи.
На бумаге
базу данных
удобно представить
в виде таблицы.
Каждая строка
таблицы соответствует
записи, а ячейка
таблицы — полю.
При этом заголовок
столбца таблицы
— это имя поля,
а номер строки
таблицы — номер
записи.
Информацию
компьютерных
баз данных
обычно выводят
на экран в виде
таблиц. Поэтому
в литературе
довольно часто
вместо словосочетания
"файл данных"
используется
словосочетание
"таблица данных"
или просто
"таблица".
Программа
управления
базой данных
Перед тем
как приступить
непосредственно
к разработке
приложения
управления
базой данных,
необходимо,
используя
утилиту Database Desktop,
создать файл
данных (таблицу)
и добавить в
нее несколько
записей. Приложение
работы с базой
данных должно
содержать
компоненты,
обеспечивающие
доступ к данным,
возможность
просмотра и
редактирования
содержимого
полей. Компоненты
доступа к данным
находятся на
вкладке Data
Access палитры
компонентов,
а компоненты
отображения
данных — на
вкладке Data
Controls.
Создание
базы данных
Приложения
баз данных
могут получать
доступ к источникам
данных при
помощи разнообразных
технологий
доступа,
многие из которых
используются
и в приложениях
Delphi. Тем не менее
любое приложение
баз данных в
Delphi имеет стандартное
ядро, структура
которого определена
архитектурой
приложения
баз данных.
Набор базовых
компонентов
и способов
разработки
является единой
основой, на
которой базируются
технологии
доступа к
данным. Это
позволило
унифицировать
процесс разработки
приложений
баз данных.
В основе
процесса разработки
лежит триада
компонентов:
- невизуальные
компоненты
набора данных;
- невизуальные
компоненты
TDataSource;
- визуальные
компоненты
отображения
данных.
Для создания
таблицы автономной
базы имеется
приложение
Рассмотрим
основные колонки
и поля окна
конструктора
таблиц.
Туре
- тип
поля (указывается
выбором из
контекстного
меню): А1рhа
(А - строка из
не более чем
255, символов),
Number
(N - число с плавающей
точкой), Моnеу
($ - аналогичен
типу NumЬег,
но добавляется
денежный знак),
Short
(S - целое число
в диапазоне
-32768..32767), LongIntereger
(I целое число
в диапазоне-2147483..
2147483647), ВСD (# - число
в двоично-десятичном
формате), Datе
(D -
дата). Time
(Т - время), Timestamp
(@ - дата и время),
Меmо
(М -
строка любой
длины), Formatted
Memo (F -
аналогичен
Меmо,
но может содержать
форматированный
текст), Graphic
(G -изображение
ВМР, РСХ, ТIF, СИР,
ЕРS), ОLЕ (О - объект
ОLЕ), Logical
(L логическое
- Т, F), Autoincrement
(+ - при добавлении
записи, автоматически
формируется
уникальное
значение), Вinary
(В – последовательность
байтов любой
длины), Вуtes
(У последовательность
не более, чем
255 байтов).
Size-
размер поля
в байтах.
Кеу -
признак первичного
ключевого поля
(двойной щелчок
по колонке).
Requierd
Filed
- признак
обязательного
заполнения
поля.
Вторичные
ключи (индексы)
создаются путем
выбора из списка
свойств таблицы
строки
Secondary
Indexes,
и после нажатия
кнопки
Define
выводится
окно
Define Secondary Indexes.
Используя
кнопки со стрелками
или двойными
щелчками, перенесем
нужное поле
или несколько
полей, если
ключ составной,
в список индексов.
Имеются переключатели:
Unique
(уникальный
индекс),
Саse
sensitive
(учет регистров
строковых
полей),
Descending
(сортировка
по возрастанию).
Кнопкой
ОК.
производится
выход с указанием
имени индекса.
Поле, которое
является первичным
| |||||