Главная страница
Навигация по странице:

  • Теоретическая часть. Логические элементы.

  • Флажок Checkbox

  • Радиокнопка RadioButton .

  • RadioGroup .

  • Список с флажками CheckListBox

  • Для использования групп логических элементов.

  • Информатика21-22. Методические указания по курсу Информатика Пятигорск 2020 Лабораторная работа 1


    Скачать 4.27 Mb.
    НазваниеМетодические указания по курсу Информатика Пятигорск 2020 Лабораторная работа 1
    Дата31.03.2022
    Размер4.27 Mb.
    Формат файлаdocx
    Имя файлаИнформатика21-22.docx
    ТипМетодические указания
    #431282
    страница4 из 12
    1   2   3   4   5   6   7   8   9   ...   12

    Лабораторная работа 3.


    Тема. Создание интерфейса программы. Логические элементы управления. Цель:

    • Создание вычислительных программ с использованием элементов управления.


    Теоретическая часть.
    Логические элементы.

    Логическими называются элементы, значения которых могут принимать True или False. В программах используются флажки (параметры) и переключатели для управления логикой программы.

    Флажок Checkbox

    Компонент CheckBox предоставляет два варианта выбора - его можно установить или сбросить. Он соответствует логическому элементу ИЛИ.

    В составе формы может быть несколько компонентов CheckBox, причём состояние любого из них никак не зависит от состояния остальных.

    Может быть использован при выполнении процедуры, напрямую не связанной с этим компонентом. Например, при выполнении вычислений его состояние может влиять на значение полученного результата -включенный параметр Скидка автоматически полученный результат стоимости умножает на коэффициент, соответствующий скидке.

    Так же данный элемент может управлять состоянием или отображением какого-либо другого компонента. Например, при выборе (включении) флажка доступ к полю Memol может быть заблокирован (свойство Enabled), а после снятия флажка поле Memol будет снова доступно. Это может быть использовано при наступлении события OnClick.

    procedure TForm1.CheckBox1Click(Sender: TObject); begin

    if CheckBox1.Checked = true then Memo1.Enabled:= false; if CheckBox1.Checked = false then Memo1.Enabled:= true;

    end;
    Или выбор флажка влияет на видимость (свойство Visible) какого-либо компонента. Например:

    procedure TForm1.CheckBox1Click(Sender: TObject); begin

    if CheckBox1.Checked = true then Memo1.Visible:= false; if CheckBox1.Checked = false then Memo1.Visible:= true;

    end;


    Основные свойства компонента CheckBox


    Радиокнопка RadioButton.

    В отличие от компонента CheckBox компоненты RadioButton представляют собой переключатели, предназначенные для выбора одного из нескольких взаимоисключающих решений. Свойства и методы данного компонента аналогичны компоненту CheckBox.

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

    С помощью переключателей происходит управление стилем окна - меняется вид программного окна.


    Любое окно может иметь 6 стандартных видов.

    Данный диалог может иметь 6 элементов CheckBox и для каждого в свойствах Caption указать один из стилей окна, который будет иметь окно при выборе того или иного переключателя. Для проверки состояния элемента проверяется логическое свойство Checked. Элемент выбран, если это свойство True.

    Данный диалог можно реализовать в виде - щелчок по элементу CheckBox1 создаёт процедуру, в которой происходит проверка на выбор данного элемента.

    procedure TForm1.RadioButton1Click(Sender: TObject); begin

    if (RadioButton1.Checked = true) then Form1.BorderStyle := bsSizeable;

    end;

    Недостатком такого способа является то, что при относительно большом количестве таких элементов для проверки выбора каждого необходимо создавать отдельную процедуру для каждого элемента.

    При использовании нескольких переключателей в одной форме все они считаются одной группой. При необходимости использовать в одной форме несколько групп переключателей, необходимо использовать логический элемент RadioGroup. Он позволяет объединять несколько переключателей в логические группы.

    Основными свойствами элемента управления RadioGroup являются

    • Caption - заголовок радиогруппы.

    • Items - строковое свойство, позволяющее задавать количество элементов в радиогруппе простым вводом строк в специальном редакторе строк.

    • Columns - определяет количество столбцов в радиогруппе.

    Для определения выбора элемента радиогруппы используется событие OnClick. Доступ к элементам списка в радиогруппе осуществляется по индексу этого элемента в списке - свойство ItemIndex. Следует помнить, что все элементы списка нумеруются начиная с 0. Следовательно, 1-й элемент будет иметь свойство ItemIndex = 0.

    Так как это свойство является числовым значением целого типа, следовательно, обращение к нескольким элементам можно выполнять с помощью оператора case N of ... end;


    Например, проверку состояния радиогруппы для настройки стиля окна можно сделать следующим образом:

    procedure TForm1.RadioGroup1Click(Sender: TObject); begin

    Список с флажками CheckListBox

    Компонент CheckListBox расположен на вкладке Additional и представляет собой прокручиваемый список, рядом с каждым элементом которого расположен флажок.

    Свойство Items содержит элементы списка. Свойство Itemlndex содержит порядковый номер текущего выделенного элемента списка. Все элементы списка нумеруются, начиная с 0. Для программной обработки доступны свойства:

    • Selected - определяет, выделен ли каждый конкретный элемент;

    • Checked - установлен ли флажок конкретного элемента.

    • SelCount - равно количеству выделенных элементов.

    • Sorted - задаёт расположение элементов в алфавитном порядке.

    Ход работы.

    1. Создать новый проект.

    2. Для окна проекта задать следующие свойства:




    • Размер формы: ширина - 700 пикселей, высота - 400 пикселей.

    • Заголовок формы - Лабораторная работа № 3.

    • Для предотвращения изменения размера окна указанные размеры задать в свойстве Constraints формы.

    3. С использованием компонентов сконструировать интерфейс программы.



    Для выбора использованы флажки - компоненты CheckBox. В свойстве Caption текст удалить. Для зрительного выделения переключателей можно использовать декоративный элемент GroupBox. В его свойство Caption ввести заголовок компонента - Наценка. Размеры компонента задать графически. Переключатели расположить в пределах компонента. Для каждого в свойство Caption ввести заголовок - 5%
    4. Логика работы программы. После ввода данных в поля Количество и Цена пользователь должен указать, какие из товаров должны быть выбраны. Процент наценки автоматически в свойствах должен быть выбран для первого из компонентов. Стоимость необходимо вычислять уже с учётом наценки. Т.е. формула для вычисления стоимости может иметь следующий вид в математической форме: [Стоимость] = [Количество] * [Цена] * [Коэффициент наценки]

    Коэффициент наценки может быть задан в виде одной переменной и её значение (1,05 или 1,1 или 1,15) может быть задано в программе в зависимости от того, какой вид наценки выбран. Выбор товара будет влиять на итоговую стоимость. Формула для расчёта итоговой стоимости в математической форме может иметь следующий вид:

    [Итог] = [Стоимость 1] * [Индикатор выбора 1] + [Стоимость 2]* [Индикатор выбора 2] +[Стоимость 3] * [Индикатор выбора 3]

    Индикатор выбора - это числовая переменная, которая может принимать значения либо 1, если соответствующий флажок выбора включен, либо 0, если соответствующий флажок выбора не включен.

    Рекомендация. Всем статическим числовым переменным по умолчанию задаётся значение равное 0, но для устранения различных непредвиденных ситуаций лучше всего переменной явно задать значение равное 0. Пример: по умолчанию все три переменные - индикаторы выбора получат значение равное 0, но лучше всего поступить так при проверке выбора флажка.

    Если флажок 1 включен, то переменной выбора присвоить значение 1, иначе переменной выбора присвоить значение 0.

    С одной стороны это формальность (всё равно по умолчанию 0!), а с другой стороны на практике это часто приводит к недоразумениям. Особенно это касается работы с динамической памятью и использованием указателей.

    1. Основной программный код должен быть написан в процедуре, которая выполняется при щелчке на кнопке Расчёт.

    2. Для написания кода программы использовать данные из Лабораторной работы № 2.

    3. В программе предусмотреть обработку исключительной ситуации - неверное преобразование введённых данных в поля Количества и Цены.


    Для использования групп логических элементов.

    1. Создать новый проект.

    2. Для окна проекта задать следующие свойства:




    • Размер формы: ширина - 700 пикселей, высота - 500 пикселей.

    • Заголовок формы - Лабораторная работа № 3-2.

    • Для предотвращения изменения размера окна указанные размеры задать в свойстве Constraints формы.

    3. С использованием компонентов сконструировать интерфейс программы.



    В интерфейсе использовать список с флажками CheckListBox, три радиогруппы RadioGroup, надпись с Фамилией, Именем, Отчеством.

    4. Логика работы программы. При прогоне программы в окне изначально не видны радиогруппы. Для этого можно в Инспекторе объектов в свойстве Visible каждой радиогруппы задать значение False. Каждая радиогруппа должна независимо от других отображаться в заданном месте формы. Для отображения радиогруппы используется свойство Visible. Радиогруппа становится видимой при условии, что свойство Checked списка с флажками CheckListBox является включенным. Например, для управления отображением первой радиогруппы, можно использовать фрагмент кода в процедуре, создаваемой при наступлении события OnClick компонента CheckListBox1.

    if CheckListBox1.Checked[0]

    then Radiogroup1.Visible := True else Radiogroup1.Visible := False;

    Аналогично для других радиогрупп.
    5. Для каждой радиогруппы в отдельности ввести заголовок, список элементов.

    В зависимости от выбора в каждой из радиогрупп, внешние свойства окна (цвет фона) или надписи (размер шрифта и цвет шрифта) должны меняться в соответствии с выбранным вариантом. В данном случае для определения выбора в радиогруппе можно использовать оператор case. Примером является программный код процедуры при выборе второй радиогруппы для задания размера шрифта в текстовой надписи.

    procedure TForm1.RadioGroup2Click(Sender: TObject); begin

    case RadioGroup2.ItemIndex of 0: Label2.Font.Size := 12; 1: Label2.Font.Size := 14; 2: Label2.Font.Size := 18; 3: Label2.Font.Size := 20; end;

    end;
    По аналогии создайте процедуры для управления цветом окна и цветом надписи с фамилией.
    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта