Задание: разработайте приложение «Ресторан», которое будет формировать заказ клиента с помощью двух элементов управления ListBox для меню и для заказа.
Ход работы
1 Создайте новый проект и расположите элементы управления на новой форме frmРесторан, как показано на рис. 20. Присвойте всем созданным элементам управления имена в соответствии со стилем программирования на VB.
2 Добавьте в Список меню названия блюд (см. пункт 4 из Элемент управления ListBox), которые Вы любите.
3 Запрограммируйте кнопку Добавить так, чтобы при ее нажатии выделенный элемент списка Меню добавлялся в конец списка Заказ:
Private Sub cmdДобавить_Click()
lstЗаказ.AddItem lstМеню.Text
End Sub
4 Запустите программу и понажимайте на кнопку Добавить. В список Заказ добавляются названия блюд из списка Меню. Теперь необходимо обеспечить возможность отказаться от выбранного блюда.
Рис. 20. Конструктор формы «Ресторан»
5 Для этого запрограммируйте кнопку Убрать так, чтобы при ее нажатии из списка Заказ удалялся выделенный элемент, т.е.
Private Sub cmdУбрать_Click()
lstЗаказ.RemoveItem lstЗаказ.ListIndex
End Sub
6 Запустите приложение. Добавьте в список Заказ несколько блюд. Теперь выделите в списке Заказ какое-нибудь блюдо и попробуйте его убрать. Блюда как не бывало. А теперь еще раз нажмите на кнопку Убрать: пока не выделено ни одного блюда. Возникает ошибка (!), потому что Вы пытаетесь удалить элемент списка с несуществующим индексом.
7 Чтобы исправить эту ошибку, необходимо при удалении элемента из списка Заказ проверить условие, чтобы номер удаляемого элемента был больше либо равен 0. Сделайте необходимые исправления самостоятельно и запустите приложение.
8 Теперь необходимо, чтобы при нажатии на кнопку Заказать пользователь получал сообщение «Приятного аппетита!» и программа завершалась.
9 Для этого запрограммируйте кнопку Заказать следующим образом:
Private Sub cmdЗаказать_Click()
MsgBox «Приятного аппетита!», vbOKOnly, «Ресторан Студент»
End
End Sub
10 Запустите, отладьте и сохраните приложение.
Рис. 21. Ресторан заработал!
Дополнительное задание
Исправьте приложение так, чтобы у посетителя ресторана запрашивалось подтверждение о том, все ли он заказал, и в случае отрицательного ответа ему снова предоставлялась возможность изменять свой заказ.
Контрольные задания
1 Добавьте текстовое окно и кнопку, чтобы можно было добавлять новые блюда в меню ресторана.
2 Сделайте так, чтобы новое блюдо добавлялось не в конец меню, а перед выделенным блюдом.
3 Добавьте к Вашей форме кнопку Убрать Все, при нажатии на которую из списка Заказ будут удалены все блюда.
4 Добавьте вычисление суммы заказа, которая бы выводилась в диалоговом окне «Приятного аппетита!».
5 Добавьте вычисление суммы заказа, которая бы выводилась под списком Заказ и изменялась при выборе каждого нового блюда.
6 Добавьте диалоговое окно, которое бы при выборе каждого блюда запрашивало у посетителя подтверждение выбора этого блюда.
7 Сделайте так, чтобы при перемещении по списку Меню внизу формы выводился комментарий к блюду (например, из каких продуктов оно приготовлено).
Вопросы для самоконтроля
1 С помощью каких методов в элемент управления ListBox можно добавить или удалить элемент?
2 В списке lstProba пять элементов, с помощью команды lstProba.AddItem «Шесть» мы добавили новый элемент. Какой индекс получит этот элемент?
3 Что произойдет, если Вы попытаетесь удалить из списка элемент, индекс которого превышает количество элементов в списке?
4 Для чего предназначена функция MsgBox? Приведите несколько примеров ее использования.
5 Можно ли использовать функцию MsgBox как процедуру?
6 В чем состоит разница между функцией и процедурой MsgBox?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.