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