End Sub
Меню пользователя.Сделаем для нашего калькулятора след. меню:
- Настройка цвета Синий
Красный
- О программе сообщение с кратким описанием программы
Создание меню.
Tools Menu Editor
В поле Caption введем текст Настройка цвета. В поле Name введем имя пункт_меню_настройка цвета. Если вы хотите, чтобы этот пункт вызывался не только мышкой, выберите что-нибудь из списка ShortCut (у меня не получилось). Щелкнем по клавише Next и займемся пунктом Синий, дав ему имя пункт_меню_Синий. Щелкнем по клавише Next и займемся пунктом Красный, дав ему имя пункт_меню_Красный. Щелкнем по клавише Next и займемся пунктом О программе, дав ему имя пункт_меню_О_программе. Для того, чтобы объяснить компьютеру, что пункты Синий и Красный входят внутрь пункта Настройка цвета, выделим их по очереди и сдвинем вправо кнопкой .Программа для меню.
Private Sub пункт_меню_Красный_Click()
калькулятор. Picture = LoadPicture()
калькулятор. BackColor = vbRed
End Sub
Private Sub пункт_меню_Синий_Click()
калькулятор. Picture = LoadPicture()
калькулятор. BackColor = vbBlue
End Sub
Private Sub пункт_меню_О_программе_Click()
MsgBox ("Программа создана 1 ноября 2006г.")
End Sub
Оператор калькулятор. Picture = LoadPicture() убирает с формы картинку, если она там была.
Превращение проекта в независимую программу.
File Make Progect. exe выбираем папку (например, Рабочий стол), где будет сохранен файл независимой программы, и задаем ему имя, например, Суперкалькулятор. Ярлык файла Суперкалькулятор поместим в Стандартные программы. Наш калькулятор будет красоваться в запускающем меню рядом со стандартным калькулятором Windows (это все равно, что сидеть с Биллом Гейтсом в одном «Мерседесе»).
Наше первое усовершенствование калькулятора:
Чтобы калькулятор не показывал длинные результаты в экпоненциальной форме, вместо
Результат. Text=Val(Число1.Text)/ Val(Число2.Text)
Напишем
Результат. Text= Format Val(Число1.Text)/ Val(Число2.Text),_”0.00000000”
Только имейте в виду: если ваш результат будет такой маленький, что 8 цифр после запятой его “не почувствуют”, то ничего кроме нулей, вы в результате не увидите, а вот экспоненциальный формат (например, 6,52846950467467Е+21) покажет вам настоящий, хоть и непривычный для чтения, результат.
Используя наши знания о переменных, усовершенствуем дальше свой проект “Калькулятор”:
Dim n1 As Double
Dim n2 As Double
Dim res As Double
Private Sub Form_Terminate()
MsgBox ("А теперь считайте в уме!")
End Sub
Private Sub кл_вычитания_Click()
кл_вычитания. Left = 4000
кл_вычитания. Top = 4000
кл_вычитания. Width = 1200
кл_вычитания. Height = 700
кл_вычитания. FontSize = 8
кл_вычитания. Caption = "Не трогай меня - я нервная!"
End Sub
Private Sub Кл_сложения_Click()
n1 = Ч1.Text
n2 = Ч2.Text
res = n1 + n2
Рез. Text = res
End Sub
Private Sub кл_умножения_Click()
n1 = Ч1.Text
n2 = Ч2.Text
res = n1 * n2
Рез. Text = res
End Sub
Private Sub кл_деления_Click()
n1 = Ч1.Text
n2 = Ч2.Text
res = n1 / n2
Рез. Text = res
End Sub
Private Sub кл_квадрата_Click()
n1 = Ч1.Text
res = n1 * n1
Рез. Text = res
End Sub
Private Sub кл_сброса_Click()
Ч1.Text = ""
Ч2.Text = ""
Рез. Text = ""
кл_вычитания. Left = 2520
кл_вычитания. Top = 960
кл_вычитания. Width = 375
кл_вычитания. Height = 375
кл_вычитания. FontSize = 17
кл_вычитания. Caption = "-"
End Sub
Private Sub пункт_меню_Красный_Click()
калькулятор. BackColor = vbRed
End Sub
Private Sub пункт_меню_Синий_Click()
калькулятор. BackColor = vbBlue
End Sub
Private Sub пункт_меню_О_программе_Click()
MsgBox ("Программа создана 1 ноября 2006г.")
End Sub
Т. е. работаем по схеме:
Информация из текстовых полей (или других средств задания исходных данных) передается в переменные, затем обрабатывается, а затем из переменных передается обратно в текстовые поля.
Программист обязан сделать так, чтобы на все неправильные действия пользователя реагировал не Visual BASIC, который непонятно ругается по-английски, а сама программа, причем понятно и тут же давала возможность исправиться.
Улучшим свой калькулятор таким образом, чтобы исключить действия над текстом, деление на 0.
Функция IsNumeric.
Ее агрумент может быть любого типа (число или текст). Функция анализирует данное и выдает TRUE, если это число и FALSE, если это текст.
Для клавиши сложения в “Калькуляторе” проверка будет в виде:
Private Sub Кл_сложения_Click()
If IsNumeric(Ч1) And IsNumeric(Ч2) Then
n1 = Ч1.Text
n2 = Ч2.Text
res = n1 + n2
Рез. Text = res
Else
MsgBox ("Вводите только числа")
End If
End Sub
Здесь мы немного сэкономили на переменной res. Поскольку мы ее никак не обрабатываем, то мы ее и не проверяем ф. IsNumeric.
Запрет деления на 0:
Private Sub кл_деления_Click()
If IsNumeric(Ч1) And IsNumeric(Ч2) Then
n1 = Ч1.Text
n2 = Ч2.Text
If Ч2 <> 0 Then
res = n1 / n2
Рез. Text = res
Else
msgBox ("Делить на 0 нельзя")
End If
Else
MsgBox ("ВВодите только_ числа")
end if
end sub
Ставим пароль на калькулятор:
для этого в процедуре загрузки формы пишем
Private Sub Form_Load()
Ч1.PasswordChar = "*" ’для того, чтобы при вводе пароля в текст. поле (Ч1) вместо пароля появлялись *
If InputBox("Введите пароль") <> "ку-ку" Then MsgBox _("пароль неверный"): End
End Sub
Проект «Плеер»
Создадим проект – плеер, в котором будет 5 кнопок с названиями исполняемых произведений.
Для появления соответствующей картинки (или фото) на форме при нажатии кнопки подойдет оператор вида
Form1.Picture=LoadPicture(“C:\Program Files\Microsoft Office\Clipart\Popular\…/wmf”)
Здесь LoadPicture означает загрузить картинку. Можно сделать так, что при проигрывании мелодии вы видели и текстовое описание мелодии или, скажем, биографию композитора. Для этого поместим на форму большую метку (Label) и в подходящих местах программы вставим операторы вида
Label1.Caption= «Композитор – Гладков. Впервые исполнена в 1970году.»
При работе с звук. файлами возникает вопрос, когда закрывать файлы? Если перед открытием следующего файла не закрыть предыдущий, то нормальной работы не получится. Связка
Плеер. Command=”Play”
Плеер. Command=”Close”
Не подойдет, т. к. музыка закончится, не успев начаться. Здесь подойдет такая связка:
Плеер. Command=”Close”
Плеер. FileName= “c:\Windows\Media\ Canyon. mid”
Плеер. Command=”Open”
Плеер. Command=”Play”
Здесь ком. Close выполняется самой первой и закрывает любой файл, который исполнялся или мог исполняться раньше. После этого ком. Open спокойно открывает нужный файл.
Помещаем фотографию на форму.
Чтобы поверхность формы была покрыта фотографией или рисунком
- Выделите форму. Найдите свойство Picture и щелк. по многоточию…(можно посм. папку Clipart Microsoft Office); Если вам не хочется анимать под фото всю форму, можно воспользоваться элементами управления Picturebox или Image.
Задание:
Создайте только что описанный «Плеер ваших любимых хитов» на три песни:
Дайте имя форме – form1, название – мой любимый плеер. Поместите на форму три кнопки. Их имена: кл_песня1, кл_песня2, кл_песня3. Названия: В лесу родилась елочка, Поворот, Гимн России. Создайте элемент Microsoft Multimedia Control 6.0 и дайте ему имя Звук. Его клавиши нам не нужны, поэтому сделайте объект Звук невидимым (его свойствоVisible False).
Устройством для проигрывания звук. файлов м. б. WaveAudio (расширение. wav, mp3) или Sequencer (.mid, rmi). Для длинных мелодий используется Sequencer. При загрузке формы на ней д. б. картинка с цветами. При нажатии на кл. песен на форме должны появляться соответствующие картинки. Сделайте на форме метку с именем Label1 и названием Информация о авторе песни.Private Sub Form_Load()
Form1.Picture = LoadPicture("C:\OFF97SET\CLIPART\PHOTOS\OCCASION\FLOWERS. JPG")
Звук. DeviceType = "Sequencer"
End Sub
Private Sub Form_Terminate()
Звук. Command = "Close"
End Sub
Private Sub кл_песня1_Click()
Form1.Picture = LoadPicture("C:\OFF97SET\CLIPART\PHOTOS\OCCASION\WINTER. JPG")
Label1.Caption = "Эту песню сочинил русский поэт 19 века"
Звук. FileName = ("C:\WINDOWS\MEDIA\Office97\Camera. wav")
Звук. Command = "Close"
Звук. Command = "Open"
Звук. Command = "Play"
End Sub
Private Sub кл_песня2_Click()
Form1.Picture = LoadPicture("C:\OFF97SET\CLIPART\PHOTOS\TRANS\TRAFFIC. JPG")
Label1.Caption = "Эту песню сочинил Александр Кутиков"
Звук. FileName = ("C:\WINDOWS\MEDIA\Office97\Laser. wav")
Звук. Command = "Close"
Звук. Command = "Open"
Звук. Command = "Play"
End Sub
Private Sub кл_песня3_Click()
Form1.Picture = LoadPicture("C:\OFF97SET\CLIPART\PHOTOS\FAMILY\GARDEN. JPG")
Label1.Caption = "Слова к Гимну России написал Сергей Михалков"
Звук. FileName = ("C:\WINDOWS\MEDIA\Office97\Type")
Звук. Command = "Close"
Звук. Command = "Open"
Звук. Command = "Play"
End Sub
Проект «Будильник-секундомер»
Проект должен делать:
- На верхнем циферблате – текущее время суток (системное время Windows); под ним – дата и день недели. Пользователь может редактировать содержимое циферблата времени. При нажатии на кнопку Выключить будильник надпись на кнопке меняется на Включить будильник, а надпись над циферблатом меняется на Будильник отключен. При срабатывании будильника раздается продолжительная мелодия, которая прекращается при нажатии на кнопку Выключить сигнал. Секундомер измеряет время с точностью до 0.1 сек. На картинке – секундомер в момент паузы. Если нажать на ПУСК, то отсчет времени продолжится с 1 мин 15.4 сек, которые мы видим на картинке, а надпись на кнопке сменится на ПАУЗУ. Если снова нажать на кнопку, цифры на секундомере снова замрут. При нажатии на кнопу Обнулить секундомер сбрасывается в нуль и останавливается. На циферблате – 0:00:00.0.
Делим проект на части.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


