Автор работы: Пользователь скрыл имя, 10 Июня 2012 в 09:26, контрольная работа
Разработаем программу, которая позволит создавать новый файл с данными формата .dat, открывать уже существующий и добавлять записи, а так же производить первоначальный анализ (поиск) информации открытого файла по определенным критериям.
Задание №1. - 3 -
Описание работы программы. - 3 -
Листинг программы. - 6 -
Пример выполнения программы. - 11 -
Задание №2 - 12 -
Описание работы программы. - 12 -
Листинг программы. - 14 -
Пример выполнения программы. - 16 -
Задание №3 - 18 -
Достоинства БД MS Access. - 19 -
Описание среды разработки. - 19 -
Описание структуры БД. - 20 -
Описание структуры программы. - 21 -
Программная реализация. - 21 -
Использованные SQL запросы. - 25 -
Полный листинг программы. - 25 -
RadioButton3: TRadioButton;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Button10: TButton;
procedure Button1Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
Kniga = Record
Avtor : String[50];
Name : String[50];
GodI : Integer;
Izdat : String[50];
KolS : Integer;
End;
var
Form1: TForm1;
FileKn : File Of Kniga;
st, vr : Kniga;
putF, putOt : String;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
k : Integer;
begin
//Привязка переменной к реальному файлу
AssignFile(FileKn,putF);
//Чтение файла для добавления элементов
Reset(FileKn);
//Считывание информации о книге
st.Avtor := Form1.Edit5.Text;
st.Name := Form1.Edit1.Text;
st.GodI := StrToInt(Form1.Edit2.Text);
st.Izdat := Form1.Edit3.Text;
st.KolS := StrToInt(Form1.Edit4.Text);
//Перемещает указатель на последнюю запись в файле
While Not Eof(FileKn) Do
Read(FileKn,vr);
//Запись данных в файл
Write(FileKn,st);
//Будем еще добавлять данные или нет
If MessageDlg('Добавить еще одну книгу?', mtConfirmation, [mbYes, mbNo],0)=mrNo
Then
Begin
//Блокируем
поля ввода и кнопку
//и выходим из процедуры
Form1.Button1.Enabled := False;
Form1.Edit1.Clear;
Form1.Edit2.Clear;
Form1.Edit3.Clear;
Form1.Edit4.Clear;
Form1.Edit5.Clear;
Form1.GroupBox2.Enabled := False;
Exit;
End;
//Очищаем поля для ввода других данных
Form1.Edit1.Clear;
Form1.Edit2.Clear;
Form1.Edit3.Clear;
Form1.Edit4.Clear;
Form1.Edit5.Clear;
//Закрытие файла
CloseFile(FileKn);
end;
procedure TForm1.Button10Click(Sender: TObject);
Var
k : Integer;
sn, sa : String;
begin
//Привязка переменной к реальному файлу
AssignFile(FileKn, putOt);
//Открытие файла для чтения
Reset(FileKn);
//Поиск книги данного автора
If Form1.RadioButton1.Checked = True
Then
Begin
//Поиск нужной информации и вывод ее на экран
k := 0;
Form1.Memo1.Lines.Clear;
While Not Eof(FileKn) Do
Begin
Read(FileKn,st);
If st.Avtor = Form1.Edit6.Text
Then
Begin
Form1.Memo1.Lines.Add('- Книга: ' + st.Name + ';');
k := k+1;
End;
End;
//Вывод информации
ShowMessage('Найдено совпадений - '+ IntToStr(k));
If k = 0
Then
Begin
Form1.Memo1.Lines.Add('Поиск
Form1.Memo1.Lines.Add('
End;
End;
//Поиск книги наибольшим количеством страниц
If Form1.RadioButton2.Checked = True
Then
Begin
//очистка поля результата