Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы_Инф_Анг.doc
Скачиваний:
38
Добавлен:
20.11.2019
Размер:
5.19 Mб
Скачать

Общее задание

Создать приложение с использованием диалогов открытия и сохранения графических изображений (OpenPictureDialog, SavePictureDialog). Для отображения графики необходимо использовать компонент Image.

Лабораторная работа № 6 «Компоненты – переключатели и флажки, их группирование»

Компоненты RadioButton (радиокнопка или переключатель) и CheckBox (флажок) – это оконные элементы управления, предназначенные для организации выбора действий в приложении. Располагаются они на вкладке Standard палитры компонентов Delphi.

Компонент RadioButton, как правило, используется в группе с несколькими компонентами своего типа. Причем если эти компоненты располагаются в одном родительском окне, то выделен, может быть лишь один из них – при выделении одного из переключателей, выделение у всех остальных снимается (Рис. 1).

Рис. 1. Группа компонентов RadioButton

Программно узнать, выделен компонент RadioButton или нет, а также принудительно выделить его – можно, обратившись к свойству Checked логического типа.

Компонент CheckBox может использоваться как в группе с несколькими компонентами своего типа, так и один (Рис. 2). Пользователь в любой момент может выделить флажок или отменить его выделение. Причем, это не зависит от того, используется он в группе таких же компонентов, или нет. Программно узнать, выделен флажок CheckBox или нет, а также принудительно выделить его – можно также, обратившись к свойству Checked логического типа.

Рис. 2. Компоненты CheckBox

Для группировки переключателей и флажков может использоваться любой компонент, являющийся оконным элементом управления (на этапе разработке только окна-контейнеры: ScrollBox, Form, GroupBox, Frame и т.д.).

Создадим приложение с использованием рассмотренных нами компонентов. Приложение позволит автоматизировать процесс педагогического тестирования по информатике.

Тест по программированию будет состоять из пяти вопросов:

Вопрос 1. С какого служебного слова начинается описание модуля в Object Pascal?

  1. Main_proc ();

  2. Global_module

  3. Module

  4. Unit

Вопрос 2. В Object Pascal служебное слово Inherited означает:

  1. Вызов унаследованного метода;

  2. подключение DLL;

  3. подключение модуля.

Вопрос 3. В Turbo Pascal 7 в главной программе невозможно описание вида:

  1. var D:array[1..100] of integer;

  2. var F:integer

  3. var HC:integer=0.

Вопрос 4. (15 mod 3)=

  1. 3

  2. 5

  3. 0

Вопрос 5. (57 div 2)=

  1. 23,5

  2. 23

  3. 28

Создадим новое приложение, выбрав File > New > Application. Обратимся к вкладке Win32 и поместим на форму компонент PageControl. Создадим пять страниц в элементе управления, вызвав его контекстное меню правой кнопкой мыши над ним, и выбрав New Page. (Рис. 3). Выделим компонент PageControl, щелкнув левой кнопкой мыши в область заголовка этого компонента и в Инспекторе объектов настроим его свойства:

  • Top=0

  • Left=0

  • Width=400

  • Height=300

Выберем первую страницу TabSheet1, щелкнув левой кнопкой мыши на ее заголовок и щелкнув в ее графическую область. Свойству Caption страницы TabSheet1 установим значение «Вопрос №1». Поместим на страницу четыре компонента типа RadioButton (если компонент помещен на страницу, то он при перетаскивании он не будет выходить за ее пределы). Свойствам Caption компонентов типа RadionButton установим значения в соответствии с ответами на первый вопрос теста. Выделим первую радиокнопку, установив в ее свойство Checked значение true. Поместим на страницу TabSheet1 компонент Label, и его свойству Caption установим значение, являющееся текстом первого вопроса теста (Рис. 4).

Рис. 3. Редактируемая форма. Компонент PageControl.

Подобным образом, в соответствие с вопросами теста заполним остальные четыре страницы TabSheet2, TabSheet3, TabSheet4, TabSheet5.

Рис. 4.

Поместим на форму компонент Memo. Он необходим нам для вывода результатов тестирования (статистики тестирования).

Установим значения свойств компонента Memo1:

  • Left=400

  • Top=0

  • Width=100

  • Height=300

  • Lines (В редакторе свойства необходимо удалить все строки)

  • ReadOnly = true (Только для чтения)

Поместим на форму компонент Button (Рис. 5) и установим значения его свойств:

  • Caption = Показать результат тестирования

  • Left=0

  • Top=300

  • Width=500

  • Height=25

Рис. 5. Редактируемая форма. Компонент Button1.

Создадим обработчик события OnClick компонента Button1:

procedure TForm1.Button1Click(Sender: TObject);

begin

// очищаем редактор текста от предыдущих результатов

Memo1.Lines.Clear;

// так как в первом вопросе верным ответом является четвертый, а ответ реализован компонентом

// RadioButton4, то проверяем, отмечен ли четвертый переключатель и заносим в Memo

// соответствующую информацию

if RadioButton4.Checked then memo1.Lines.Add('Вопрос №1 Ok')

else memo1.Lines.Add('Вопрос №1 No');

end;