ЛАБОРАТОРНАЯ РАБОТА №3"Метки и текстовые окна"
Цели: 1) Изучить свойства и методы использования в прилож-
ениях Windows меток.
2) Изучить свойства и методы использования в прилож-
ениях Windows текстовых окон.
Поговорим о метках и текстовых окнах. Метка - это, наверн-
ое, самый простой элемент, который есть в Windows. Ее осн-
овная задача - хранить текст, который программист или пол-
ьзователь поместит в нее. Помните, на лекции приводился
пример, в котором было реализовано сложение двух чисел?
Cтроки "Введите первое число", "Введите второе число" -
метки. Как правило, метки носят вспомогательно-декоративн-
ый характер, в них хранится текст, который комментирует
для пользователя его возможные действия.
Свойства Label (метки).
~~~~~~~~~~~~~~~~~~~~~~~
1. Name - имя метки.
2. Aligment - расположение текста метки внутри выделенного
ей пространства (0 - текст слева, 1 - текст справа, 2 -
текст расположен по центру). На рисунке выше метка име-
ет aligment=0, т.о. текст "прижат" к левому краю выдел-
енного на нее участка формы.
3. AutoSize - расширение/не расширение места, отводимого
под метку в случае, если текст не помещается в границы,
отведенные под него. Свойство логическое, т.е. принима-
ет булевые значения True (истина) или False (ложь). Оно
имеет смысл и место в том случае, если программист не
знает заранее длину строки, которая "придет" в метку.
4. BorderStyle - вид метки (0 - нормальная, 1 - вдавленная
в форму).
5. ForeColor - цвет фона.
6. Caption - содержимое метки.
Продолжаем разговор. Поговорим о текстовых окнах. Это наи-
более частоиспользуемый элемент управления Windows, так
как любому приложению необходимо (как правило) принимать
от пользователя какие-то данные.
Текстовые окна предназначены (как правило) для того, чтобы
пользователь вводил в них данные: числа, строки и пр. Вну-
три текстового окна пользователь может работать с буфером,
т.е. копировать, вырезать и вставлять часть текста. Помни-
те, на лекции приводился пример, в котором было реализова-
но сложение двух чисел?
Окна, в которых видны числа "7" и "3", - текстовые. У эле-
мента текстовое окно (TextBox) есть хорошее свойство
multiline (многолинейность), которое позволяет использова-
ть его в виде простейшего текстового редактора.
Свойства TextBox (текстовое окно).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Name - имя текстового окна.
2. Locked - возможность редактирования окна (логическое
свойство). Значит так, давайте договоримся: если я гов-
орю о том, что свойство является логическим, то это оз-
начает следующее - свойство принимает два булевых знач-
ения True (истина) и False (ложь). Ниже я такой расшиф-
ровки писать не буду...
3. MaxLength - максимальное число символов, которое мож-
но ввести в окно.
4. PasswordChar - символ пароля. Символ, который виден
в текстовом окне в процессе ввода пользователем пароля.
5. ScrollBars - определяет наличие полос прокрутки (0 -
нет, 1 - горизонтальная, 2 - вертикальная, 3 - обе).
6. Text - текст текстового окна.
Пример.
~~~~~~~
Создадим приложение, которое реализует полное решение ква-
дратного уравнения. Вспомним условие. Дано уравнение вида:
axx+bx+c=0, найти корни уравнения.
Видно, что на форме находятся следующие элементы управлен-
ия:
1) метки ("a=", "b=", "c=", "x1=", "x2=" и "Введите три
числа, соответствующие коэффициентам квадратного уравн-
ения a*x*x+b*x+c=0 и кликните на кнопке "Рассчиать");
2) текстовые окна txtA, txtB, txtC, txtX1 и txtX2;
3) командная кнопка "Рассчитать".
Заметим, что алгоритм полного решения квадратного уравнен-
ия - нетривиальная задача и мы сейчас не будем рассматрив-
ать его. (Это тема практического занятия.) Отметим эффект-
ное использование переменных X1, X2 типа variant: так
как они могут принимать любые значения (числа, строки), то
мы можем заносить в них как результаты вычислений (числа),
так и результат сравнения (нет решений, любое число, беск-
онечное число корней).
Option Explicit
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim x1 As Variant
Dim x2 As Variant
Private Sub Command1_Click()
a = Val(txtA)
b = Val(txtB)
c = Val(txtC)
If a = 0 Then
If b <> 0 Then
x1 = -c / b
x2 = x1
Else
If c = 0 Then
x1 = "любое число"
x2 = x1
Else
x1 = "нет решения"
x2 = x1
End If
End If
Else
d = b * b - 4 * a * c
If d > 0 Then
d = Sqr(d)
x1 = (-b + d) / 2 * a
x2 = (-b - d) / 2 * a
Else
If d = 0 Then
x1 = -b / 2 / a
x2 = x1
Else
x1 = "нет вещественных корней"
x2 = x1
End If
End If
End If
txtX1 = x1
txtX2 = x2
End Sub
Задания к лабораторной работе №3
1. Прочитать, законспектировать работу.
2. Проверить пример.
3. Получить и выполнить индивидуальное задание.