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

  • Теоретическая часть. Компонент UpDown

  • Свойства компонента UpDown

  • Свойства компонента ListBox

  • DateTimePicker . Свойства компонента DateTimePicker

  • MonthCalendar

  • DateTimePicker

  • Очень важное замечание по работе с датами!

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


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

    Лабораторная работа № 4.



    Тема. Создание интерфейса программы. Элементы управления для выбора из списков. (ListBox, ComboBox). Элементы UpDown. DateTimePicker и

    MonthCalendar..
    Цель:

    • Научиться применять элемент для ввода числовых значений - счётчик.

    • Научиться применять списки - прокручивающийся и раскрывающийся.

    • Научиться применять элемент для отображения и выбора дат.


    Теоретическая часть.

    Компонент UpDown - счётчик предназначен для пошагового регулирования числовой величины. Он имеет пару кнопок, с помощью которых величина наращивается или уменьшается. Сам по себе этот элемент не имеет возможности что-либо менять, а обычно его связывают с текстовым полем Edit, которое отображает регулируемую величину.

    Связанный компонент называется компаньоном. Сам компонент UpDown находится во вкладке Win32.

    Свойства компонента UpDown

    Свойство

    Назначение

    AlignButton

    Определяет положение счётчика относительно компаньона:

    udLeft - счётчик располагается слева от него;

    udRight - справа от него.

    ArrowKeys

    Разрешает/запрещает интерпретировать нажатие клавиш | и | как щелчки, соответственно на направленной вверх и направленной вниз кнопках счётчика.

    Associate

    Определяет связанный компонент (компаньон). Кнопки автоматически располагаются с нужной стороны компаньона и выравнивают свою высоту по его высоте.

    Increment

    Определяют шаг наращивания/уменьшения регулируемой величины. Значение может иметь только целочисленное значение - Smalllnt. (-32768..32767)

    Max и Min

    Определяет максимальное и минимальное значение диапазона изменения регулируемой величины. Значение может иметь только целочисленное значение - SmallInt.

    Orientation

    Определяет ориентацию компонента:

    udHorizontal - по горизонтали;

    udVertical - по вертикали.

    Position

    Содержит текущее значение текущей величины. Значение может иметь только целочисленное значение - SmallInt.

    Thousands

    Если содержит значение True, при отображении числовой величины в компаньоне в текст вставляются разделители тысяч

    Wrap

    Запрещает/разрешает выход значения Position из диапазона Max...Min (True - запрещает).

    Компонент ListBox - список, представляет собой стандартный для Windows список, с помощью которого пользователь может выбрать один или несколько пунктов. В этом компоненте предусмотрена возможность программной прорисовки пунктов, поэтому список может содержать не только текстовые строки, но и произвольные изображения.

    Свойства компонента ListBox

    Свойство

    Назначение

    AutoComplete

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

    BorderStyle

    Определяет стиль рамки:

    • bsSingle - рамка толщиной 1 пиксел;

    • bsNone - нет рамки.

    Columns

    Определяет количество колонок в списке.

    ItemIndex

    Содержит индекс элемента, выбранный в данный момент - имеющий фокус ввода.

    Items

    Содержит набор строк, показываемых в компоненте.

    Sorted

    Разрешает/отменяет сортировку строк в алфавитном порядке

    TopIndex

    Индекс первого видимого в окне пункта списка.

    Создание элементов (пунктов) списка компонента программно может быть выполнено с помощью методов его свойства Items - Add, Append, Insert или LoadFromFile.

    ComboBox - комбинированный список, раскрывающийся список. Данный компонент является комбинацией списка ListBox и текстового поля Edit, поэтому большая часть его свойств и методов заимствованы у этих компонентов. Однако, существуют пять модификаций компонента, определяемые его свойством Style:

    • csSimple - в этой модификации для смены элемента списка, отображаемого в его окне, следует активизировать компонент и использовать клавиши-стрелки | и |.

    • csDropDown - список можно открыть и выбрать элемент мышью, ввести в список первые символы элемента, использовать клавиши-стрелки | и |. Данный вариант в Инспекторе объектов задаётся по умолчанию.

    • csDropDownList - в этой модификации поле списка работает в режиме отображения выбранного элемента, но в это поле нельзя ввести новый элемент.

    • Модификации csOwnerDrawFixed и csOwnerDrawVariable используются для программной прорисовки списка.

    Для ввода и/или отображения даты и времени используется компонент DateTimePicker.

    Свойства компонента DateTimePicker

    Свойство

    Назначение

    CalAlignment

    Определяет положение раскрывающегося календаря:

    dtaLeft - слева от компонента;

    dtaRight - справа от компонента.

    Данное свойство учитывается только для свойств Kind = dtkDate и DateMode = dmComboBox

    Checked

    Если выполняются условия Checked = True и ShowCheckBox = True, рядом с полем даты (времени) будет показан и установлен флажок. Наличие флажка или его отсутствие разрешает или запрещает ручной ввод даты или времени

    Date

    Содержит введённую дату

    DateFormat

    Определяет формат показа даты:

    dfShort - 01.01.2009

    dfLong - 1 января 2009 г.

    DateMode

    Определяет способ выбора даты:

    dmComboBox - с помощью раскрывающегося календаря;

    dmUpDown - с помощью встроенного компонента UpDown.

    Kind

    Определяет содержимое компонента:

    dtkDate - дата;

    dtkTime - время.

    MaxDate и MinDate

    Определяет максимальную и минимальную даты, которые может выбрать или ввести пользователь.

    ParseInput

    Если содержит True, возникает событие OnUserInput при каждом вводе пользователя в текстовое поле

    ShowCheckBox

    Если содержит значение True, рядом с полем даты (времени) вставляется флажок, с помощью которого пользователь может запретить ручное изменение даты (времени).

    Time

    Содержит введённое пользователем время

    События компонента DateTimePicker

    Событие

    Описание

    OnChange

    Возникает при любом изменении содержимого компонента

    OnCloseUp

    Возникает при закрытии календаря

    OnDropDown

    Возникает при открытии календаря

    OnUserInput

    Возникает при ручном вводе в текстовое поле, если ParseInput = True.

    UserString - введённая пользователем строка;

    DateAndTime - значения свойств Date и Time.

    MonthCalendar - компонент для выбора или отображения даты. Он очень похож на календарь, который появляется в компоненте DateTimePicker, но в отличие от последнего может отображать одновременно несколько смежных месяцев - в зависимости от своих размеров.




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

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

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

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

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



    В интерфейсе использовать:

    • Для отображения списка цветов текста в поле - список ListBox

    • Для отображения списка с размерами текста в поле - ComboBox

    • Для отображения текста в текстовом поле - Memo

    • Для дат использовать DateTimePicker и MonthCalendar

    • Для календаря MonthCalendar настроить свойства CalColors

    4. Логика работы программы.

    При выборе элемента в списке Цвет текста в Текстовом поле должен измениться цвет самого текста. Это можно сделать следующим образом:

    procedure TForm1.ListBox1Click(Sender: TObject);

    begin

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

    Всякий цвет, используемый в стандартной палитре, имеет три основных цвета - красный, зелёный, голубой -RGB. Все остальные цвета являются производными от этих трёх основных. Каждый из этих трёх цветов имеет 256 градаций цвета - оттенков. Значения цвета могут быть в диапазоне от 0 до 255. Значению 0 соответствует минимум этого цвета (он отсутствует), 255 - максимум. Для обозначения объёма цвета используется шестнадцатеричное представление числа: соответственно 0(10) = 00(16) и 255(10) = FF(16). Соответственно, шестнадцатеричный код цвета будет обозначаться в виде последовательности из трёх шестнадцатеричных чисел.

    Для большинства систем программирования порядок цветов задаётся в виде RGB, т.е. на первом месте (старший байт) стоит компонент красного цвета, на втором - зелёного, на третьем - голубого. В Delphi этот порядок - обратный, т.е. BGR. Следовательно, там, где в обычной ситуации, например в HTML, красный цвет обозначается как $FF0000, то в Delphi - $0000FF.

    Более подробно все именованные цвета (140 цветов) перечислены в Приложении 4.

    Для изменения цвет текста в текстовом поле Memo используется список с перечнем размеров шрифта - ряд чисел от 8 до 24 с интервалом 2.

    Для изменения можно использовать процедуру следующего вида:

    procedure TForm1.ComboBox1Change(Sender: TObject); begin

    case Combobox1.ItemIndex of

    Очень важное замечание по работе с датами!

    При использовании данных, имеющих тип данных и применении компонентов, работающих с датами, при компиляции приложения вначале возникает ошибка. В окне сообщений указано на то, что использован неопределённый идентификатор - в роли неопределённого идентификатора выступает имя одной из функций, выполняющей обработку данных в формате даты. Это происходит по той причине, что при использовании функций работы с датами необходимо в заголовочную часть проекта дополнительно добавить имя модуля DateUtils. Данный модуль из библиотеки модулей Delphi содержит функции и процедуры работы с датами, однако автоматически он не добавляется в блок uses! Необходимо дописать в этот блок имя модуля! После дополнения этого модуля блок uses может иметь следующий вид:

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, DateUtils;
    1   2   3   4   5   6   7   8   9   ...   12


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