Автор: Пользователь скрыл имя, 20 Декабря 2011 в 19:33, лабораторная работа
Задание
Поместить на форму два текстовых поля и командную кнопку. Свойству Name первого поля задать значение Field1, второго — Field2. Свойству Text первого поля задать значение Иванов, другого — Петров.
1. Работа с текстовыми данными………………………………………………2
2. Работа с датами……………………………………………………………… 5
3. Построение треугольника из частей отрезка………………………………11
4. Изменение цвета текстового поля………………………………………….17
5. Список использованных источников информации………………………..22
Содержание
Задание
Поместить на форму два текстовых поля и командную кнопку. Свойству Name первого поля задать значение Field1, второго — Field2. Свойству Text первого поля задать значение Иванов, другого — Петров.
В модуле кода формы написать следующее:
Option Explicit
Private Sub cmdGo_Click()
Field1.Text = Field2.Text
Field2.Text = Field1.Text
End Sub
Вопросы к заданию
Ответ: Интерфейс пользователя представлен на рисунке 1
1—поле вывода; 2—поле вывода; 3—кнопка
Рисунок
1− Интерфейс пользователя
Ответ:
При
нажатии на кнопку «Задание 1» свойству
Text элемента Field1 присваивается значение
свойства Text элемента Field2. При этом происходит
замена и старое значение удаляется. Результатом
выполнения данных действий показан на
рисунке 2.
Рисунок 2 − Результат задания
Ответ:
При
замене строк местами свойству Text
элемента Field2 присваивается значение
свойства Text элемента Field1. При этом старое
значение свойства Text элемента Field2
исчезает. Вместо него появляется новое
значение. Результат выполнения данных
действий показан на рисунке 3.
Рисунок 3 − Результат задания
Ответ: Для замены значений местами необходимо ввести дополнительную переменную, которая будет использоваться в качестве буфера. В данной программе используются две переменные для упрощения дальнейшего использования значений.
Переменной х присваивается значение первого поля, а у второго. Затем значению первого поля присваивается значение у, а значению второго поля значение х. В итоге значения полей поменяются местами. Результат показан на рисунке 4.
Рисунок
4 − Результат задания
Листинг
программы:
Private Sub cmdGo3_Click() ' меняем поля местами
Dim x As String
Dim y As String
x = field1.Text ' заносим в буфер значение поля 1
y = field2.Text ' заносим в буфер значение поля 2
field1.Text = y
field2.Text = x
End Sub
Листинг
программы:
Option Explicit
Private Sub cmdGo1_Click() ' присваиваем значение поля 2 значению поля 1
field1.Text = field2.Text
field2.Text = field1.Text
End
Sub
Private Sub cmdGo2_Click() ' присваиваем значение поля 1 значению поля 2
field2.Text = field1.Text
field1.Text = field2.Text
End
Sub
Private Sub cmdGo3_Click() ' меняем поля местами
Dim x As String
Dim y As String
x = field1.Text ' заносим в буфер значение поля 1
y = field2.Text ' заносим в буфер значение поля 2
field1.Text = y
field2.Text = x
End
Sub
Private Sub cmdGo4_Click() 'возвращаем исходные значения
field1.Text = "Иванов "
field2.Text = "Петров"
End
Sub
Задание
Разработать программу для обработки вводимой пользователем даты.
Программа должна реализовывать следующие функции.
Вопросы к заданию
Ответ:
Интерфейс пользователя приведен на рисунке
5.
1—поле ввода даты; 2 —метка «День»; 3 —метка «Месяц»; 4 — метка «Год»;
5 — метка «День недели»; 6 — метка «день недели 1-го числа введенного месяца»;
7 — метка «Разница между текущей и введенной датой в годах»; 8 — метка «текущее время»;
9 — кнопка «Вычислить»
Рисунок 5 – Интерфейс пользователя
Ответ:
Для
дублирования номера месяца в году
его текстовым названием
Затем
нужно выбрать исходя из значения
числового номера месяца какое значение
присвоить переменной mes. При значении
числового номера месяца 1 – переменной
mes присваивается значение «Январь», 2
–«Февраль» и т.д. после сравнения и присвоения
текстового значения, полученное значение
переменной mes выводится на экран.
Ответ:
При вводе даты в формате отличном от DD.MM.YYYY получаются следующие результаты:
Рисунок
6 − Пример ввода неправильного
формата даты
Листинг программы:
Option
Explicit
Private Sub cmdEXE_Click()
Dim varDay As Integer
Dim varMon As Integer
Dim varGod As Integer
Dim varDate As Date
Dim varDate1 As Date
Dim mes As String
Dim varWeekDay As Integer
Dim varStr As String
varDay = Val(Left(tbDay.Text, 2)) 'два символа слева
varMon = Val(Mid(tbDay.Text, 4, 2)) 'два символа из центра
varGod = Val(Right(tbDay.Text, 4)) ' четыре символа справа
varDate = DateSerial(varGod, varMon, varDay) ' перевели в формат фаты
varDay = Day(varDate) ' выделили день из даты
varMon = Month(varDate) ' выделили месяц из даты
varGod = Year(varDate) ' выделили год из даты
Select Case varMon ' определяем какой месяц
Case 1
mes = "январь"
Case 2
mes = "февраль"
Case 3
mes = "март"
Case 4
mes = "апрель"
Case 5
mes = "май"
Case 6
mes = "июнь"
Case 7
mes = "июль"
Case 8
mes = "август"
Case 9
mes = "сентябрь"
Case 10
mes = "октябрь"
Case 11
mes = "ноябрь"
Case 12
mes = "декабрь"