Отчет по ПЗ 01 - 7 вариант (Вариант 7 - Отчет по практическому заданию)
Описание файла
Документ из архива "Вариант 7 - Отчет по практическому заданию", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информационные технологии" в общих файлах.
Онлайн просмотр документа "Отчет по ПЗ 01 - 7 вариант"
Текст из документа "Отчет по ПЗ 01 - 7 вариант"
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Московский государственный университет приборостроения и информатики»
Кафедра ИТ-6 «Управление и моделирование систем»
Отчет по практическому заданию
Вариант «7»
Реферат подготовил: Васильев О.М.
студент 1курса ИТ-6 группы
Проверил: Выжгин А. Ю.
Москва 2011г.
Список поставленных задач
1) Спроектируйте базу данных, состоящую из нескольких таблиц таким образом, чтобы в многотабличной системе были таблицы со связью 1:1, 1:N: Сведения об абонентах АТС. База данных должна содержать следующую информацию: фамилию, имя, отчество владельца телефона, год установки телефона, номер телефона, тип установки телефона (спаренный или нет), льготу (процентную скидку при оплате).
2) Используя исходную БД, спроектируйте экранную форму (приложение), включив в нее все поля и оформив некоторые из них следующим образом: Год установки телефона необходимо вывести в формате, например:1990 год.
Тип установки телефона - выключатель для полей БД логического типа (DBCheckBox).
3) Создайте и разместите на форме вычисляемое(ые) поле, содержащее Количество не спаренных телефонов со льготами и без льгот.
4) Используя приложение, созданное в практическом занятии № 2, спроектируйте и создайте отчет, содержащий следующую информацию: Список номеров телефонов, сгруппированных по их типу, с указанием ФИО владельца, адреса владельца и года установки, а также количество телефонов данного типа в конце каждой группы.
5) Используя приложение, созданное в практическом занятии № 2, спроектируйте и создайте запрос следующего вида: Создайте отчет, содержащий номера телефонов абонентов, у которых есть льготы, с указанием ФИО и адреса владельца, года установки. Отчет создайте на основе компоненты TQuery.
6) Используя приложение, созданное в практическом занятии № 2, спроектируйте создайте главное меню, предоставляющее следующие возможности (состав и структуру меню и его подменю определить самостоятельно):
А. Завершение работы.
Б. Печать отчета, созданного в практическом занятии № 3. (можно использовать любой из созданных отчетов).
В. Поиск телефона по номеру.
Г. Поиск по фамилии.
Д. Сортировка по годам установки телефонов.
Е. Сортировка по номерам телефонов.
Ж. Вывод списка абонентов, имеющих спаренный телефон.
З. Вывод списка льготных номеров телефонов и их владельцев.
Листинг программы
//Выбор Таблиц
procedure TBD.B_poezdkiClick(Sender: TObject);
begin DBG.DataSource.DataSet := Poezdki; end;
procedure TBD.B_managersClick(Sender: TObject);
begin DBG.DataSource.DataSet := Managers; end;
procedure TBD.B_yazikClick(Sender: TObject);
begin DBG.DataSource.DataSet := Yazik; end;
procedure TBD.B_stranaClick(Sender: TObject);
begin DBG.DataSource.DataSet := Strana; end;
//При открытии формы
procedure TBD.FormCreate(Sender: TObject);
begin
Sostoyanie.Text := '';
Yazik.Active := True;
Managers.Active := True;
Poezdki.Active := True;
Strana.Active := True;
end;
//Открытие формы добавления
procedure TBD.Add_managerClick(Sender: TObject);
begin
Add_form.Caption := 'Добавление нового менеджера';
Add_form.SetBounds(add_form.Left,add_form.Top,273,179);
Add_form.P_manager.SetBounds(0,0,265,145);
Add_form.P_manager.Visible:=True;
Add_form.M_fam.Text := '';
Add_form.M_age.Text := '';
Add_form.M_Yaz.Items.Clear;
Yazik.First;
While not Yazik.Eof Do Begin
Add_form.M_Yaz.Items.Add(Yazik.FieldByName('Yazik').AsString);
Yazik.Next;
end;
Add_form.M_Yaz.Text := '';
Add_form.M_Yaz.ItemIndex := -1;
Add_form.M_Ozen.Text := '';
Add_form.ShowModal;
end;
procedure TBD.Add_stranaClick(Sender: TObject);
begin
Add_form.Caption := 'Добавление новой страны';
Add_form.SetBounds(add_form.Left,add_form.Top,273,107);
Add_form.P_strana.SetBounds(0,0,265,73);
Add_form.P_strana.Visible:=True;
Add_form.S_strana.Text := '';
Add_form.ShowModal;
end;
procedure TBD.Add_yazikClick(Sender: TObject);
begin
Add_form.Caption := 'Добавление нового языка';
Add_form.SetBounds(add_form.Left,add_form.Top,273,107);
Add_form.P_Yazik.SetBounds(0,0,265,73);
Add_form.P_Yazik.Visible := True;
Add_form.Y_yazik.Text := '';
Add_form.ShowModal;
end;
procedure TBD.Add_poezdkaClick(Sender: TObject);
begin
Add_form.Caption := 'Добавление новой поездки';
Add_form.SetBounds(add_form.Left,add_form.Top,273,155);
Add_form.P_poezdki.SetBounds(0,0,265,121);
Add_form.P_poezdki.Visible:=True;
Add_form.P_date.Date := Date;
Add_form.P_man.Items.Clear;
Managers.First;
While not Managers.Eof Do Begin
Add_form.P_man.Items.Add(Managers.FieldByName('Familiya').AsString);
Managers.Next;
end;
Add_form.P_man.ItemIndex := -1;
Add_form.P_man.Text := '';
Add_form.P_str.Items.Clear;
Strana.First;
While not Strana.Eof Do Begin
Add_form.P_Str.Items.Add(Strana.FieldByName('Strana').AsString);
Strana.Next;
end;
Add_form.P_str.Text := '';
Add_form.P_str.ItemIndex := -1;
Add_form.ShowModal;
end;
//Кнопка удаления записей
procedure TBD.Button1Click(Sender: TObject);
var
BS: Integer;
begin
BS := MessageDlg('Удалить запись?',mtInformation,[mbYes,mbNo], 0);
if BS = mrNo then Exit;
If (DBG.DataSource.DataSet = Poezdki) Then Begin
Poezdki.Delete;
End;
If (DBG.DataSource.DataSet = Strana) Then Strana.Delete;
If (DBG.DataSource.DataSet = Yazik) Then Yazik.Delete;
If (DBG.DataSource.DataSet = Managers) Then Managers.Delete;
end;
//Редактирование записей
procedure TBD.DBGDblClick(Sender: TObject);
begin
If (DBG.DataSource.DataSet = Poezdki) Then Begin
Add_form.Caption := 'Изменение поездки';
Add_form.SetBounds(add_form.Left,add_form.Top,273,155);
Add_form.P_poezdki.SetBounds(0,0,265,121);
Add_form.P_poezdki.Visible:=True;
Add_form.P_date.Date := Poezdki.FieldByName('Data').AsDateTime;
Add_form.P_man.Items.Clear;
Managers.First;
While not Managers.Eof Do Begin
Add_form.P_man.Items.Add(Managers.FieldByName('Familiya').AsString);
Managers.Next;
end;
Add_form.P_man.ItemIndex := Poezdki.FieldByName('Manager').AsInteger - 1;
Add_form.P_str.Items.Clear;
Strana.First;
While not Strana.Eof Do Begin
Add_form.P_Str.Items.Add(Strana.FieldByName('Strana').AsString);
Strana.Next;
end;
Add_form.P_str.ItemIndex := Poezdki.FieldByName('Strana').AsInteger - 1;
Add_form.ShowModal;
End;
If (DBG.DataSource.DataSet = Strana) Then Begin
Add_form.Caption := 'Изменение страны';
Add_form.SetBounds(add_form.Left,add_form.Top,273,107);
Add_form.P_strana.SetBounds(0,0,265,73);
Add_form.P_strana.Visible:=True;
Add_form.S_strana.Text := Strana.FieldByName('Strana').AsString;
Add_form.ShowModal;
End;
If (DBG.DataSource.DataSet = Yazik) Then Begin
Add_form.Caption := 'Изменение языка';
Add_form.SetBounds(add_form.Left,add_form.Top,273,107);
Add_form.P_Yazik.SetBounds(0,0,265,73);
Add_form.P_Yazik.Visible := True;
Add_form.Y_yazik.Text := Yazik.FieldByName('Yazik').AsString;
Add_form.ShowModal;
End;
If (DBG.DataSource.DataSet = Managers) Then Begin
Add_form.Caption := 'Изменение менеджера';
Add_form.SetBounds(add_form.Left,add_form.Top,273,179);
Add_form.P_manager.SetBounds(0,0,265,145);
Add_form.P_manager.Visible:=True;
Add_form.M_fam.Text := Managers.FieldByName('Familiya').AsString;
Add_form.M_age.Text := Managers.FieldByName('Age').AsString;
Add_form.M_Yaz.Items.Clear;
Yazik.First;
While not Yazik.Eof Do Begin
Add_form.M_Yaz.Items.Add(Yazik.FieldByName('Yazik').AsString);
Yazik.Next;
end;
Add_form.M_Yaz.Text := '';
Add_form.M_Yaz.ItemIndex := Managers.FieldByName('Yazik').AsInteger - 1;
Add_form.M_Ozen.Text := Managers.FieldByName('Ozenka').AsString;
Add_form.ShowModal;
End;
end;
procedure TBD.Button2Click(Sender: TObject);
begin
Query2.Active := false;
Query2.Active := True;
DBG.DataSource.DataSet := Query2;
end;
procedure TBD.Button3Click(Sender: TObject);
begin
Query1.Active := false;
Query1.Active := True;
DBG.DataSource.DataSet := Query1;
end;
procedure TBD.Button4Click(Sender: TObject);
begin
Query3.Active := false;
Query3.Active := True;
DBG.DataSource.DataSet := Query3;
end;
procedure TBD.Button5Click(Sender: TObject);
begin
Query4.Active := false;
Query4.Active := True;
DBG.DataSource.DataSet := Query4;
end;
procedure TBD.Button6Click(Sender: TObject);
begin
QuickRep1.Preview;
end;
procedure TBD.Button7Click(Sender: TObject);
begin
BD.close;
end;
Скриншоты программы