Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Практическое занятие 4




Ввод дискретной информации из компонента ComboBox и ListBox

Цель занятия

Знакомство студентов с вводом в программу значений переменных, которые могут принимать только определённые значения. Примеров дискретных переменных очень много: а) в списке фамилий студентов группы стоят только определённые фамилии; б) пол человека может быть либо мужским, либо женским, в) в году не может быть больше 366 дней, в месяце не больше 31; г) дни недели называются: понедельник, вторник, среда, четверг, пятница, суббота, воскресенье и никак иначе в русском языке. Примеров, подобных приведённым выше, в жизни великое множество. Для ввода таких, заранее предопределённых значений, используются компоненты ComboBox и ListBox. Если в компоненте ComboBox список значений переменных (Items) скрыт и открывается в момент выбора какого либо одного значения из списка множества значений (выпадающий список), то в компоненте ListBox весь список (Items) открыт. Каждый элемент списка располагается на отдельной строке и кроме собственного значения имеет свой номер (ItemIndex). Номера начинаются с нуля. Первый элемент списка имеет номер 0 (ItemIndex = 0), второй - 1 (ItemIndex = 1), и т.д. Все элементы списков ComboBox и ListBox относятся к типу строка.

Задание 1

Поместите на форму следующие компоненты: Button, Memo, ComboBox и ListBox. Создайте заготовку процедуры и сохраните программу в папке практика 4. Убедитесь, что в папке не меньше 6 файлов. В инспекторе объектов компонента ComboBox найдите свойство список (Items) и нажмите указатель (3 точки), расположенный с правой стороны поля. В появившемся окне редактора списка строк(String List Editor) создайте список шкалы номинальных напряжений. Номинальные напряжения это значения действующихмеждуфазных (линейных) напряжений. В энергосистеме Российской Федерации приняты следующие величины номинальных напряжений: 0,4; 0,66; 6,3; 10,5; 20; 35; 110; 220; 330; 500; 750; 1150. Эти значения введите в окно редактора списка строк. Каждое значение следует вводить на новой строке. После каждого числа в конце строки знаки препинания не ставятся. В качестве разделителя целой и десятичной части числа в строковых переменных используетсязапятая, а не точка, которая применяется в операторах присвоения при работе с числами. После создания списка шкалы (должно быть 12 различных напряжений) сохраните список нажатием кнопки Ок. Запустите программу на исполнение, исправьте возникшие ошибки. В режиме исполнения, нажимая на значок перевёрнутого треугольника в правой части компонента ComboBox, убедитесь, что в окне компонента появляются значения выбранных номинальных напряжений. Таким выбором вы фактически производите операцию присвоения свойству Item компонента ComboBox некоторого определённого строкового значения. Кроме этого одновременно происходит присвоение значения свойства ItemIndex компонента ComboBox. Например, при выборе номинального напряжения 20 кВ, которое стоит пятым в списке фактически выполняется команда: ComboBox. ItemIndex:= 4.

Задание 2

Напишите в окне программного кода в заготовке процедуры код вывода строки номинального напряжения. В качестве строки вывода укажите 1й элемент списка combobox1.Items[0]. Запустите программу на исполнение и убедитесь, что выводится 1е значение номинального напряжения. Выйдите из режима исполнения. С команде вывода замените вывод первой строки на вывод второй (следует изменить 0 на 1 в квадратных скобках). Запустите программу на исполнение и убедитесь, что выводится 2е значение номинального напряжения. Выйдите из режима исполнения. Скопируйте строку операции вывода и создайте 12 таких строк. В квадратных скобках расставьте цифры от 0 до 11. Запустите программу на исполнение и убедитесь, что выводятся все 12 значений номинального напряжения. Выйдите из режима исполнения.

Перед 1й строкой вывода поставьте знак комментария - //. Запустите программу на исполнение и найдитеизменения в выводе. Выйдите из режима исполнения.

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

В начале 4й строки вывода поставьте два знака: открывающую круглую скобку и звёздочку (*. В конце 6й строки вывода поставьте знаки *). Запустите программу на исполнение и найдитеизменения в выводе. Выйдите из режима исполнения.

