Главная Случайная страница


Полезное:

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

Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практическое занятие 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}

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

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

Вопросы для самопроверки

1. Как поместить на форму компоненты ComboBox и ListBox?

2. Для чего нужны компоненты ComboBox и ListBox?

3. Чем различаются компоненты ComboBox и ListBox?

4. К какому типу переменных относятся значения, записанные в компонентах ComboBox и ListBox?

5. Что такое Item и ItemIndex в компонентах ComboBox и ListBox?

6. Как нумеруются строки в компонентах ComboBox и ListBox?

7. Как записать информацию в компоненты ComboBox и ListBox?

8. Как изменить информацию в компонентах ComboBox и ListBox в режиме исполнения программы?

9. Какой символ используется для разделения целой и дробной частей чисел с плавающей запятой в компонентах ComboBox и ListBox?

10. Как вывести в поле Memo содержание определённой строки компонента ComboBox и ListBox?

11. Как вывести в поле Memo содержание неопределённой в режиме проектирования строки, а определяемой в режиме исполнения компонента ComboBox и ListBox?

12. Перечислите напряжения, входящие в шкалу номинальных напряжений?

13. В шкале номинальных напряжений приводятся значения каких напряжений: фазных или междуфазных; амплитудных или действующих?

14. Что такое фазное напряжение и насколько оно отличается от междуфазного напряжения?

15. Между какими двумя точками на воздушной линии электропередач измеряется фазное (междуфазное) напряжение?

16. Как различаются амплитудное и действующее значения напряжения и как они определяются?

17. Чем отличается линейное напряжение от междуфазного?

18. Как изменить цвет поля Memo в режиме исполнения программы?

19. Как изменить цвет шрифта вывода информации в поле Memo в режиме исполнения программы?

20. Как изменить размер символов вывода информации в поле Memo в режиме исполнения программы?

 






Date: 2016-05-16; view: 117; Нарушение авторских прав

mydocx.ru - 2015-2019 year. (0.012 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию