Угадай-ка! (решение с помощью текстовых окон)


Скачать  архив с исходником  54 кбИсходник №2, для работоспособности разархивировать на диск "С" и, кроме того, там у вас уже должна лежать папка ug1 со звуковыми файлами с предыдущих уроков, в противном случае вместо звукового сопровождения вы будете слышать что-то вроде "БУМ"...

Вот вы и поиграли и даже, возможно, предложили сыграть своим близким и, скорее всего, нашли в работе программы ряд недостатков. Нет такой программы, которая бы нравилась всем, поскольку обязательно найдется что - то, что кого - нибудь да не будет устраивать.

Я вам обещал показать, как можно отказаться от диалоговых окон, а следовательно, изменить пользовательский интерфейс программы, вот и настало время выполнить свое обещание.



Итак, создайте новую рабочую книгу с именем Угадай 2, войдите в редактор VBA и создайте новую форму, присвоив ей имя Угадай, а Caption - Угадай-ка 2. Бросьте на форму первую метку, изменив ее Caption на "Я задумала число, угадай-ка, друг его!". Ниже разместите еще одну метку с Caption - "Вы делаете попытку №", а справа от данной метки еще одну с Caption - 0 (это не буква о, а число). Ниже расположите еще одну метку, изменив Caption (кстати, Caption означает - заголовок) на строку - "Введите свой вариант ответа и нажмите кнопку "Проверить". С метками покончено, посчитайте их. У меня на форме их четыре.

Разместите на форме текстовое поле TextBox1. (текстовое поле не имеет свойства Caption, но его заменяет свойство Text). Найдите свойство Text и приравняйте его нулю

Разместите на форме пару кнопок, изменив Caption первой из них на ПРОВЕРИТЬ, а у второй, соответственно, на ВЫХОД.

У вас должно получиться что- то вроде рисунка справа

Войдите в окно формы. Там вы обнаружите две заготовки процедур:

Private Sub CommandButton1_Click()

End Sub


и

Private Sub CommandButton2_Click()

End Sub

Выше самой первой строки запишите - Public задумано As Byte, затем последовательно заполните процедуры так, как написано дальше

Public задумано As Byte

Private Sub CommandButton1_Click()
If TextBox1.Text = задумано Then
Label2.Caption = "Молодец! Угодал с попытки №"
файл = ("C:\ugоdai2\угодал.wav")
mu = sndPlaySound(файл, 1)
ElseIf TextBox1.Text > задумано Then
Label2.Caption = "ПЕРЕЛЕТ : ПОПЫТКА №"
Label3.Caption = Label3.Caption + 1
файл = ("C:\ugodai2\перелет.wav")
mu = sndPlaySound(файл, 1)
Else
Label2.Caption = "НЕДОЛЕТ : ПОПЫТКА №"
Label3.Caption = Label3.Caption + 1
файл = ("C:\ugodai2\недолет.wav")
mu = sndPlaySound(файл, 1)
End If
End Sub

Private Sub CommandButton2_Click()
End
End Sub

После этого создайте процедуру UserForm_Activate, как мы это делали на прошлом уроке и впишите в нее всего одну строку, генерирующую число случайным образом от 1 до 99. (я не останавливаюсь на том, как изменить этот диапазон, это вам и самим будет по силам)

Private Sub UserForm_Activate()
Randomize: задумано = Int((99 * Rnd) + 1)
End Sub

 


Остается только подключить из библиотеки звуковой модуль, который мы создали с вами на прошлом уроке. Для этого щелкните по кнопке File и в раскрывшемся списке выберите команду Import File, найдите папку с вашей библиотекой и укажите на файл с именем звук. (если вы, конечно, его сохранили на прошлом уроке, если вы этого не сделали, то сделайте сейчас. Для этого откройте рабочую книгу с прошлого урока. Войдите в редактор VBA, найдите модуль, который называется звук и выделите его. Далее проделайте операцию, как для импорта, только на сей раз выберите Export File)

Остается связать наш макрос с кнопкой на рабочем листе, с чем вы уже вполне можете справиться самостоятельно, только учтите, что на этот раз команда вызова формы будет выглядеть следующим образом: Угадай.Show

Почему? А вот подумайте сами, если не поняли, то посмотрите на нашу форму в окне проекта..

Продолжение :

Рейтинг@Mail.ru главная программы задачи карта Copyright © СОМИТ, А.Козлов, 2005 г