Закомментируйте остальные строки вывода одним из трёх вышеперечисленных способов. Запустите программу на исполнение и убедитесь, что в поле Мемо ничего не выводится.

Напишите в окне программного кода в заготовке процедуры код вывода следующей строки – «вывод выбранного значения номинального напряжения». Далее вставьте одну из строк вывода и избавьтесь в ней от знаков комментария. В квадратные скобки вместо числа вставьте номер выбранного значения (combobox1.ItemIndex). Команда вывода примет вид:

memo1.Lines.Add(¢Unom = ¢+combobox1.Items[combobox1.ItemIndex]+ ¢ кВ¢); .

Запустите программу на исполнение. Выберите из списка первое значение напряжения, нажмите кнопку выполнения процедуры и убедитесь, что в поле вывода появилось выбранное значение. Повторите выбор и вывод всех значений напряжения. Выйдите из режима исполнения. Комментируйте введённые строки.

Задание 3

Напишите в окне программного кода в заготовке процедуры код вывода в список ListBox1 первого значения номинального напряжения: ListBox1.Items[0]:= ¢0,4¢. Запустите программу на исполнение и посмотрите, что произошло (в окне ListBox1 должна появиться строка 0,4). Выйдите из режима исполнения. В дальнейшем, последовательность перехода в режим исполнения, запуска программы, нахождения и исправления ошибок, выхода и сохранения будем кратко называть проверьтеработу процедуры.

Запишите команду ListBox1.Items[1]:= ComboBox1.Items[1]. Проверьте работу процедуры.

Выведите в компонент ListBox1 остальные значения номинальных напряжений и проверьте работу процедуры.

Обратите внимание, что данные по номинальным напряжениям сохраняются в компоненте ComboBox1 в свойстве Items и являются множеством строк. Значения напряжений в компоненте ListBox1 до нажатия кнопки Button1 отсутствовали, а присвоение их значений происходит по выполнению процедуры Button1Click. Часто бывает желательно, чтобы такие данные появлялись на форме после перехода в режим исполнения. Для этой цели служит процедура FormCreate (создание формы), которая выполняется по команде Run. В этой процедуре можно изменить названия кнопок, их цвет, размер и многое другой, что делается в режиме проектирования формы.

Двойным щелчком на форме (в любом месте формы, которое не занято другими компонентами) создайте заготовку процедуры

procedure TForm1.FormCreate(Sender: TObject);. В теле процедуры запишите строку изменения заголовка кнопки Button1. Команда присвоения заголовку кнопки слова «Старт» выглядит так: Button1.Caption:= ¢Старт¢;. Проверьте работу процедуры и убедитесь, что заголовок кнопки стал действительно таким, каким его записали.

В разделе описания переменных процедуры FormCreate опишите переменную, например, i (или любую другую) как целочисленную переменную (integer, byte, word, cardinal …). В теле процедуры (после операции присвоения кнопке заголовка «Старт») создайте цикл присвоения множества значений свойству Items компонента ListBox1:

For i:=0 to 11 do ListBox1.Items[i]:= ComboBox1.Items[i];. Проверьте работу процедуры.

В теле процедуры Button1Click запишите команду вывода в поле мемо:

memo1.Lines.AddUnom = ¢+Listbox1.Items[Listbox1.ItemIndex]+ ¢ кВ¢);. Запустите программу на исполнение. Выберите одно из номинальных напряжений (щелчком левой кнопки на нужной строке) и нажмите кнопку запуска. Не выходя из режима исполнения, повторите операцию выбора для всех значений напряжений. Завершите режим исполнения.

Задание 4

Двойным щелчком на компоненте ComboBox1 создайте заготовку процедуры ComboBox1Change. Эта процедура будет выполняться при любом выборе (изменении) значения ComboBox1.Items. В тело цикла запищите следующие команды:

if ComboBox1.ItemIndex = 0 then

begin

memo2.Color:=clAqua; {изменение цвета поля мемо}

memo2.Font.Color:=clRed; {изменение цвета шрифта в поле мемо}

memo2.Font.Size:=10; {изменение размера шрифта}

memo2.Lines.Add( 'Unom = '+ ComboBox1.Items[cbb1.ItemIndex]+ ' кВ' );

end; {if}

Проверьте работу процедуры.

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




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных