МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
ПАВЛОДАРСКИЙ ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ
по выполнению контрольной работы
VI семестра по предмету:
«Основы объектно-ориентированного программирования»
для студентов заочного ОТДЕЛЕНИЯ
специальность 1304000 «Вычислительная техника и программное обеспечение»
Подготовил: преподаватель
спец. дисциплин ____________
г. Павлодар
20__ г.
ЗАДАНИЕ
1. Создать программу, состоящую из пяти окон, с возможностью последовательного перехода из одного окна в другое, вперед и назад. Данная программа должна выдавать справочную информацию об авторе в виде вопросов и ответов. Каждое окно программы должно быть посвящено определенному жизненному этапу.
2. Название и тематика окон следующая:
· «Титульный лист» (первая форма) – окно с краткой информацией об авторе программы (пример на рис.1). На форме расположить две кнопки: «Выход» и «Далее» (переход к следующей форме);

Рисунок 1. Окно заставки
· «Мое детство» (окно 2) – окно с цитатами, характеризующими детство (до 7 лет) (рис.2);

Рисунок 2.
· «Мое отрочество» (окно 3) – окно с цитатами, характеризующими отрочество (от 7 до 16 лет);
· «Моя юность» (окно 4) – окно с цитатами, характеризующими юность (от 16 до 23 лет);
· «Спасибо!» (окно 5) – окно с перечнем цитат, которые пользователь выдал в каждом из окон 2, 3, 4.
3. Каждое из окон 2, 3, 4 должно содержать те компоненты для выбора вопросов, которые указаны в варианте. Ответ на указанный вопрос для каждого окна может выдаваться в «Memo»-поле или в другой компонент.
ВАРИАНТЫ КОНТРОЛЬНОЙ РАБОТЫ
Вариант | Компонент для выбора вопроса | Компонент для отображения списка заданных вопросов | ||
Окно 2 | Окно 3 | Окно 4 | Окно 5 | |
1. | ListBox | ComboBox | RadioGroup | StringGrid |
2. | ComboBox | RadioGroup | CheckListBox | StringGrid |
3. | RadioGroup | CheckListBox | StringGrid | StringGrid |
4. | CheckListBox | StringGrid | ListBox | StringGrid |
5. | StringGrid | ListBox | ComboBox | StringGrid |
6. | ComboBox | ListBox | RadioGroup | Memo |
7. | RadioGroup | ComboBox | CheckListBox | Memo |
8. | CheckListBox | RadioGroup | StringGrid | Memo |
9. | StringGrid | CheckListBox | ListBox | Memo |
10. | ListBox | StringGrid | ComboBox | Memo |
11. | RadioGroup | ListBox | ComboBox | StringGrid |
12. | CheckListBox | ComboBox | RadioGroup | StringGrid |
13. | StringGrid | RadioGroup | CheckListBox | StringGrid |
14. | ListBox | CheckListBox | StringGrid | StringGrid |
15. | ComboBox | StringGrid | ListBox | StringGrid |
16. | ListBox | RadioGroup | ComboBox | Memo |
17. | ComboBox | CheckListBox | RadioGroup | Memo |
18. | RadioGroup | StringGrid | CheckListBox | Memo |
19. | CheckListBox | ListBox | StringGrid | Memo |
20. | StringGrid | ComboBox | ListBox | Memo |
Методические указания по выполнению контрольной работы:
Ход выполнения работы:
1. Необходимо создать пять форм. На каждой из форм поставить в соответствии со своим вариантом компонент и кнопки «Назад» и «Дальше».
2. Прописать код для кнопок «Назад» и «Дальше».
Код для кнопки «Дальше» (переход из первой формы на вторую)
Form2.show; //показать вторую форму
Код для кнопки «Назад» (на второй форме)
Form2.close; //закрыть вторую форму
3. Для всех остальных компонентов заполнить значения, например как на рисунке 2 для второй формы заполнен компонент ListBox (на каждой форме текст в соответствии с заданием – мое детство, мое отрочество, моя юность).
Компонент | Свойство, с помощью которого заносится текст |
ListBox | Items |
ComboBox | Items |
RadioGroup | Items |
CheckListBox | Items |
StringGrid1 | В обработчике события активации формы onActivate необходимо прописать следующий код: stringGrid1.Cells[0,0]:=’первая цитата’; stringGrid1.Cells[0,1]:=’вторая цитата’; stringGrid1.Cells[0,2]:=’третья цитата’; stringGrid1.Cells[0,3]:=’четвертая цитата’; (вместо слов первая, вторая и т. д. цитата необходимо написать свой текст) |
4. Написать код для пятой формы. Примерный код показан ниже, для формы с компонентом StringGrid.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls;
type
TForm5 = class(TForm)
Button1: TButton; // на форме кнопка Button1 – кнопка «Опрос»
StringGrid1: TStringGrid; //на форме компонент StringGrid
Button2: TButton; // на форме кнопка Button2 – кнопка «Назад»
Button3: TButton; // на форме кнопка Button3 – кнопка «Выход»
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit2, Unit1, Unit3, Unit4; //связь с другими формами
{$R *.DFM}
var i:integer;
//процедура, выполняемая при активации формы
procedure TForm5.FormActivate(Sender: TObject);
begin
{выводим в первую строку значение из компонента ListBox1, расположенного на Form2, при условии, что выбран хоть один элемент ListBox1}
if Form2.Listbox1.Itemindex>=0
then StringGrid1.Cells[0,0]:='Моё детство: '+Form2.Listbox1.Items[Form2.Listbox1.Itemindex]
else StringGrid1.Cells[0,0]:='Моё детство: ';
//выводим во вторую строку значение из компонента ComboBox1, расположенного на Form3.
StringGrid1.Cells[0,1]:='Моё отрочество: '+ Form3.Combobox1.Items[Form3.Combobox1.Itemindex];
//выводим в третью строку значение из компонента RadioGroup1, расположенного на Form4.
StringGrid1.Cells[0,2]:='Моя юность '+Form4.RadioGroup1.Items[Form4.RadioGroup1.Itemindex];
end;
//кнопка Опрос
procedure TForm5.Button1Click(Sender: TObject);
begin
{ Возвращаемся к форме1 для возобновления опроса}
for i:=0 to StringGrid1.RowCount-1 do StringGrid1.Cells[0,i]:=''; //очищаем StringGrid1
StringGrid1.Row:=0;
Form5.Close; //закрываем 5-ю форму
Form4.Close; //закрываем 4-ю форму
Form3.Close; //закрываем 3-ю форму
Form2.Close; //закрываем 2-ю форму
end;
//Кнопка Выход
procedure TForm5.Button2Click(Sender: TObject);
begin
{Выходим из программы}
Application. Terminate;
end;
//Кнопка Назад
procedure TForm5.Button3Click(Sender: TObject);
begin
for i:=0 to StringGrid1.RowCount-1 do StringGrid1.Cells[0,i]:=''; //очищаем строки StrinGrid1
Form5.Close;//закрываем 5-ю форму
end;
end.
СПИСОК ЛИТЕРАТУРЫ
1. Delphi 5. Руководство программиста. – М.: “Нолидж”, 2001. – 880 с., ил.
2. Василий Кучеренко Тонкости программирования на Delphi. Серия книг “Кратко, доступно, просто” – М.: ”Познавательная книга плюс”, 2000. – 192 с.


