Базовые элементы управления вводом и выводом информации в IDE VB
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
«Ивановская государственная текстильная академия»
(ИГТА)
Кафедра ПМИТ
КУРСОВАЯ РАБОТА
дисциплина: Информатика
Автор работы_______________
Подпись
Специальность 100101 «Информационный сервис»
Номер зачётной книжки: 104079 Группа 1э4
Руководитель работы ___________ Ветчинин Д.Д.
Работа защищёна
___________
Иваново 2011
Содержание
№ п/п |
Наименование |
Стр. |
Введение |
3 | |
1 |
Базовые элементы управления вводом и выводом информации в IDE VB |
4 |
2 |
Процедуры и функции в системе программирования VB |
8 |
3 |
Важнейшие программные конструкции в системе программирования VB. Создание MDI формы для проекта VB5 |
12 |
3.1 |
Реализация проекта VB 5.1 |
12 |
3.2 |
Реализация проекта VB 5.2 |
15 |
3.3 |
Реализация проекта VB 5.3 |
18 |
3.4 |
Реализация проекта VB 5.4 |
21 |
4 |
Использование элементов визуального дизайна IDE VB |
23 |
Выводы |
28 | |
Список использованных источников |
29 |
Введение
Visual Basic 6.0 – это средство разработки программного обеспечения. Как и у любой другой среды разработки приложений у него есть свои достоинства и свои недостатки. Visual Basic - это объектно-ориентированный язык программирования. Объектами являются окно, кнопка, текстовое поле с, с которыми работает программа и многое другое. Это дает возможность программисту не тратить много времени на разработку интерфейса и визуальное проектирование создаваемого приложения. В этом заключается основная особенность Visual Basic 6.0. Простой синтаксис программирования – вот еще одно достоинство этого языка. Это помогает начинающим программистам быстро освоить его. Основной недостаток VB 6.0 это сильная привязанность к своей среде разработки и невозможность программирования вне своей среды. VB поддерживает операционные системы только семейства Windows и Mac OS. Это также является существенным недостатком для многих программистов.
Цель данной курсовой работы изучить основные элементы и принципы языка программирования Visual Basic 6.0.
- Базовые элементы управления вводом и выводом информации в IDE VB
В пункте 2.2 работы VB3 предлагается разработать приложение для расчета задачи по данной формуле:
Разрабатываем интерфейс приложения, который представлен на рисунке 1.
Рисунок 1 – Интерфейс приложения для выполнения пункта 2.2 работы VB3
Обьявляем переменные:
Option Explicit
Dim K As Single
Dim w As Single
Dim n As Single
Программный код для выполнения процедуры обработки события нажатия клавиши «Вычислить»:
Private Sub Cmd_1_Click()
Dim i As Integer
Dim G As Single
Dim n As Integer
n = Round(Val(Txt_3))
w = Val(Txt_2)
K = Val(Txt_1)
For i = 0 To n
G = 1
G = G * (K * 2.7 ^ (-w * i))
Next i
Txt_4 = G
End Sub
Код обработки события
нажатия клавиши «Очистить
Private Sub Cmd_2_Click()
Txt_1.Text = ""
Txt_2.Text = ""
Txt_3.Text = ""
Txt_4.Text = ""
End Sub
Запрет на ввод других символов кроме цифр:
Private Sub Txt_1_Change()
If Not IsNumeric(Txt_1.Text) Then
Txt_1.Text = ""
End If
End Sub
Private Sub Txt_2_Change()
If Not IsNumeric(Txt_2.Text) Then
Txt_2.Text = ""
End If
End Sub
Private Sub Txt_3_Change()
If Not IsNumeric(Txt_3.Text) Then
Txt_3.Text = ""
End If
End Sub
Private Sub Txt_4_Change()
If Not IsNumeric(Txt_4.Text) Then
Txt_4.Text = ""
End If
End Sub
Далее, в пункте 2.3 предлагается разработать приложение для исследования свойств Auto Size и Wordwrap инструмента«Поле метки». Для этого на форме располагаем объект Lable c названием Lbl_1 и клавиши включающие и отключающие свойства Auto Size и Wordwrap. Код приложения представлен ниже:
Private Sub Cmd_1_Click(Index As Integer)
Frm_2.Lbl_1.AutoSize = True
End Sub
Private Sub Cmd_2_Click()
Frm_2.Lbl_1.AutoSize = False
Frm_2.Lbl_1.Height = 555
Frm_2.Lbl_1.Width = 3600
End Sub
Private Sub Cmd_3_Click(Index As Integer)
Frm_2.Lbl_1.WordWrap = True
End Sub
Private Sub Cmd_4_Click()
Frm_2.Lbl_1.WordWrap = False
Frm_2.Lbl_1.Height = 555
Frm_2.Lbl_1.Width = 3600
End Sub
В пункте 2.4 работы VB3 нужно создать приложение для исследования свойства MultiLine текстового поля. На форму помещаем два объекта TextBox, на одном из них свойство MultiLine активно, а на другом нет. Для удобства приложения также помещаем клавишу очистки полей. Никаких процедур в приложении не выполняется, поэтому и в коде кроме очистки полей ничего не прописано:
Private Sub Cmd_2_Click()
Txt_1.Text = ""
Txt_2.Text = ""
End Sub
В пункте 2.5 предложено разработать приложение, предназначенное для редактирования и обмена содержимым двух текстовых полей. Визуальный дизайн приложения представлен на рисунке 2.
Рисунок 2 – Визуальный дизайн приложения пункта 2.5 работы VB3
Код приложения:
Private Sub Cmd_1_Click()
Clipboard.Clear
Clipboard.SetText Txt_1.SelText
End Sub
Private Sub Cmd_2_Click()
Txt_1.SetFocus
Txt_1.SelStart = 0
Txt_1.SelLength = Len(Txt_1.Text)
End Sub
Private Sub Cmd_3_Click()
Txt_2.SelText = Clipboard.GetText()
End Sub
Private Sub Cmd_4_Click()
Clipboard.Clear
Clipboard.SetText Txt_1.SelText
Txt_1.SelText = ""
End Sub
- Процедуры и функции в системе программир
ования VB
В разработанном приложении должна решаться задача: шар радиусом K плавает на поверхности воды, погруженный в нее на глубину а * r ( a<r ). Требуется вычислить работу, которая необходима для погружения шара под воду. Работу вычислять посредством численного интегрирования.
Интерфейс приложения представлен на рисунке 3.
Рисунок 3 – Интерфейс приложения VB4
Код программы реализации VB4:
Обьявляем переменные:
Option Explicit
Dim A As Single
Dim k As Single
Dim a1 As Single
Dim r As Single
Const P = 1 'Плотность воды
Dim d As Single
Dim q As Single
Dim w As Single
Dim z As Single
Dim V As Single
Dim h As Single
Dim Bag As Single
Const pi = 3.14
Процедура обработки события нажатия клавиши «Вычислить А»:
Private Sub Cmd_1_Click()
k = Val(Txt_1.Text)
a1 = Val(Txt_2.Text)
r = Val(Txt_3.Text)
w = Val(Txt_5.Text)
q = Val(Txt_6.Text)
V = 4 / 3 * pi * k ^ 3
d = 2 * k
Bag = 0
If a1 < r Then
Do
z = d / w
For h = 0 To d Step z
Bag = Vsegm(h)
If V > Vsegm(h) Then
Vsegm (h)
List1.AddItem Vsegm(h)
A = P * Vsegm(h) * 9.8 * (d - (a1 * r))
List2.AddItem A
Else
Exit Do
End If
Next h
Loop While V - Vsegm(h) > q
Else
MsgBox "Ошибка", vbCritical, "Error"
End If
End Sub
Для корректной работы программы также создаем функцию, вызываемую в указанном выше коде:
Private Function Vsegm(h As Single) As Single
Vsegm = 1 / 3 * pi * (h) ^ 2 * (3 * k - (h))
End Function
Для удобства работы с приложением создаем кнопку для очистки полей вывода результата. Ниже приведен код обработки события ее нажатия:
Private Sub Cmd_2_Click()
List1.Clear
List2.Clear
End Sub
Рисунок 4 – Блок-схема алгоритма работы проекта VB4
- Важнейшие программные конструкции в системе программирования VB.
Создание MDI формы для проекта VB5
Работа VB 5 состоит из четырех пунктов. Необходимым заданием было создание MDI формы и загрузка остальных приложений из ее меню. Код формы представлен ниже:
Private Sub Zadanie1_Click()
Frm_1.WindowState = 2
End Sub
Private Sub zadanie2_Click()
Frm_2.WindowState = 2
End Sub
Private Sub zadanie3_Click()
Frm_3.WindowState = 2
End Sub
Private Sub zadanie4_Click()
Frm_4.WindowState = 2
End Sub
3.1 Реализация проекта VB 5.1
В задании VB 5.1 требуется проанализировать введенный текст и определить частоту использования в нем каждого символа десятичного числового кода и отобразить результат. Для этого на форме располагаем элемент TextBox. Загрузка текста в него производится из файла сразу после загрузки формы. Также на форме располагаем еще 10 текстовых полей соответствующих каждому десятичному символу для вывода в них результата подсчета, и два элемента управления CommandButton. Интерфейс приложения представлен на рисунке 5.
Рисунок 5 – Интерфейс приложения VB 5.1
Ниже представлен код реализации программы:
Option Explicit
Dim i As Integer
Dim N As Integer
Dim k As Integer
Dim M As Integer
Dim l As Integer
Dim t As Integer
Dim u As Integer
Dim h As Integer
Dim a As Integer
Dim d As Integer
Dim b As Integer
Private Sub Cmd_1_Click()
N = 0
k = 0
M = 0
l = 0
t = 0
u = 0
h = 0
a = 0
d = 0
b = 0
For i = 1 To Len(Txt_1)
If Mid(Txt_1, i, 1) = "0" Then N = N + 1
If Mid(Txt_1, i, 1) = "1" Then k = k + 1
If Mid(Txt_1, i, 1) = "2" Then M = M + 1
If Mid(Txt_1, i, 1) = "3" Then l = l + 1
If Mid(Txt_1, i, 1) = "4" Then t = t + 1
If Mid(Txt_1, i, 1) = "5" Then u = u + 1
If Mid(Txt_1, i, 1) = "6" Then h = h + 1
If Mid(Txt_1, i, 1) = "7" Then a = a + 1
If Mid(Txt_1, i, 1) = "8" Then d = d + 1
If Mid(Txt_1, i, 1) = "9" Then b = b + 1
Next i
Txt_2.Text = N
Txt_3.Text = k
Txt_4.Text = M
Txt_5.Text = l
Txt_6.Text = t
Txt_7.Text = u
Txt_8.Text = h
Txt_9.Text = a
Txt_10.Text = d
Txt_11.Text = b
End Sub
Код для загрузки текста из текстового файла:
Private Sub Form_Load()
Dim Fn As Long
Fn = FreeFile
Open App.Path & "\f.txt" For Input As Fn
Txt_1.Text = Input(LOF(Fn), Fn)
Close Fn
End Sub
3.2 Реализация проекта VB 5.2
Задание к пункту звучит так: исследовать на экстремум функцию
на интервале, заданном пользователем (тестовый интервал [0;3]). Использовать итерацию, возможна оценка точности с использованием в качестве критерия производной.
Интерфейс программы представлен на рисунке 6.
Рисунок 6 – Интерфейс приложения работы VB 5.2
Код реализации программы представлен ниже:
Option Explicit
Dim x As Single
Dim y As Single
Dim X1 As Single
Dim X2 As Single
Dim Ymin As Single
Dim Xmin As Single
Dim Ymax As Single
Dim Xmax As Single
Dim z As Single
Private Function F(x As Single) As Single
F = (x - 2) ^ 2 / 3 * (2 * x + 1)
End Function
Private Sub Cmd_1_Click()
Ymin = F(X1 - 0.0000001)
Ymax = F(X2 + 0.0000001)
X1 = Val(Txt_1.Text)
X2 = Val(Txt_2.Text)
z = Val(Txt_6.Text)
For x = X1 To X2 Step z
F (x)
y = F(x)
If y > Ymax Then
Ymax = y
End If
If y < Ymin Then
Ymin = y
End If
List1.AddItem y
Next x
Txt_4.Text = Ymax
Txt_5.Text = Ymin
End Sub
Private Sub Cmd_2_Click()
Txt_1.Text = ""
Txt_2.Text = ""
Txt_4.Text = ""
Txt_5.Text = ""
List1.Clear
End Sub
Рисунок 7 – Блок-схема алгоритма выполнения работы VB 5.2
3.3 Реализация проекта VB 5.3
В задании предлагается сформировать массив CommandButton, элементы которого должны последовательно загружатся по временному отсчету. Геометрия загрузки элементов должна определить заполнение ими квадрата центральной области контейнера. Порядок заполнения: слева – направо, сверху – вниз. Число элементов должно быть не менее 17. Желательно визуализировать каждый элемент своей пиктограммой и предусмотреть возможность последовательной индикации пиктограмм при активизации элементов. Для этого в коде программы задаем переменные и формируем массив кнопок. Также присваиваем каждому элементу массива свой номер:
Option Explicit
Const N = 24
Dim ClName() As String
Dim k As Single
Private Sub Form_Click()
to_Model k
End Sub
Private Sub Form_Load()
to_inscribe ClName(), N
Cmd_Cl(0).Left = 7500
Frm_4.Width = k
End Sub
Private Sub to_inscribe(M() As String, N As Integer)
ReDim M(N)
M(0) = "1"
M(1) = "2"
M(2) = "3"
M(3) = "4"
M(4) = "5"
M(5) = "6"
M(6) = "7"
M(7) = "8"
M(8) = "9"
M(9) = "10"
M(10) = "11"
M(11) = "12"
M(12) = "13"
M(13) = "14"
M(14) = "15"
M(15) = "16"
M(16) = "17"
M(17) = "18"
M(18) = "19"
M(19) = "20"
M(20) = "21"
M(21) = "22"
M(22) = "23"
M(23) = "24"
M(24) = "25"
End Sub
Затем прописываем код для расположения элементов массива:
Private Sub to_Model(k As Single)
Timer1.Enabled = True
Dim i As Integer
For i = 1 To N
Load Cmd_Cl(i)
Cmd_Cl(i).Caption = ClName(i)
If i >= 0 And i < 5 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left + Cmd_Cl(i - 1).Height + 200
End If
If i > 4 And i < 6 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left - 3250
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top + 700
End If
If i > 5 And i < 10 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left + Cmd_Cl(i - 1).Height + 200
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top
End If
If i > 9 And i < 11 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left - 3250
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top + 700
End If
If i > 10 And i < 15 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left + Cmd_Cl(i - 1).Height + 200
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top
End If
If i > 14 And i < 16 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left - 3250
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top + 700
End If
If i > 15 And i < 20 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left + Cmd_Cl(i - 1).Height + 200
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top
End If
If i > 19 And i < 21 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left - 3250
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top + 700
End If
If i > 20 And i <= 24 Then
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left
Cmd_Cl(i).Left = Cmd_Cl(i - 1).Left + Cmd_Cl(i - 1).Height + 200
Cmd_Cl(i).Top = Cmd_Cl(i - 1).Top
End If
Cmd_Cl(i).Visible = False
Next i
End Sub
Для последовательной загрузки элементов массива на форме так же располагаем таймер, который по щелчку на форме активизируется, программный код представлен ниже:
Private Sub Timer1_Timer()
Static h As Integer
h = h + 1
Cmd_Cl(h) = h
Cmd_Cl(h).Visible = True
If h >= 24 Then Timer1.Enabled = False
End Sub
Последовательная индикация кнопок массива представлена сменой цвета при нажатии на них. Программно это реализовано так:
Private Sub Cmd_Cl_click(index As Integer)
If Cmd_Cl(index).BackColor = &H80C0FF Then
Cmd_Cl(index).BackColor = vbWhite
Else
Cmd_Cl(index).BackColor = &H80C0FF
End If
Txt_1 = ""
Txt_1 = Txt_1 + Cmd_Cl(index).Caption
End Sub
3.4 Релизация пректа VB 5.4
В VB 5.4 поставлена задача разработать программу, моделирующую работу логической схемы. Для наглядности данную схему создаем на форме. Для входных и выходных сигналов используем элементы управления Label. В результате программа при запуске будет имеет такой вид:
Рисунок 8 – Внешний вид программы VB 5.4
Программно поставленная задача решается так:
Option Explicit
Dim g, h, j, l, k, s As Variant
Private Sub Label1_Click(index As Integer)
If Label1(index) = 1 Then Label1(index) = 0 Else Label1(index) = 1
g = Not (Label1(0) Or Label1(1))
h = Not (Label1(2) Or Label1(3))
j = Not (Label1(4) Or Label1(5))
l = Not (Label1(6) And Label1(7))
k = Not (Label1(8) And Label1(9))
If Label2 = g Xor h Xor j Xor l Xor k Then Label2 = 1 Else Label2 = 0
End Sub
- Использование элементов визуального дизайна
IDE VB
Задание VB 6 является проектом визуализации к приложению VB 4. В задании VB 4 требуется вычислить работу погружения шара под воду посредством численного интегрирования: чем больше погруженная под воду часть шара, тем больше работа, совершенная для ее погружения. Это мы и отобразили в проекте. Для этого на форме проекта VB 4 создаем два элемента PictureBox. В одном будет отображаться постепенное погружение шара под воду, а в другом строится графи зависимости работы от объема погруженной части шара. Программа в рабочем состоянии представлена на рисунке 9.
Рисунок 9 – Проект визуализации программы VB 4
В коде программы сначала объявляем переменные:
Option Explicit
Dim A As Single
Dim k As Single
Dim k1 As Single
Dim a1 As Single
Dim r As Single
Const P = 1 'Плотность воды
Dim d As Single
Dim q As Single
Dim w As Single
Dim z As Single
Dim V As Single
Dim h As Single
Dim Bag As Single
Const pi = 3.14
Dim x1 As Single
Dim y1 As Single
Dim j As Single
Dim sp As Single
Dim lk As Single
Затем создаем событие клик по элементу PictureBox1. Этим мы строим систему координат и определяем начальное положение погружаемого шара:
Private Sub PicBox_1_Click()
PicBox_1.Refresh
PicBox_1.ForeColor = vbBlue
PicBox_1.DrawWidth = 2
PicBox_1.Scale (-10, 15)-(20, -15)
PicBox_1.Line (-10, 0)-(20, 0)
PicBox_1.Line (-7, -15)-(-7, 15)
For k = -10 To 20
PicBox_1.PSet (k, 0)
PicBox_1.Print k
Next k
For k = -15 To 15
PicBox_1.PSet (-7, k)
PicBox_1.Print k
Next k
x1 = 3
y1 = (-Txt_2 * Txt_3) + Txt_1
PicBox_1.Circle (x1, y1), Txt_1, RGB(0, 0, 250)
PicBox_1.PSet (x1, y1), vbGreen
End Sub
По клику на элементе управления PictureBox2 в нем тоже строится система координат:
Private Sub PicBox_2_Click()
PicBox_2.DrawWidth = 2
PicBox_2.Scale (-100, 100)-(1000, -100)
PicBox_2.Line (-100, 0)-(1000, 0)
PicBox_2.Line (0, -100)-(0, 100)
For k1 = -100 To 1000 Step 100
PicBox_2.PSet (k1, 0)
PicBox_2.Print k1
Next k1
For k1 = -100 To 100 Step 10
PicBox_2.PSet (0, k1)
PicBox_2.Print k1
Next k1
End Sub
Затем в готовом коде проекта VB 4 прописываем часть для создания анимации погружения шара под воду:
Private Sub Cmd_1_Click()
On Error Resume Next
Lst_1.Clear
Lst_2.Clear
k = Val(Txt_1.Text)
a1 = Val(Txt_2.Text)
r = Val(Txt_3.Text)
w = Val(Txt_4.Text)
q = Val(Txt_5.Text)
V = 4 / 3 * pi * k ^ 3
d = 2 * k
Bag = 0
If a1 < r Then
Do
z = d / w
For h = 0 To d Step z
Bag = Vsegm(h)
If V > Vsegm(h) Then
Vsegm (h)
Lst_1.AddItem Vsegm(h)
A = P * Vsegm(h) * 9.8 * (k - (a1 * r))
Lst_2.AddItem Abs(A)
Else
Exit Do
End If
Next h
Loop While V - Vsegm(h) > q
PicBox_1.PSet (x1, k - d), vbGreen
For j = y1 To (k - d) Step -0.05 'Создаем анимацию
PicBox_1.Line (-10, 0)-(40, 0)
For lk = -10 To 20
PicBox_1.PSet (lk, 0)
PicBox_1.Print lk
Next lk
PicBox_1.Circle (x1, y1), Txt_1, RGB(0, 0, 250)
PicBox_1.Circle (x1, j), Txt_1, &HC0FFC0
PicBox_1.Line (x1, j)-(x1, y1), vbBlack
Next j
PicBox_1.Circle (x1, k - d), Txt_1, RGB(250, 0, 0)
Else
MsgBox "Ошибка", vbCritical, "Error"
End If
End Sub
Для построения графика зависимости работы от объема погруженной части шара создаем на форме элемент CommandButton, при активизации которого будет строится график на элементе PictureBox2. Программно это выглядит так:
Private Sub Cmd_3_Click()
PicBox_2.DrawWidth = 1
sp = RGB(250, 250, 250) * Rnd
PicBox_2.Line (0, 0)-(Abs(A), Vsegm(h)), sp
End Sub
Так же на форме расположена кнопка очистки полей, код для нее представлен ниже:
Private Sub Cmd_2_Click()
Txt_1 = ""
Txt_2 = ""
Txt_3 = ""
Txt_4 = ""
Txt_5 = ""
Lst_1.Clear
Lst_2.Clear
End Sub
Выводы
В ходе работы над проектом мы изучили основные элементы ввода и вывода информации в IDE VB, важнейшие программные конструкции в данной системе программирования, узнали что такое процедуры и функции VB и освоили некоторые элементы визуального проектирования. В целом мы освоили основу данного языка программирования, что в дальнейшем поможет нам развиваться и совершенствовать себя в данной области.
Список использованных источников
1. Методические указания
к лабораторной работе «
2. Методические указания
к лабораторной работе «
3. Методические указания к лабораторной работе «Важнейшие программные конструкции в системе программирования VB»/Сост. Д.Д.Ветчинин, С.Ю.Палычев, ИГТА, 2005 – 32c.
4. Методические указания к лабораторной работе «Использование элементов визуального дизайна в IDE VB»/Сост. Д.Д.Ветчинин, С.Ю.Палычев, ИГТА, 2005 – 24с.

- Базовые элементы эффективного менеджмента персонала
- Базовый план проекта предприятия
- Базовый технологический расчет трубчатой печи
- Базы данные о выпуске продукции на хлебокомбинате
- Базы данных
- Базы данных
- Базы данных
- Базовые стратегии конкуренции
- Базовые стратегии конкуренции
- Базовые стратегии конкуренции и особенности их использования на российских рынках
- Базовые стратегии конкуренции. Условия их применения на примере гостиницы
- Базовые технологии кондитерской промышленности на примере производства шоколада
- Базовые технологии целлюлозно-бумажной промышленности на примере производства бумаги ГОСТ
- Базовые ценности и особенности поведения русских как этнической группы