Скачиваний:
12
Добавлен:
30.09.2018
Размер:
22.43 Кб
Скачать

Visual Basic с нуля. Глава 2. Основные компоненты формы. Пособие-самоучитель on-line "Visual Basic с нуля" Глава 2. Основные объекты формы. Скачать исходник программы "Калькулятор" Дата создания 07.10.2004 {Автор 4us} Итак, сейчас мы сделаем небольшую программу с использованием наиболее употребимых компонентов формы. Запустим VB. У на откроется окно формы Проект1 – Form1 (Form). Слева, там где компонеты формы найдем командную кнопку (желтая подсказка CommandButton). Щелкнем по ней, а потом мышь переведем на поле формы и нажав на клавишу мыши растянем пунктирный прямоугольник до нужного нам размера. Отпустив клавишу мыши мы увидим, что на форме появилась командная кнопка с надписью Command1 (Рис.5). Справа, в окне свойств мы увидим свойства этой кнопки, так как выделена именно она.

Рисунок 5.

Добавим на форму еще пять кнопок(Command), два лейбла(Label) и три текстбокса (TextBox). У тебя должно получится что-то вроде того (Рис.6)

Рисунок 6.

Попробуем из всего этого барахла сделать калькулятор. В окне свойств для каждой кнопки уберем в свойстве Caption надпись «Command…» и впишем для каждой кнопки соответсвенно +, -, * ,/, Очистить, Корень. Это будут названия наших кнопок. Теперь, чтобы надписи на кнопках читались лучше, в окне свойств щелкнем по свойству Font и в открывшемся окне Font выберем додходящий шрифт, размер и жирность. Вообще-то дизайн – это личное дело каждого и в дальнейшем я на этом подробно останавливаться не буду. Короче у тебя должно получиться что-то типа на рис. 7.

Рисунок 7.

Пора уже код писать, а мы все кнопочки двигаем. Поэтому перейдем теперь к окну кодов (в верхней строке нажимаем «Вид» и выбираем «Код». В левом окне Проект1 – Form1(Код), там где “(General)” из выпадающего меню выбираем строчку Form. У нас появилась процедура загрузки формы, как в главе 1. Ну меняем заголовок формы и убираем некрасивые записи в леблах и тексте. В теле процедуры пишем:

Form1.Caption = "Калькулятор"

Чтобы вписать что-нибудь в Поле Text, нужно использовать свойство Text. У лейбла аналогичное свойство Саption.

Text1.Text = "" 'присвоим текстбоксам значение

Text2.Text = "" 'пустой строки

Text3.Text = ""

Label2.Caption = "Действие" 'Присвоим лейблам

Label1.Caption = "Результат:" 'соответствующие значения

Теперь для каждой кнопки напишем свою подпрограмму для обработки каждого действия.

В поле (General) выбираем Command1. У нас появилась новая процедура для первой кнопки (у меня она соответствует «+»). Она очень похожа на процедуру формы, только событие здесь другое – нажатие кнопки (Click). Пишем строку для обработки операции сложения. Однако надо учесть, что в текстбоксах содержится строковая информация, а сложение двух строк приводит к их сцеплению, т.е. если в Text1 у нас будет 10, а в Text2 – 5, то результатом сложения в Text3 станет 105 (10 & 5), а не 15, как нам думалось. Поэтому нам придется преобразовать каждое значение в числовое с помощью функции Val(строка):

Text3.Text = Val(Text1.Text) + Val(Text2.Text)

Кроме того, чтобы пользователь видел, какую операцию он произвел, изменим содержимое верхнего лейбла:

Label2.Caption = "Плюс"

Используя стандартные операторы арифметических действий, создадим подпрограммы для всех кнопок.

На всякий случай я приведу основные математические операторы в табличке:

Оператор Название оператора Пример операции Результат + сложение c=2+5 с=7 - вычитание c=2-5 с=-3 * умножение c=2*5 с=10 / деление c=2/5 с=0,4 \ целая часть от деления c=2\5 с=0 Mod остаток от деления c=2 Mod 5

c=9 Mod 4

c= 2 (5*0+2) c= 1 (4*2+1)

^ возведение в степень с=2^5 с-32 & слияние строк (конкатенация) c=2 & 5 с=25 = Оператор присваивания, а никакое не “равно” с=с+2 если с было равно 5, то станет 7 Для того, чтобы кнопка Command6 выполняла извлечение квадратного корня используем функцию. Она будет выглядеть так: Sqr(число). Вот весь код этой программы. Исходник программы “Калькулятор” можно скачать вверху страницы. Да, вот еще, что. Если мы будем делить на ноль, программа аварийно прервется, и появится сообщение об ошибке. Как это преодолевать, мы поговорим несколько позднее.

‘****************************** НАЧАЛО***********************

Private Sub Command1_Click() ‘подпрограмма нажатия кнопки Command1

Text3.Text = Val(Text1.Text) + Val(Text2.Text) 'операция сложения

Label2.Caption = "Плюс" 'указаваем в метке математическую операцию

End Sub

Private Sub Command2_Click()

Text3.Text = Val(Text1.Text) * Val(Text2.Text) 'операция умножения

Label2.Caption = "Умножить"

End Sub

Private Sub Command3_Click()

Text3.Text = Val(Text1.Text) - Val(Text2.Text) 'операция вычитания

Label2.Caption = "Вычесть"

End Sub

Private Sub Command4_Click()

Text3.Text = Val(Text1.Text) / Val(Text2.Text) 'операция деления

Label2.Caption = "Разделить"

End Sub

Private Sub Command5_Click()

Text1.Text = "" 'присвоим текстбоксам значение пустой строки

Text2.Text = ""

Text3.Text = ""

End Sub

Private Sub Command6_Click()

Text3.Text = Sqr((Text1.Text)) 'функция вычисления корня

Text2.Text = "" 'очистка Text2, так как он не нужен при этой операции

Label2.Caption = "Кв. корень"

End Sub

Private Sub Form_Load() ‘процедура загрузки формы

Form1.Caption = "Калькулятор" 'меняем заголовок формы

Text1.Text = "" 'присвоим текстбоксам значение пустой строки

Text2.Text = ""

Text3.Text = ""

Label2.Caption = "Действие" 'присвоим лейблам

Label1.Caption = "Результат:" 'нужные значения

End Sub

‘****************************** КОНЕЦ***********************

Пожалуйста, обратите внимание, что VB выполняет операторы не в том порядке, в каком они записаны в окне кода. Когда вы запускаете программу, загружается форма и наступает событие Form_Load. И все. Выполняются только те операторы, которые написаны в теле этой процедуры. После программа, грубо скажем, останавливается. Если же мы нажмем, например кнопку Command1, то возникает событие Command1_Click и выполняются операторы только в процедуре первой кнопки. Теперь вы можете сами доработать программу, поменять шрифты, расположение, добавить новые кнопки для новых математических операций.

Да, поскольку мы уже использовали математические функции “Извлечение квадратного корня” и “Преобразование строки в число”, я перечислю остальные:

Abs (n) абсолютное значение n

Atn (n) арктангенс n в радианах

Cos (n) косинус угла n (n - в радианах)

Exp (n) константа e в степени n

Rnd (n) генерирует случайное число от 0 до 1

Sgn (n) равно –1, если n<0; 0 если n=0; +1 если n>0

Sin (n) синус угла n (n - в радианах)

Sqr (n) квадратный корень n

Str (n) преобразует число n в строку

Tan (n) тангенс угла n (n - в радианах)

Val (n) преобразует строку n в число

Copyright © 2004 4us  

Соседние файлы в папке Самоучитель