Главная » Языки программирования и собственно написание компьютерных программ

Ввод данных через текстовое поле TextBox и извлечение корня в Visual Basic

При работе с формой чаще всего ввод данных организуют через элемент управления текстовое поле TextBox. Напишем типичную программу, которая вводит через текстовое поле число, при нажатии командной кнопки извлекает из него квадратный корень и выводит результат на метку Label. В случае ввода не числа сообщает пользователю об этом, очищая текстовое поле. Есть еще одна кнопка Очистка для обнуления текстового поля и метки.

Для этого запускаем VB2010, выбираем пункт меню File | New Project, затем — шаблон Windows Forms Application и щелкаем на кнопке ОК. Далее из панели элементов управления Toolbox в форму указателем мыши перетаскиваем текстовое поле TextBox1, метку Label1 и две командные кнопки Button1 и Button2. Таким образом, в форме будут находиться четыре элемента управления.

Двойной щелчок в пределах проектируемой формы, и мы попадаем на вкладку программного кода в обработку события Form1_Load — события загрузки формы. Здесь задаем свойствам формы (к форме обращаемся посредством ссылки Me), кнопкам Button1 и Button2, текстовому полю TextBox1, метке Label1 следующие значения:

 Me.Text = «Извлечение квад. корня»
      Button1.Text = «Извлечь корень»
      Button2.Text = «Очистка»
     TextBox1.Clear()‘ – очистка текстового поля
      Label1.Text =«»
      Label1.TextAlign = ContentAlignment.MiddleCenter

Последняя строка означает выравнивание текста, записанного в Label1.Text, по центру и на середине метки.

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

Далее программируем событие Button1_click— щелчок мышью на кнопке Извлечь корень. Создать пустой обработчик этого события удобно, дважды щелкнув мышью на этой кнопке. Между двумя появившимися строчками программируем диагностику правильности вводимых данных, конвертирование строковой переменной в переменную типа Single и непосредственное извлечение корня.

Извлечение корня

‘ Программа вводит через текстовое поле число, при нажатии на
‘ командную кнопку извлекает из него квадратный корень и выводит
‘ результат на метку Label1. В случае ввода не числа сообщает
‘ пользователю об этом, очищая текстовое поле. Есть еще одна кнопка
‘ Очистка для обнуления текстового поля и метки.
Public Class Form1
   Private Sub Form1_Load(ByVal senderAs System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text =«Извлечение квад. корня»
      Button1.Text = «Извлечь корень»
      Button2.Text = «Очистка»
     TextBox1.Clear()‘ – очистка текстового поля
      Label1.Text =«»
      Label1.TextAlign = ContentAlignment.MiddleCenter
End Sub

    Private Sub Button1_Click(ByVal senderAs System.Object,ByVal e As System.EventArgs) Handles Button1.Click
‘ Обработка события щелчок на кнопке Извлечь корень:
      IfNot IsNumeric(TextBox1.Text) Then
         MessageBox.Show(«Следует вводить числа», «Ошибка»,MessageBoxButtons.OK,MessageBoxIcon.Error)
TextBox1.Clear() ‘ – очистка текстового поля
         TextBox1.Focus() ‘ — установить фокус на текстовом поле
         Exit Sub
     End If

Dim X, Y As Single
      ‘ Преобразование из строковой переменной в Single:
      X =Convert.ToSingle(TextBox1.Text)
Y = Math.Sqrt(X)
Label1.Text = «Корень из « + X.ToString + » равен « + Y.ToString
End Sub

Private Sub Button2_Click(ByVal senderAs System.Object,ByVal e As System.EventArgs) Handles Button2.Click
‘ Обработка события щелчок на кнопке Очистка:
      Label1.Text =«»
      TextBox1.Clear() ‘ – очистка текстового поля
      TextBox1.Focus()
End Sub
End Class

Здесь при обработке события «щелчок мышью на кнопке» Извлечь корень проводится проверка, введено ли число в текстовом поле. Проверка осуществляется с помощью функции IsNumeric: если введено не число (например, введены буквы), то выводится диалоговое окно с текстом «Следует вводить числа».

Далее, поскольку ввод неправильный, текстовое поле очищается — TextBox1.Clear(), а фокус передается опять на текстовое поле для ввода числа (т. е. курсор будет находиться в текстовом поле).
Оператор Exit sub означает выход из программы обработки события Button1_Click.

Если пользователь ввел число, то управление не пойдет на ветку If…Then, а будет выполняться следующий оператор Dim — объявление переменных X и Y. Обычно все объявления делают в начале подпрограммы, но удобно объявить переменную там, где она впервые используется.

Далее функция Convert.ToSingle конвертирует строковую переменную TextBox1.Textв число X, из которого уже можно извлекать квадратный корень Math.Sqrt (X). Математические функции VB2010 являются методами класса Math. Их можно увидеть, набрав Math и поставив точку (.). В выпадающем списке вы увидите множество математических функций: Abs, sin, Cos, Min и т. д. и два свойства — две константы е = 2,71… (основание натуральных логарифмов) и pi = 3,14… (число диаметров, уложенных вдоль окружности).

Последней строчкой обработки события Button1_Click является присваивание переменной Label1.Text длинного текста. Здесь символ + (можно также & -амперсанд) означает «сцепить» переменные в одну строку.

Нажав клавишу , проверяем, как работает программа. Заметьте, что при вводе в текстовое поле числа, имеющего целую и дробную части, в качестве разделителя необходимо ставить запятую, а не точку. Иначе, введенное в текстовое поле не будет восприниматься как число.

Аналогично обработаем событие Button2_click— очистка текстового поля и метки, а также передача фокуса опять на текстовое поле.

При необходимости используйте отладчик (клавиша ) для пошагового выполнения программы и выяснения всех промежуточных значений переменных путем «зависания» указателя мыши над переменными.

Добавить комментарий

Ваш комментарий появится после модерации.