1 (663428), страница 2
Текст из файла (страница 2)
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;
- визуальные компоненты отображения данных.
Для создания таблицы автономной базы имеется приложение
Database Desktop, которое вызывается командой Tools/Database Desktop.
Оно имеет собственное окно, меню и кнопки (заставка этого пункта). Новая таблица создается построителем таблиц, который вызывается командой File/New/ТаЫе. На запрос тип СУБД выберем Рагаdох 7.
Рассмотрим основные колонки и поля окна конструктора таблиц.
File Name - идентификаторы полей (не более латинских букв и цифр для совместимости с другими СУБД).
Туре - тип поля (указывается выбором из контекстного меню): А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- размер поля в байтах.
Кеу - признак первичного ключевого поля (двойной щелчок по колонке).
Таbles properties - дополнительные свойства таблицы: Secondary Index (задание вторичных индексов), Validity Checks (ограничения на ввод значений полей). Рassword Security (определение пароля), Referential Intergity (определение ссылочной целостности между таблицами), ТаЫе Language(задание языка), ТаЫе Lоокор (задание полей просмотра), Depending ТаЫеs(зависимые дочерние таблицы).
Requierd Filed - признак обязательного заполнения поля.
Мiniтит..., Махiпит... - начало и конец диапазона допустимых значений.
Default vа1ие - значение по умолчанию при добавлении пустой записи.
Р1сture,Assist - шаблон и построитель шаблона значения поля.