Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программируем. Проект готов






Запустим проект. Введем в верхнее текстовое поле число 3, а в среднее введем 2. Щелкнем по кнопке сложения. Ничего не произошло. Естественно. Ведь никакой процедуры мы для кнопки не написали. Завершим работу проекта. Двойным щелчком по кнопке сложения откроем окно кода и попытаемся выдумать, что же там написать. Рассуждать будем так: 3 и 2 - не что иное, как значения свойства Text текстовых полей Число1 и Число2. По-другому, это Число1.Text и Число2.Text. Нам нужно, чтобы Результат.Text равнялся их сумме. Что если написать такой оператор:

Результат.Text = Число1.Text + Число2.Text

Сказано - сделано. Получаем:

Private Sub Кл_сложения_Click()

Результат.Text = Число1.Text + Число2.Text

End Sub

Запускаем проект. Вводим 3 и 2. Щелкаем по кнопке сложения. Результат есть. Но не совсем тот, что мы ожидали. Вместо 5 получилось 32. В чем причина? Дело в том, что Visual Basic привык считать знак + по отношению к содержимому текстовых полей не знаком сложения, а знаком " соединения". Проверьте. Вместо 3 и 2 введите Коро и бочка, в результате получится Коробочка. Недаром текстовые поля называются текстовыми, а не числовыми. То, что мы назвали их Число1 и Число2, делу никак не помогло, потому что Visual Basic не обращает внимания на смысл имен, для него имена - просто бессмысленные сочетания символов.

Что делать? Надо приказать Visual Basic обращаться в данном случае с содержимым текстовых полей не как с текстом, а как с числами. Для этого достаточно записывать их не в таком виде - Число1.Text и Число2.Text, а в таком - Val(Число1.Text) и Val(Число2.Text). Здесь Val - сокращение от Value - величина, численное значение. Теперь наш оператор будет выглядеть так:

Результат.Text = Val(Число1.Text) + Val(Число2.Text)

Кстати, после ввода открывающей скобки Visual Basic услужливо предложит подсказку на тему о том, что должно быть в скобках. Со временем вы научитесь эту подсказку понимать.

Запускаем проект. Вводим два любых целых числа и убеждаемся, что все складывается правильно.

Аналогично программируем три остальные кнопки. Вот как будет выглядеть после этого окно кода:

Private Sub Кл_сложения_Click()

Результат.Text = Val(Число1.Text) + Val(Число2.Text)

End Sub

__________________________________________________

Private Sub Кл_вычитания_Click()

Результат.Text = Val(Число1.Text) - Val(Число2.Text)

End Sub

__________________________________________________

Private Sub Кл_умножения_Click()

Результат.Text = Val(Число1.Text) * Val(Число2.Text)

End Sub

__________________________________________________

Private Sub Кл_деления_Click()

Результат.Text = Val(Число1.Text) / Val(Число2.Text)

End Sub

Пояснения: В языках программирования умножение обозначается звездочкой *, а деление - косой чертой /.

При вводе в текстовые поля десятичных дробей вместо запятой ставьте точку. Результат же будет выводиться с запятой.

 

Итак, калькулятор готов!

 

Предостережения: Наш калькулятор пока не защищен от ввода вместо чисел всякой ерунды (например, текста КУ-КУ), от ввода слишком больших или слишком маленьких чисел, от деления на ноль. В таких случаях Visual Basic дает неправильный или неудобочитаемый результат или сообщение об ошибке. Защиту вы найдете в 5.9.

 

Задание 1 Создайте кнопку возведения в квадрат числа из верхнего текстового поля. Указание: Возвести в квадрат - значит умножить само на себя.

Задание 2 На нашем калькуляторе не хватает кнопки СБРОС, которая опустошала бы все три текстовых поля. Создайте ее. Указание: Для этого вам понадобятся операторы типа Число1.Text = " ". В программах текстовое содержимое текстовых полей должно указываться в кавычках. В данном случае у нас внутри кавычек пусто, что и требовалось.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.