- Преподавателю
- Информатика
- Практикум по языку прогрfммирования vb. net
Практикум по языку прогрfммирования vb. net
Раздел | Информатика |
Класс | - |
Тип | Другие методич. материалы |
Автор | Никишов В.К. |
Дата | 13.07.2015 |
Формат | doc |
Изображения | Есть |
Министерство образования и науки Российской Федерации Государственное образовательное учреждение высшего профессионального образования «Чувашский государственный педагогический университет им. И.Я.Яковлева»
Кафедра информатики и вычислительной техники
Лабораторный практикум
по программированию в среде Visual Studio
( язык программирования Visual Basic.Net»
2011
ББК 32.973.2 - 018р30
В - 170
B.К.Никишев. Лабораторный практикум по программированю в среде Visual Studio (язык программирования Visual Basic.Net) : учеб.- метод. пособие для студентов физико - математического факультета / В. К. Никишев. - Чебоксары: Чуваш. гос. пед. ун - т, 2011. - 200 c .
Печатается по решению Ученого совета Чувашского педагогического университета им. И.Я. Яковлева.
Рецензенты:
Ванюлин А. Н. - канд.тех.наук, доцент кафедры информационных технологий Чебоксарского кооперативного института Московского университета потребительской кооперации.
Горский А. В. - канд. физ. мат. наук, доцент кафедры информатики и вычислительной техники Чувашского государственного педагогического университета им. И. Я. Яковлева.
Горский П. В. - канд. физ. мат. наук, доцент кафедры информатики и вычислительной техники Чувашского государственного педагогического университета им. И. Я. Яковлева.
Методическое пособие по программированию предназначено для студентов ФМ факультета. В пособии представлены примеры выполнения лабораторных работ на языке программирования Visual Basic.Net. Тематика лабораторных работ соответствует рабочей программе, написанной в соответствии со стандартом образования. Каждая работа содержит : условие задачи, алгоритм в совесной форме и в виде блок-схем, программа на языке программирования VisualBasic.Net и результаты вычислений. Задания для выполнения лабораторных работ приведены в пособии . Особое внимание уделено выполнению лабораторных работ по методу объктно-ориентированного программирования.
ISBN © 2011
Оглавление
1. Введение
-
Лабораторные работы ..................................... 5
2.1 Лабораторная работа №1 ................................. 5
Тема: Вычисление арифметических
выражений. Консольный вариант
2.2 Лабораторная работа № 2 Тема: Вычисление 10
суммы ряда. Консольный вариант
2.3 Лабораторная работа № 3.Тема: Вычисление... 14
арифметического выражения и суммы ряда.
Window проект
2.4 Лабораторная работа № 4. Тема: Вычисление .21
произведения ряда и суммы ряда с заданной
точностью. Window проект
2.5 Лабораторная работа № 5.Тема: Одномерные
массивы. Window проект.....................................26
2.6 Лабораторная работа №6. Тема: Двумерные
массивы.Window проект.....................................29
2.7 Лабораторная работа №7. Тема:
Одномерные символьные массивы
.Window проект............................................... 32
2.8 Лабораторная работа №8. Тема: Файлы.
Window проект.....................................................37
2.9 Лабораторная работа №10. Тема: Графика.
Window проект.....................................................42
2.10 Лабораторная работа №10 .Тема:
Построение графика и таблицы
значений функции y=f(x) Построение
графика функции.................... ..........................46
2.11 Лабораторная работа №11.Тема: Выбор и
построение графика функции.
Window проект на форме и в PitureBox............50
2.12 Лабораторная работа №12.Тема: Выбор и
построение графика функции..............................53
2.13 Лабораторная работа №13 Тема: Классы
и объекты. Метод ООП........................................61 2.14 Лабораторная работа №14 Тема: Классы
и объекты. Ввод и вывод с помощью
функций..................................................................64 2.15 Лабораторная работа №15 Тема: Классы
и объекты. Наследование...................................67 2.16 Лабораторная работа №16 Тема: Классы и
объекты. Массивы объектов.................................71
2.17 Лабораторная работа №17 Тема: Классы и
объекты. Вычисление параметров призмы........77 2.18 Лабораторная работа №18. Тема:
Индивидуальная работа на основе
метода ООП..1........................................................81 2.19 Лабораторная работа №19 Тема:
Индивидуальная работа на основе
метода ООП..2 .....................................................89 2.20 Лабораторная работа №20
Тема: Индивидуальная работа на основе
метода ООП Разработка баз данных ........96 2.21 Лабораторная работа № 21
Тема: Индивидуальная работа на основе
метода ООП. Разработка массива на основе
стандартного класса Array List.......................
1. Введение
Visual Basic.NET (VB.NET) - объектно-ориентированный язык программирования, который следует рассматривать как развитие Microsoft Visual Basic на платформе .NET. В VB.NET были произведены существенные изменения, которые привели к несовместимости с версиями Visual Basic, что делает автоматический перенос приложений из VB 6.0 в VB.NET по крайней мере очень проблематичным. Открытие проектов старых версий (*.vbp) возможно только после предварительного преобразования их в формат VB.NET специальным мастером (Migration Wizard), однако наиболее целесообразным является разработка новых проектов на базе языка программирования VB.NET.
Microsoft включила в VB.NET ряд новых возможностей, в числе которых полная поддержка объектно-ориентированного программирования и расширенные средства разработки web-приложений. Но для освоения обновленного инструмента требуются немалые усилия. Большинство пользователей VB.NET использует Visual Studio .NET как интегрированную среду обработки (IDE) или как совершенно новый язык программирования. Поэтому язык программирования необходимо рассматривать как новый объектно - ориентированный язык программирования на платформе .NET Framework Visual Studio 2010 с новой технологии программирования и разработки Windows и Web приложений. С учетом таких рекомендаций необходимо иметь и различные методические разработки для программирования . Предлагаемая разработка Лабораторный практикум для языка программирования VB.NET поможет быстрее усвоить практику работ в среде Visual Studio 2010.
2. Лабораторные работы по программированию 2.1 Лабораторная работа №1
Тема: Вычисление арифметических
выражений. Консольный вариант
Цель занятия: Изучить структуру программ, основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ в консольном варианте.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в консольном варианте .
4.Разработка программы на основе основных математических операторов
Вычислить следующее арифметическое выражение
Словесный алгоритм
1. Титульный лист ( автор, условие)
2. Ввод х
3. Вычисление a,b,c
4. Вычисление y=a/b*c
5. Вывод y
Блок - схема алгоритма
Программа в консольном варианте
Module Module1
Dim x As Integer
Dim s, a, b, m As Double
Dim str As String
Sub Main()
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(«ГОУ ВПО ЧГПУ им. И. Я. Яковлева»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(« Лабораторная работа по программированию «)
Console.WriteLine(« на тему "Вычисление выражений"»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(« Выполнил: студент МиИ-3а СергеевН.)
Console.WriteLine(« Проверил: профессор информатики Никишев В. К.»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine()
Console.WriteLine()
onsole.WriteLine(« Нажмите любую клавишу»)
Console.ReadKey()
Console.Clear()
str = «g»
Do Until str = «»
x = Console.ReadLine()
a = Math.Pow(2, 1 / x - 1) - Math.Sin(x - 1)
b = Math.Pow(Math.Cos(1 - x), 2) + Math.Log(2 + Math.Abs(1 - x)) / Math.Log(2)
m = 3 - x
s = a * m / b
Console.WriteLine(s)
Console.WriteLine()
Console.WriteLine(«повторить? (нажмите клавишу)»)
str = Console.ReadLine()
Loop
End Sub
End Module
2.2 Лабораторная работа №2
Тема: Вычисление суммы ряда.
Консольный вариант
Цель занятия: Изучить структуру программ , основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ для вычисления суммы ряда в консольном варианте.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в консольном варианте .
4.Разработка программ на основе основных математических операторов
Словесный алгоритм:
1. Титульный лист ( тема, условие задачи, автор,кнопка Начало);
2. Если кнопка Начало включена, то переход на 3, иначе на 1;
3. Ввод n ( текстовое окно);
4. Организация цикла от i=1 до n;
5. Вычисление a=(-1) ^ (i + 1) / (i * (i + 1))
6.Вычислить выражение s=s+a
7. Если i>n, то переход на 8, иначе на 5
8. Вывод результата вычисления s
9. Тестирование результата вычислений
Module Module1
Dim x, k As Integer
Dim s As Double
Dim str As String
Sub Main()
Dim k As Integer
Console.WriteLine()
Console.WriteLine(« ГОУ ВПО ЧГПУ им. И. Я. Яковлева»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(« Лабораторная работа по программированию «)
Console.WriteLine(« на тему "Вычисление суммы ряда"»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(« Выполнил: студент МиИ-3а Сергеев Н. И.»)
Console.WriteLine(« Проверил: профессор информатики Никишев В. К.»)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(« Нажмите любую клавишу»)
Console.ReadKey()
Console.Clear()
str = «g»
s = 1
Do Until str = «»
Console.Clear()
Console.WriteLine(«Введите число "n"»)
x = Console.ReadLine()
For k = 1 To x
s = s * (1 + 1 / Math.Pow(k, x))
Next
Console.WriteLine(s)
Console.WriteLine()
Console.WriteLine(«повторить?(нажмите клавишу)»)
str = Console.ReadLine()
Loop
End Sub
End Module
2.3 Лабораторная работа №3
Тема: Вычисление арифметического выражения
и суммы ряда. Window проект
Цель занятия: Изучить структуру программ в среде Window, основные операторы VB.NET для вычислений арифметических выражений и суммы ряда с использованием меню для ввода информации об авторе, условий задач, выбора и пуска программы, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших Window проектов
План выполения задания
1. построение словесного алгоритма
2. Построение алгоритма в виде блок-схемы
3. Разработка программы в среде Window
4.Разработка программы на основе разработанных алгоритмов
Условия заданий
Блок - схема алгоритма
Public Class Form1
Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
Close()
End Sub
Private Sub Задача1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Задача1ToolStripMenuItem.Click
Form2.Show()
Me.Hide()
End Sub
Private Sub АвторToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles АвторToolStripMenuItem.Click
Form3.Show()
Me.Hide()
End Sub
Private Sub Задача2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Задача2ToolStripMenuItem.Click
Form4.Show()
Me.Hide()
End Sub
Private Sub УсловиеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles УсловиеToolStripMenuItem.Click
Me.Hide()
Form5.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
End Sub
End Class
Public Class Form2
Dim x As Integer
Dim y As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
x = Val(TextBox1.Text)
Y = Str(((Math.Pow(2, 1 / x - 1) - Math.Sin(x - 1)) / (Math.Pow(Math.Cos(1 - x), 2) + Math.Log(2 + Math.Abs(1 - x)) / Math.Log(2)) * (3 - x)))
TextBox2.Text = y
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Application.Exit()
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
//Форма для вычисления суммы ряда
Public Class Form4
Dim n, i As Integer
Dim sum As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = 0
i = 1
If TextBox1.Text <> «» Then n = Val(TextBox1.Text)
TextBox2.Text = «1»
While i <= n
TextBox2.Text = Str(Val(TextBox2.Text) * (1 + 1 / Math.Pow(i, n)))
i = i + 1
End While
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Form4_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Application.Exit()
End Sub
End Class
2.4 Лабораторная работа №1
Тема: Вычисление произведения ряда и суммы ряда с заданной точностью. Window проект
Цель занятия: Изучить структуру программ , основные операторы VB.NET для вычислений произведений ряда и суммы с заданной точностью, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ по данной тематике в Window приложении.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в консольном варианте .
4.Разработка программ на основе основных математических операторов
блок-схема алгоритма
Вычисление суммы с заданной точностью
Вычисление произведения ряда
Рublic Class Form5
Dim n, i As Integer
Dim a, s As Double
Dim eps As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal go As System.EventArgs) Handles Button1.Click
eps = Val(TextBox1.Text)
s = 0
n = 0
i = 1
a = 1
While Math.Abs(a) > eps
a = math(pow(-1,i) * 1 / (math(pow(2,i))
s = s + a
i = i + 1
n = n + 1
End While
TextBox2.Text = n
TextBox3.Text = Str(s)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Close()
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub
End Class
Public Class Form4
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim p, a As Double
Dim n, i As Integer
n = Val(TextBox1.Text)
p = 1
For i = 1 To n
a = (1 + 1 / (i ^ (n)))
p = p * a
Next i
TextBox2.Text = Str(p)
End Sub
End Class
2.5 Лабораторная работа №5
Тема: Одномерные массивы. Window проект
Цель занятия: Повторить структуру программ , основные операторы языка VB и изучить особенности использования операторов для создания массивов в языке программирования VB .NET Разработать Window проект по заданию, которую определит преподаватель.
Задания представлены в разделе Задания . Массивы
Условие задания
В качестве примера приведен проект. Условия: разработать Window проект , в котором необходимо задать одномерный массив в диапазоне чисел (-20, 20) с размерностью n и вывести данные в текстовое окно. Найти четные числа и вывести их аналогично в текстовое окно.
ublic Class Form2
Dim s(20) As Integer
Dim i, n As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(TextBox1.Text)
TextBox2.Text = ""
Randomize()
For i = 1 To n
s(i) = Int(Rnd(1) * 41 - 20)
TextBox2.Text = TextBox2.Text + "" + Str(s(i))
Next i
End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
n = Val(TextBox1.Text)
TextBox3.Text = ""
For i = 1 To n
If (s(i) Mod 2 = 0) Then
TextBox3.Text = TextBox3.Text + "" + Str(s(i))
End If
Next
End Sub End Class
2.6 Лабораторная работа №6
Тема: Двумерные массивы. Window проект
Цель занятия: Изучить структуру программ, основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ в консольном варианте.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в консольном варианте .
4.Разработка программ на основе основных математических операторов
2.7
Public Class Form2
Private Sub назадToolStripMenuItem_Click(ByVal sender
Form1.Show()
Me.Hide()
End Sub
Private Sub вывестиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles вывестиToolStripMenuItem.Click
Dim n, m, i, j As Integer
Dim a(100, 100) As Integer
Dim min, max As Double
Dim k As String
n = Val(TextBox1.Text)
m = Val(TextBox2.Text)
k = «»
For i = 1 To n
For j = 1 To m
a(i, j) = Int(Rnd(1) * (-200) + 100)
k = k + « « + Str(a(i, j))
Next
ListBox1.Items.Add(k)
k = «»
Next
min = a(1, 1)
For i = 1 To n
For j = 1 To m
If a(i, j) > max Then max = a(i, j)
If a(i, j) < min Then min = a(i, j)
Next Next
TextBox3.Text = Str(min)
TextBox4.Text = Str(max)
End Sub
End Class
Лабораторная работа №7
Тема: Одномерные символьные массивы.
Window проект
Цель занятия: Повторить структуру программ , основные символьные операторы языка VB и изучить особенности использования операторов для создания символьных массивов в языке программирования VB .NET Разработать Window проект по заданию, которую определит преподаватель.
Задания представлены в разделе Задания . Массивы
В качестве примера приведен проект. Условия: разработать Window проект , в котором необходимо задать одномерный символьный массив с данными: фамилии сотрудников, их должности и оклады. Вывести на экран фамилии сотрудников, которые имиеют минимальный оклад. Данные вводить спомощью текстовых окон, а вывод реализовать с помощью списков listbox( combobox)
Public Class Form2
Dim i As Integer
Dim familia(20), dolznost(20), b(20) As String
Dim oklad(20), a(20) As Double
Private Sub НазадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click
Me.Hide()
Form1.Show()
End Sub
Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim k, l, min, n As Integer
n = TextBox2.Text
If i = n Then
i = 0
ListBox1.Items.Clear()
ListBox1.Items.Clear()
End If
i = i + 1
familia(i) = TextBox1.Text
dolznost(i) = ComboBox1.Text
oklad(i) = NumericUpDown1.Value
For k = 1 To n - Len(familia(i))
familia(i) = familia(i) + ""
Next
If (ComboBox1.Text = «Выберите должность») Or(TextBox1.Text = "") Then
MessageBox.Show(«Не введена фамилия или не выбрана дожность», «Ошибка»)
i = i - 1
Else
ListBox1.Items.Add(familia(i) + "" + dolznost(i) + ""
+ Str(oklad(i)))
End If
l = 1
If i = n Then
For k = 1 To n
If dolznost(k) = «Инженер» Then
a(l) = oklad(k)
b(l) = familia(k)
l = l + 1
End If
Next
min = a(1)
For k = 1 To l - 1
If a(k) < min Then min = a(k)
Next
For k = 1 To l - 1
If a(k) = min Then ListBox2.Items.Add(b(k) + ""
+ Str(a(k)))
Next
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Public Class Form1
Private Sub ЗаданиеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ЗаданиеToolStripMenuItem.Click
Me.Hide()
Form2.Show()
End Sub
Private Sub АвторToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles АвторToolStripMenuItem.Click
Me.Hide()
form3.show()
End Sub
Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
2.8 Лабораторная работа №8
Тема: Файлы.Window проект
Цель занятия: Повторить структуру программ , основные символьные операторы языка VB и изучить особенности использования операторов для создания символьных массивов в языке программирования VB .NET Разработать Window проект по заданию, которую определит преподаватель.
Задания представлены в разделе Задания . Массивы
В качестве примера приведен проект. Условия: разработать Window проект , в котором необходимо задать одномерный символьный массив с данными: фамилии сотрудников, их должности и оклады. Вывести на экран фамилии сотрудников, которые имиеют минимальный оклад. Данные вводить спомощью текстовых окон, а вывод реализовать с помощью списков listbox( combobox)
Public Class Form2
Dim i, n, k, l, min, t As Integer
Dim familia(20), fam(20), dolznost(20), dol(20), b(20), s As String
Dim oklad(20), a(20) As Double
Dim file As Object
Private Sub ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Me.Hide()
Form1.Show()
End Sub
Private Sub oolStripMenuItem_Click(ByVal sender As System.Object,
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If i = n Then
i = 0
ListBox1.Items.Clear()
ListBox1.Items.Clear()
End If
i = i + 1
fam(i) = TextBox1.Text
dol(i) = ComboBox1.Text
oklad(i) = NumericUpDown1.Value
If (ComboBox1.Text = «выберите должность») Or (TextBox1.Text = «») Then
MessageBox.Show(«не введена фамилия или должность», «»»»)
i = i - 1
Else
ListBox1.Items.Add(fam(i) + « « + dol(i) + « « +
Public Class Form2
Str(oklad(i)))
file = While Mid(s, t,
My.Computer.FileSystem.OpenTextFileWriter(«spisok.txt», True)
file.WriteLine(fam(i) + « « + dol(i) + « « + Str(oklad(i)))
file.close()
End If
If i = n Then file.close()
End Sub
Private Sub ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oolStripMenuItem.Click
My.Computer.FileSystem.DeleteFile(«spisok.txt»)
n = InputBox(«введите количество сотрудников», «окно ввода»)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim k As Integer
t = t + 1
End While
t = t + 1
y.Computer.FileSystem.OpenTextFileReader(«spisok.txt»)
For k = 1 To n
s = file.readline():t = 1
While Mid(s, t, 1) <> « «
familia(k) = familia(k) + Mid(s, t, 1)
dolznost(k) = dolznost(k) + Mid(s, t, 1)
t = t + 1
End While
oklad(k) = Val(Mid(s, t + 1, Len(s)))
Next
l = 1
If i = n Then
For k = 1 To n
If dolznost(k) = «инженер Then
a(l) = oklad(k): b(l) = familia(k)
l = l + 1
End If
Next
min = a(1)
For k = 1 To l - 1
If a(k) < min Then min = a(k)
Next
For k = 1 To l - 1
If a(k) = min Then ListBox2.Items.Add(b(k) + « « + Str(a(k)))
Next
End If
file.close()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub End Class
2.9 Лабораторная работа №9
Тема: Графика. Window проект
Цель занятия: Изучить структуру программ , основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ в консольном варианте.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в консольном варианте .
4.Разработка программ на основе основных математических операторов
Построить вложенные геометрические фигуры: окружность зеленного цвета, шестиугольник синего цвета и треугольник красного цвета
Public Class Form4
Dim g As Graphics
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Form_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint
Dim g As Graphics = CreateGraphics()
Dim myBrush As New SolidBrush(Color.DarkBlue)
g.TranslateTransform(50, 50)
g.FillEllipse(Brushes.DarkGreen, 120, -10, 150, 150)
Dim points As Point() = {New Point(195, 0), New Point(235, 23), New Point(245, 70), New Point(200, 110), New Point(143, 77), New Point(145, 25), New Point(195, 0)}
g.FillPolygon(myBrush, points)
Dim triangle As Point() = {New Point(150, 50), New Point(230, 70), New Point(230, 30), New Point(150, 50)}
g.FillPolygon(Brushes.DarkRed, triangle)
End Sub
Private Sub Form4_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Application.Exit()
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End SubEnd Class
2.10 Лабораторная работа №10
Тема: Построение графика и таблицы
значений функции y=f(x)
Цель занятия: Изучить структуру программ , основные операторы VB.NET для построения графиков , отличительные признаки языка VB и VB.NET. Получить навыки работ по построению графиков функций в виде Window проекта
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в форме Window проекта
Условие задачи
Построить график функции y=sin(x) и таблицу значений Y,X в элементе Listbox
Public Class Form2
Private Sub
ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
End
End Sub
Private Sub НазадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click
Me.Hide()
Form1.Show()
End Sub
Private Sub ПостроитьГрафикToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПостроитьГрафикToolStripMenuItem.Click
Dim g As Graphics = CreateGraphics()
Dim dy, dx, a, b, intx, inty, dpl As Integer
Dim x, y As Double
Dim mashtab As Long
a = InputBox(«Введите левую границу», «Ввод границ»)
b = InputBox(«Введите правую границу», «Ввод границ»)
g.DrawString(a, Font.Clone, Brushes.Black, 22, 145)
g.DrawString(b, Font.Clone, Brushes.Black, 355, 145)
dx = 200
dy = 150
mashtab = 300 / (b - a)
dpl = -(b + a) * Int(mashtab / 2)
g.FillRectangle(Brushes.White, 50, 50, 300, 200)
g.DrawRectangle(Pens.Blue, 50, 50, 300, 200)
"оси координат
g.DrawLine(Pens.Black, dx + dpl, 50, dx + dpl, 250)
g.DrawLine(Pens.Black, 50, 150, 350, 150)
For x = a To b Step 1 / Int(300 / (b - a))
If x <> 0 Then
y = Math.Sin(x)
ListBox1.Items.Add(«x=» + Str(Format(x, «0.##»)) + « « + «y=» + Str(Format(y, «0.##»)))
End If
If (Int(-mashtab * y) + dy >= 50) And (Int(-mashtab * y) + dy <= 250) Then
" setpixel(Int(mashtab * x) + dx + dpl, Int(-mashtab * y) + dy, clred)
intx = Int(mashtab * x) + dx + dpl
inty = Int(-mashtab * y) + dy
g.FillEllipse(Brushes.Red, intx, inty, 2, 2)
End If
If Int(-mashtab * y) + dy = 50 Then
g.DrawString(Str(Int(y)), Font.Clone, Brushes.Black, 190, 38)
End If
If Int(-mashtab * y) + dy = 250 Then
g.DrawString(Str(Int(y)), Font.Clone, Brushes.Black, 190, 255)
End If
Next
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
2.11 Лабораторная работа №11
Тема: Построение графика
функции.Window проект на форме и в PitureBox
Цель занятия: Изучить структуру программ , основные операторы VB.NET для для построения графиков функций, отличительные графические операторы языка программирования VB и VB.NET. Получить навыки работ по построению графиков функций на форме и в PitureBox
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в Window проект .
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Close()
End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, y1, y2 As Double
Dim x1, x2, y3, y4, a, b As Integer
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
Dim g As Graphics = CreateGraphics()
g.TranslateTransform(100, 100)
g.DrawLine(Pens.Blue, -150, 0, 150, 0)
g.DrawLine(Pens.Blue, 0, 150, 0, -150)
For x = a To b Step 0.01
y1 = Math.Sin(x) * Math.Cos(x / 2)
y2 = Math.Sin(x + 0.01) * Math.Cos(x / 2)
x1 = Int(x * 10)
y3 = Int(y1 * 40)
y4 = Int(y2 * 40)
x2 = Int(x + 0.01) * 10
g.DrawEllipse(Pens.Red, x1, y3, 1, 1)
Next End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form3.Show(): Me.Hide()
End Sub
End Class
//построение в piturebox
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Close()
End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, y1, y2 As Double
Dim x1, x2, y3, y4, a, b As Integer
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
Dim g As Graphics = CreateGraphics()
g.TranslateTransform(100, 100)
g.DrawLine(Pens.Blue, -150, 0, 150, 0)
g.DrawLine(Pens.Blue, 0, 150, 0, -150)
For x = a To b Step 0.01
y1 = Math.Sin(x) * Math.Cos(x / 2)
y2 = Math.Sin(x + 0.01) * Math.Cos(x / 2)
x1 = Int(x * 10)
y3 = Int(y1 * 40)
y4 = Int(y2 * 40)
x2 = Int(x + 0.01) * 10
g.DrawEllipse(Pens.Red, x1, y3, 1, 1)
Next End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form3.Show(): Me.Hide() End SubEnd Class
2.12 Лабораторная работа №12
Тема: Выбор функции .Построение графика
и таблицы значений функции y=f(x)
Цель занятия: Изучить структуру программ , основные операторы VB.NET для построения графиков , отличительные признаки языка VB и VB.NET. Получить навыки работ по построению графиков функций в виде Window проекта
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в форме Window проекта
Public Class Form2
Dim i, k, q As Double
Dim q_x As Integer
Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter
End Sub
Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Application.Exit()
End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
"очистка экрана
Me.Refresh()
ListBox2.Items.Clear()
Label1.Text = «»
Label2.Text = «»
Label3.Text = «»
Label4.Text = «»
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim g As Graphics = CreateGraphics()
"очистка экрана
g.Clear(Color.White)
If ListBox1.Text = «» Then MessageBox.Show(«Выберите функцию»)
ListBox2.Items.Clear()
maxx = -100000
minn = 100000
"ввод данных
If ListBox1.Text <> «» Then
a = Val(InputBox(«Введите начало»))
b = Val(InputBox(«Введите координату конца»))
n = Val(InputBox(«Шаг»))
Me.i = a
"нахождение максимума и минимума функции
While Me.i < (b)
If f(i) >= maxx Then
maxx = f(i)
End If
If f(i) <= minn Then
minn = f(i)
End If
Me.i = Me.i + n
End While
"масштабирование экрана
m_y = (Me.Height - 50) / (maxx - minn)
m_x = (Me.Width - GroupBox1.Width - 20) / (b - a)
End If
i = a
If a <= 0 Then
q_x = GroupBox1.Width + Single.Parse(Math.Abs(a * m_x))
Else : q_x = GroupBox1.Width - Single.Parse(Math.Abs(a * m_x))
End If
Label1.Text = Str(maxx)
Label2.Text = Str(minn)
Label3.Text = Str(b)
Label4.Text = Str(a)
Dim q_y As Integer = Single.Parse(maxx * m_y)
"рисование графика
While i <= b
g.DrawEllipse(Pens.Blue, Single.Parse(Int(m_x * i + q_x)), -Single.Parse(f(i) * m_y) + q_y, 2, 2)
ListBox2.Items.Add(«x=» + Str(Int(i * 100) / 100) + «y=» + Str(Format(f(i), «#0.00»)))
i = i + n
End While
"ось Ох
g.DrawLine(Pens.Black, GroupBox1.Width, Single.Parse(Int(maxx * m_y)), Me.Width - 20, Single.Parse(Int(maxx * m_y)))
g.DrawLine(Pens.Black, Me.Width - 20, Single.Parse(Int(maxx * m_y)), Me.Width - 25, Single.Parse(Int(maxx * m_y)) - 5)
g.DrawLine(Pens.Black, Me.Width - 20, Single.Parse(Int(maxx * m_y)), Me.Width - 25, Single.Parse(Int(maxx * m_y)) + 5)
"ось Oy
If a <= 0 Then
g.DrawLine(Pens.Black, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)), 0, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)), Me.Height)
g.DrawLine(Pens.Black, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)), 0, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)) + 5, 20)
g.DrawLine(Pens.Black, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)), 0, GroupBox1.Width + Single.Parse(Math.Abs(a * m_x)) - 5, 20)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub ListBox1_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SizeChanged
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Left = (Width - GroupBox1.Width) \ 2 + GroupBox1.Width
Label2.Left = (Width - GroupBox1.Width) \ 2 + GroupBox1.Width
Label2.Top = Height - 60
Label3.Left = Width - 30
Label3.Top = Height \ 2 + 10
Label4.Top = Height \ 2 + 10
Label4.Left = GroupBox1.Width + 20
End Sub
Private Sub Form2_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
Label1.Left = (Width - GroupBox1.Width) \ 2 + GroupBox1.Width
Label2.Left = (Width - GroupBox1.Width) \ 2 + GroupBox1.Width
Label2.Top = Height - 60
Label3.Left = Width - 30
Label3.Top = Height \ 2 + 10
Label4.Top = Height \ 2 + 10
Label4.Left = GroupBox1.Width + 20
End Sub
End Class
Module Module1
Public a, b, n, x As Double
Public maxx, minn, zer As Integer
Public m_x, m_y, i As Double
Function f(ByVal x As Double) As Double
Select Case Form2.ListBox1.Text
Case «y=sin(x)»
Return Math.Sin(x)
Case «y=exp(x)»
Return Math.Exp(x)
Case «y=2x^2»
Return (2 * x ^ 2)
End Select
End Function
End Module
2.13 Лабораторная работа №13
Тема: Классы и объекты. Метод ООП
Цель занятия: Изучить структуру программ на основе метода ООП.Создавать классы и объекты. Получить навыки работ по составлению простейших программ на основе объектно-ориентированного программирования.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в Window приложении .
4.Разработка программ в виде структур: модули и формы
Условие задания
Разработать программу для вычисления площади прямоугольника и круга. Создать класс с данными: стороны прямоугольника ( а, в) и радиус круга (r) с двумя функциями вычисления площади прямоугольника и круга. Создать объект, с помощью которого необходимо ввести данные и функции для вычисления площадей прямоугольника и круга.
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim obj As New MyFirstClass
Dim a, b, r, RectangleArea, CircleArea As Double
obj.a = 3
obj.b = 4
obj.r = 5
RectangleArea = obj.RectangleArea
CircleArea = obj.CircleArea
MsgBox(«Rectangle Area is ... « & RectangleArea & « Circle Area is ...» & CircleArea)
End Sub
End Class
Module Module1
" Sub main()
Public Class MyFirstClass
Public a, b, r As Double
Public Function RectangleArea() As Double
Dim s As Double
s = a * b
Return s
End Function
Public Function CircleArea() As Double
Dim s As Double
s = Math.PI * Math.Pow(r, 2)
Return s
End Function
End Class
"end sub
End Module
2.14 Лабораторная работа №14
Тема: Классы и объекты. Ввод и вывод данных
с помощью функций
Цель занятия: Изучить структуру программ на основе метода ООП.Создавать классы и объекты. Получить навыки работ по составлению простейших программ на основе объектно-ориентированного программирования с использованием функций ввода и вывода данных и результата.
1. построение словесных алгоритмов
2. Построение алгоритмов в виде блок-схем
3. Разработка программы в Window приложении .
4.Разработка программ в виде структур: модули и формы
Module Module1
Public Class Student
Private Family As String
Private Name As String
Public Property FirstName() As String
Get
Return Family
End Get
Set(ByVal Value As String)
Family = Value
End Set
End Property
Public Property LastName() As String
Get
Return Name
End Get
Set(ByVal Value As String)
Name = Value
End Set
End Property
End Class
End Module
Public Class Form1"кнопка ввода данных
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Stud As New Student
MsgBox(« Введите фамилию и имя студента»)
Stud.FirstName = InputBox(«Введите фамилию?»)
TextBox1.Text = Stud.FirstName
Stud.LastName = InputBox(«Введите имя?»)
TextBox2.Text = Stud.LastName
End Sub
кнопка выхода
Private Sub Button2_Click(ByVal sender As
Close()
End Sub
Кнопка вывода данных
Private Sub Button3_Click(ByVal sender As
ListBox1.Items.Add(TextBox1.Text)
ListBox1.Items.Add(TextBox2.Text)
End Sub
End Class
2.15 Лабораторная работа №15
Тема: Классы и объекты. Наследование
Цель занятия: Изучить структуру программ на основе наследуемых классов VB.NET. Получить навыки работ по составлению простейших программ с использованием свойства ООП наследования.
1. Построение алгоритмов в виде блок-схем
2. Разработка программы в Window приложении .
Пример. Разработать проект, в котором необходимо создать клаии Student с данными: фамилия и имя студента и класс Predmet с данными предмет и балл по этому предмету. рublic Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Stud As New Predmet
"Dim DOB As Date
MsgBox(« Ввдите фамилию и имя студента»)
Stud.FirstName = InputBox(«Введите фамилию?»)
TextBox1.Text = Stud.FirstName
Stud.LastName = InputBox(«Введите имя?»)
TextBox2.Text = Stud.LastName
Stud.Grade = InputBox(«Введите предмет?»)
TextBox3.Text = Stud.Grade
Stud.Grade1 = InputBox(«Введите балл?»)
TextBox4.Text = Stud.Grade1
MsgBox(Stud.FirstName & « « & Stud.LastName _
& « изучает предмет « & Stud.Grade & « с оценкой « & Stud.Grade1)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Close()
End Sub
End Class
Module Module1
Public Class Student
Private Family As String
Private Name As String
Public Property FirstName() As String Get
Return Family
End Get Set(ByVal Value As String) Family = Value
End Set
End Property
Public Property LastName() As String
Get
Return Name
End Get
Set(ByVal Value As String)
Name = Value
End Set
End Property
End Class
Public Class Predmet
Inherits Student
Private NamePredmet As String
Private ball As Integer
Public Property Grade() As String
Get
Return NamePredmet
End Get
Set(ByVal Value As String)
NamePredmet = Value
End Set
End Property
Public Property Grade1() As Integer
Get
Return ball
End Get
Set(ByVal Value As Integer)
ball = Value
End Set
End Property
End Class End Module
2.16 Лабораторная работа №16
Тема: Классы и объекты. Массивы объектов
Цель занятия: Изучить структуру программ на основе наследуемых классов VB.NET. Получить навыки работ по составлению простейших программ с использованием свойства ООП наследования.
1. Построение алгоритмов в виде блок-схем
2. Разработка программы в Window приложении .
Module Module1
Dim n, i As Integer
Public Class Student
Public Family As String
Public Name As String
Public Property Firstname() As String
Get
Return Family
End Get
Set(ByVal Value As String)
Family = Value
End Set
End Property
Public Property LastName() As String
Get
Return Name
End Get
Set(ByVal Value As String)
Name = Value
End Set
End Property
End Class
End Module
2.16 Лабораторная работа №16
Тема: Классы и объекты. Наследование
Цель занятия: Изучить структуру программ на основе наследуемых классов VB.NET. Получить навыки работ по составлению простейших программ с использованием свойства ООП наследования.
1. Построение алгоритмов в виде блок-схем
2. Разработка программы в Window приложении .
Public Class Form1
Dim i, j, n As Integer
Dim stud(n) As Student
Dim stud1(n) As Student
Dim s, s1 As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim stud(100) As Student
Dim stud1(100) As Student
Dim n, i As Integer
MsgBox(« введите количество студентов?»)
n = InputBox(«количество»)
ReDim stud(n)
MsgBox(« введите фамилию»)
For Me.i = 1 To n
s = InputBox(«фамилия»)
s1 = InputBox(«имя?»)
TextBox1.Text = s
TextBox2.Text = s1
ListBox1.Items.Add(TextBox1.Text & « « & TextBox2.Text)
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Close()
End Sub
End Class
Module Module1
Dim n, i As Integer
Dim stud(n) As Student
Public Class Student
Public Family As String
Private Name As String
Public Property Firstname() As String
Get
Return Family
End Get
Set(ByVal Value As String)
Family = Value
End Set
End Property
Public Property LastName() As String
Get
Return Name
End Get
Set(ByVal Value As String)
Name = Value
End Set
End Property
End Class
2.17 Лабораторная работа №17
Тема: Классы и объекты. Наследование
Вычисление параметров призмы
Цель занятия: Изучить структуру программ на основе наследуемых классов VB.NET. Получить навыки работ по составлению простейших программ с использованием свойства ООП наследования.
1. Построение алгоритмов в виде блок-схем
2. Разработка программы в Window приложении .
Public Class Cube1
Public a, h, d As Double
Public so, sb, sp As Double
Property storoni() As Double
Get
storoni = a
End Get
Set(ByVal value As Double)
If a < 0 Then
a = Math.Abs(value)
Else
a = value
End If
End Set
End Property
Property visoti() As Double
Get
visoti = h
End Get
Set(ByVal value2 As Double)
If h < 0 Then
h = Math.Abs(value2)
Else
h = value2
End If
End Set
End Property
Function S_ocn() As Double
Dim so As Double
so = a * a * (3 / 4) ^ (1 / 2)
Return so
End Function
Function s_bok() As Double
Dim sb As Double
sb = 3 * a * h
Return sb
End Function
Function s_pol() As Double
Dim sp As Double
sp = 2 * S_ocn() + s_bok() Return sp
End Function
Sub вывод()
Form2.TextBox2.Text = S_ocn()
Form2.TextBox3.Text = s_bok()
Form2.TextBox4.Text = s_pol()
End Sub
End Class
Public Class Cube2
Inherits Cube1
Property visota() As Double
Get
visota = h
End Get
Set(ByVal value2 As Double)
If h < 0 Then
h = Math.Abs(value2)
Else
h = value2
End If
End Set
End Property
Sub New(ByVal storona As Double, ByVal visota As Double)
MyBase.new()
storoni = storona:visoti = visota
End Sub
Sub вывод()
Dim v As Double
v = a ^ 2 * h
Form2.TextBox5.Text = v
End Sub
End Class
Public Class Form2
Dim h, r, a As Double
Dim dx, dy, mas As Integer
Dim g As Graphics = Me.CreateGraphics()
Private Sub вывод HandlesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) выводToolStripMenuItem.Click
Me.Hide(): Form1.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
r = Val(TextBox1.Text):h = Val(TextBox6.Text)
a = r / 2
Dim obj1 As New Cube2(a, h)
obj1.visota = h
obj1.вывод() "вычисление площадей
obj1.объем()
obj1 = Nothing "деструктор?
g.Clear(Color.WhiteSmoke)
g.ResetTransform() "сброс преобразований
g.TranslateTransform(100, 30) "задание координат
mas = Int(a / 145): a = a - 145 * mas
If a < 50 Then a = a + 50
Dim pointA As Point = New Point(0, 0)
Dim pointB As Point = New Point(a, 0)
Dim pointC As Point = New Point((1 / 2) * a, 1 / 2 * a)
Dim pointD As Point = New Point(0, h)
Dim pointE As Point = New Point(a, h)
Dim pointF As Point = New Point((1 / 2) * a, 1 / 2 * a + h)
Dim abc As Point() = {pointA, pointB, pointC, pointA}
Dim def As Point() = {pointD, pointE, pointF, pointD}
Dim Ad As Point() = {pointA, pointD}
Dim Be As Point() = {pointB, pointE}
Dim Cf As Point() = {pointC, pointF}
g.DrawLines(Pens.Black, abc)
g.DrawLines(Pens.Black, def)
g.DrawLines(Pens.Black, Ad)
g.DrawLines(Pens.Black, Be)
g.DrawLines(Pens.Black, Cf)
End Sub:End Class
2.18 Лабораторная работа №18
Тема: Индивидуальная работа на основе
метода ООП
Цель занятия:
Цель занятия: разработка Windows -приложений с использованием объектно-ориентированного метода программирования с включением свойств: инкапсуляции, наследования.
1.. Построение алгоритмов в виде блок-схем
2. Разработка Windows -приложений .
// модуль для описания класса Price
без наследования
Module Module1
Public Class Price
// данные
Public name_product, name_shop, find_shop As String
Public prices As Double
// функция для поиска магазина
Public Function resultshop() As String
Dim find_shop As String
find_shop = Form4.TextBox1.Text
If find_shop = name_shop Then
Return name_shop
Else : Return «no»
End If
End Function
End Class
End Module
// программа на форме без наследования
Public Class Form4
Dim i, n, k As Integer
Dim name1, name2 As String
Dim obj(n) As Price
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
// кнопка добавить
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(InputBox(«число товаров»))
ReDim obj(n)
ListBox1.Items.Clear()
For Me.i = 1 To n
name1 = InputBox(«Название продукта»)
k = Val(InputBox(«Цена товара», «»))
name2 = InputBox(«Название магазина»)
// объект массива данных
obj(i) = New Price With {.find_shop = TextBox1.Text, .name_product = name1, .name_shop = name2, .prices = k}
ListBox1.Items.Add(Str(i) + «. « + obj(i).name_product + « « + Str(obj(i).prices) + « "« + obj(i).name_shop + «"«)
Next
End Sub
// кн Возврат
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form1.Show()
Me.Hide()
End Sub
// кнопка поиска
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim j As Integer
j = 1
ListBox2.Items.Clear()
For Me.i = 1 To n
obj(i).find_shop = TextBox1.Text
Next
For Me.i = 1 To n
If obj(i).resultshop <> «no» Then
ListBox2.Items.Add(Str(j) + «. « + obj(i).name_product + « « + Str(obj(i).prices))
j = j + 1
End If
Next
If j = 1 Then
ListBox2.Items.Clear()
ListBox2.Items.Add(«Не найдено ни одного результата»)
End If
End Sub
End Class
Module Module2
Public Class Price1
Public name_product, name_shop, find_shop As String
Public prices As Double
Public Function resultshop() As String
find_shop = Form5.TextBox1.Text
If find_shop = name_shop Then
Return name_shop
Else : Return «no»
End If
End Function
End Class
Public Class price3
Inherits Price
Public num_product As Integer
End Class
End Module
Public Class Form5
Dim i, n, k As Integer
Dim name1, name2, name3 As String
Dim obj(100) As price3
Private Sub Form5_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Application.Exit()
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
//кнопка добавить
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(InputBox(«число товаров»))
ListBox1.Items.Clear()
For Me.i = 1 To n
name1 = InputBox(«Название продукта»)
k = Val(InputBox(«Цена товара», «»))
name3 = Val(InputBox(«Количество продукта»))
name2 = InputBox(«Название магазина»)
obj(i) = New price3 With {.find_shop = TextBox1.Text, .name_product = name1, .name_shop = name2, .prices = k, .num_product = name3}
ListBox1.Items.Add(Str(i) + «. « + obj(i).name_product + « « + Str(obj(i).prices) + « « + Str(obj(i).num_product) + «шт. « + obj(i).name_shop + «"«)
Next
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim j As Integer
j = 1
ListBox2.Items.Clear()
For Me.i = 1 To n
If obj(i).name_shop = TextBox1.Text Then
ListBox2.Items.Add(Str(j) + «. « + obj(i).name_product + « « + Str(obj(i).prices) + « « + Str(obj(i).num_product) + «шт»)
j = j + 1
End If
Next
If j = 1 Then
ListBox2.Items.Clear()
ListBox2.Items.Add(«Не найдено ни одного результата»)
End If
End Sub
End Class
2.19 Лабораторная работа №19
Тема: Индивидуальная работа на основе
метода ООП
Цель занятия:
Цель занятия: разработка Windows -приложений с использованием объектно-ориентированного метода программирования с включением свойств: инкапсуляции, наследования.
1.. Построение алгоритмов в виде блок-схем
2. Разработка Windows -приложений . Public Class Form4
Dim i, n, k As Integer
Dim fam, nam, v As String
Dim obj(n) As sportsmen
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(InputBox(«число спортсменов»))
ReDim obj(n)
ListBox1.Items.Clear()
For Me.i = 1 To n
fam = InputBox(«фамилия»)
TextBox2.Text = fam
nam = InputBox(«имя»)
TextBox3.Text = nam
k = Val(InputBox(«год рождения», «»))
TextBox4.Text = Str(k)
v = InputBox(«вид спорта»)
TextBox5.Text = v
obj(i) = New sportsmen With {.vidsporta = v, .family = fam, .name = nam, .year = k}
ListBox1.Items.Add(Str(i) + «. « + obj(i).family + « « + obj(i).name + « « + obj(i).vidsporta + «» + Str(obj(i).year) + «»)
Next
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim j As Integer
j = 1
"listBox2.Items.Clear()
" For Me.i = 1 To n
"obj(i).vidsporta = TextBox1.Text
" Next
For Me.i = 1 To n
If obj(i).poisk <> «no» Then
ListBox2.Items.Add(Str(j) + «. « + obj(i).family + « « + obj(i).name + «» + Str(obj(i).year))
j = j + 1
End If
Next
If j = 1 Then
ListBox2.Items.Clear()
ListBox2.Items.Add(«Не найдено ни одного результата»)
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Module Module1
Public Class sportsmen
Public family, name, vidsporta, vid As String
Public year As Integer
Public Function poisk() As String
Dim vid As String
vid = Form4.TextBox1.Text
If vid = vidsporta Then
Return vidsporta
Else : Return «no»
End If
End Function
End Class
End Module
Public Class Form5
Dim i, n, k, k1 As Integer
Dim fam, nam, v As String
Dim obj1(100) As sportsmen2
Private Sub Form5_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Application.Exit()
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(InputBox(«число спортсменов»))
ReDim obj1(n)
ListBox1.Items.Clear()
For Me.i = 1 To n
fam = InputBox(«фамилия»)
TextBox2.Text = fam
nam = InputBox(«имя»)
TextBox3.Text = nam
k = Val(InputBox(«год рождения», «»))
TextBox4.Text = Str(k)
v = InputBox(«вид спорта»)
TextBox5.Text = v
k1 = Val(InputBox(«лет занятия спортом», «»))
TextBox6.Text = Str(k1)
obj1(i) = New sportsmen2 With {.vidsporta = v, .family = fam, .name = nam, .year = k, .ny = k1}
ListBox1.Items.Add(Str(i) + «. « + obj1(i).family + « « + obj1(i).name + « « + obj1(i).vidsporta + « « + Str(obj1(i).year) + « « + Str(obj1(i).ny) + «»)
Next
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim j As Integer
j = 1
ListBox2.Items.Clear()
"For Me.i = 1 To n
"obj1(i).vidsporta = TextBox1.Text
"Next
For Me.i = 1 To n
If obj1(i).poisk <> «no» Then
ListBox2.Items.Add(Str(j) + «. « + obj1(i).family + « « + obj1(i).name + «» + Str(obj1(i).year) + «» + Str(obj1(i).ny) + «»)
j = j + 1
End If
Next
If j = 1 Then
ListBox2.Items.Clear()
ListBox2.Items.Add(«Не найдено ни одного результата»)
End If
End Sub
End Class
Module Module2
Public Class sportsmen1
Public family, name, vidsporta, vid As String
Public year, ny As Integer
Public Function poisk() As String
vid = Form5.TextBox1.Text
If vid = vidsporta Then
Return vidsporta
Else : Return «no»
End If
End Function
End Class
Public Class sportsmen2
Inherits sportsmen1
Public ny As Integer
End Class
End Module
2.20 Лабораторная работа №20
Тема: Индивидуальная работа на основе
метода ООП. Разработка баз данных
Цель занятия:
Цель занятия: разработка Windows -приложений с использованием объектно-ориентированного метода программирования с включением свойств: инкапсуляции, наследования.
1.. Построение алгоритмов в виде блок-схем
2. Разработка Windows -приложений . Module Module1
Public Class Price
Public name_product, name_shop As String
Public prices As Double
Public cod As Integer
End Class
End Module
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim myAccessConn As OleDbConnection = New OleDbConnection(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=price.mdb»)
Dim dbReader As OleDbDataReader
Dim i, n As Integer
Dim obj(20) As Price
Dim pname, sname, price As String
Dim dbCmd As OleDbCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices»)
Dim da As New OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim ds As New DataSet
Dim dt As New DataTable
Dim dr As DataRow
Dim pn, sn As String
Dim pr, seln, selb As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
i = 1
n = 0
seln = 0
selb = 0
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
"загрузка базы данных
ListBox1.Items.Clear()
ListBox2.Items.Clear()
ComboBox1.Items.Clear()
Try
myAccessConn.Open()
dbCmd.Connection = myAccessConn
dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)
i = 1
Do While dbReader.Read()
"вывод данных
ListBox1.Items.Add(Str(i) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
"добавление базы данных в класс
pname = dbReader.GetValue(1)
sname = dbReader.GetValue(3)
price = Str(dbReader.GetValue(2))
obj(i) = New Price With {.cod = dbReader.GetValue(0), .name_product = pname, .name_shop = sname, .prices = Val(price)}
i += 1
Loop
Catch ex As Exception
MsgBox(ex.Message)
End Try
n = i
For Me.i = 1 To 3
ComboBox1.Items.Add(dbReader.GetName(i))
Next
myAccessConn.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
"кнопка добавить элемент
pn = InputBox(«Введите название продукта»)
pr = InputBox(«Введите цену продукта»)
sn = InputBox(«Название магазина»)
Try
myAccessConn = New OleDbConnection(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=price.mdb»)
da.InsertCommand = New OleDbCommand(«INSERT INTO `Prices` (`Name_product`, `Product_number`, `Shop_name`) VALUES ( "« & pn & «",» + Format(pr, «») + «,'» & sn & «" )», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
"кнопка сохранить
pn = TextBox1.Text
sn = TextBox3.Text
pr = Int(Val(TextBox2.Text))
Try
da.InsertCommand = New OleDbCommand(«UPDATE `Prices` SET `Name_product` = "« & TextBox1.Text & «", `Product_number` = "« & Val(TextBox2.Text) & «", `Shop_name` = "« & TextBox3.Text & «" WHERE (Код = « & obj(seln).cod & «)», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
"поиск
Dim j As Integer
ListBox2.Items.Clear()
myAccessConn.Open()
dbCmd.Connection = myAccessConn
dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)
j = 1
Try
Do While dbReader.Read()
"вывод данных
If TextBox4.Text <> «» Then
If TextBox4.Text.Trim.ToLower = dbReader.GetValue(selb + 1).ToString.Trim.ToLower Then
ListBox2.Items.Add(Str(j) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
j += 1
End If
Else : ListBox2.Items.Add(Str(j) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
j += 1
End If
Loop
If j = 1 Then
ListBox2.Items.Add(«По вашему запросу ничего не найдено»)
End If
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
"вывод данных строки на textbox"ы
seln = ListBox1.SelectedIndex + 1
TextBox1.Text = obj(seln).name_product
TextBox2.Text = obj(seln).prices
TextBox3.Text = obj(seln).name_shop
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
"удаление выделенного товара
Try
da.InsertCommand = New OleDbCommand(«DELETE FROM `Prices` WHERE (`Код` = « & obj(seln).cod & «)», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form2.Show()
Me.Hide()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
selb = ComboBox1.SelectedIndex
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Application.Exit()
End Sub
End Class
2.21 Лабораторная работа №1
Тема: Индивидуальная работа на основе
метода ООП. Разработка массива на основе
стандартного класса Array List
Цель занятия:
Цель занятия: разработка Windows -приложений с использованием объектно-ориентированного метода программирования с включением свойств: инкапсуляции, наследования.
1.. Построение алгоритмов в виде блок-схем
2. Разработка Windows -приложений .
Public Class Form2
Dim n, i, t, p, z As Integer
Dim strana, transport As String
Dim x As String
Dim mylist As New ArrayList()
Dim f As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(TextBox1.Text) "ввод количества предложений
ListBox1.Items.Clear()
mylist.Clear()
For Me.i = 1 To n "ввод данных
strana = InputBox(«введите элемент массива»)
"вывод в Listbox
mylist.Add(strana)
ListBox1.Items.Add(Str(i) + « « + mylist.Item(i - 1))
Next
End Sub
Private Sub НазадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НазадToolStripMenuItem.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
"добавление нового элемента
strana = InputBox(«введите элемент массива»)
mylist.Add(strana)
ListBox1.Items.Add(Str(i) + « « + mylist.Item(ListBox1.Items.Count))
i = i + 1
n = n + 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.Items.Clear()
For Me.i = 1 To n "сортировка
mylist.Sort()
ListBox1.Items.Add(Str(i) + « « + mylist.Item(i - 1))
Next
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
"удаление элемента
mylist.Remove(mylist.Item(f))
n = n - 1
ListBox1.Items.Clear()
For Me.i = 1 To n
ListBox1.Items.Add(Str(i) + « « + mylist.Item(i - 1))
Next
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
f = ListBox1.SelectedIndex
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
x = TextBox2.Text
If mylist.IndexOf(x) >= 0 Then
ListBox1.SelectedIndex = mylist.IndexOf(x)
Else : MsgBox(«по вашему запросу ничего не найдено»)
End If
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Public Class Form1
Private Sub УсловиеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles УсловиеToolStripMenuItem.Click
Form3.Show()
Me.Hide()
End Sub
Private Sub АвторToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles АвторToolStripMenuItem.Click
Form4.Show()
Me.Hide()
End Sub
Private Sub ВыходToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ВыходToolStripMenuItem.Click
Close()
End Sub
Private Sub НачалоToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НачалоToolStripMenuItem.Click
Form2.Show()
Me.Hide()
End Sub
End Class
Задания для лабораторных работ
1. Лабораторная работа № 1
Вычислить значение выражения по формуле
2.20 Лабораторная работа №20
Тема: Индивидуальная работа на основе
метода ООП. Разработка баз данных
Цель занятия:
Цель занятия: разработка Windows -приложений с использованием объектно-ориентированного метода программирования с включением свойств: инкапсуляции, наследования.
1.. Построение алгоритмов в виде блок-схем
2. Разработка Windows -приложений .
Module Module1
Public Class Price
Public name_product, name_shop As String
Public prices As Double
Public cod As Integer
End Class
End Module
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim myAccessConn As OleDbConnection = New OleDbConnection(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=price.mdb»)
Dim dbReader As OleDbDataReader
Dim i, n As Integer
Dim obj(20) As Price
Dim pname, sname, price As String
Dim dbCmd As OleDbCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices»)
Dim da As New OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim ds As New DataSet
Dim dt As New DataTable
Dim dr As DataRow
Dim pn, sn As String
Dim pr, seln, selb As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
i = 1
n = 0
seln = 0
selb = 0
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
"загрузка базы данных
ListBox1.Items.Clear()
ListBox2.Items.Clear()
ComboBox1.Items.Clear()
Try
myAccessConn.Open()
dbCmd.Connection = myAccessConn
dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)
i = 1
Do While dbReader.Read()
"вывод данных
ListBox1.Items.Add(Str(i) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
"добавление базы данных в класс
pname = dbReader.GetValue(1)
sname = dbReader.GetValue(3)
price = Str(dbReader.GetValue(2))
obj(i) = New Price With {.cod = dbReader.GetValue(0), .name_product = pname, .name_shop = sname, .prices = Val(price)}
i += 1: Loop
Catch ex As Exception
MsgBox(ex.Message)
End Try
n = i
For Me.i = 1 To 3
ComboBox1.Items.Add(dbReader.GetName(i))
Next
myAccessConn.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
"кнопка добавить элемент
pn = InputBox(«Введите название продукта»)
pr = InputBox(«Введите цену продукта»)
sn = InputBox(«Название магазина»)
Try
myAccessConn = New OleDbConnection(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=price.mdb»)
da.InsertCommand = New OleDbCommand(«INSERT INTO `Prices` (`Name_product`, `Product_number`, `Shop_name`) VALUES ( "« & pn & «",» + Format(pr, «») + «,'» & sn & «" )», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try: End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
"кнопка сохранить
pn = TextBox1.Text
sn = TextBox3.Text
pr = Int(Val(TextBox2.Text))
Try
da.InsertCommand = New OleDbCommand(«UPDATE `Prices` SET `Name_product` = "« & TextBox1.Text & «", `Product_number` = "« & Val(TextBox2.Text) & «", `Shop_name` = "« & TextBox3.Text & «" WHERE (Код = « & obj(seln).cod & «)», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
"поиск
Dim j As Integer
ListBox2.Items.Clear()
myAccessConn.Open()
dbCmd.Connection = myAccessConn
dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)
j = 1
Try
Do While dbReader.Read()
"вывод данных
If TextBox4.Text <> «» Then
If TextBox4.Text.Trim.ToLower = dbReader.GetValue(selb + 1).ToString.Trim.ToLower Then
ListBox2.Items.Add(Str(j) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
j += 1
End If
Else : ListBox2.Items.Add(Str(j) & «. « & dbReader.GetValue(1) & « « & dbReader.GetValue(2) & « « & dbReader.GetValue(3))
j += 1
End If
Loop
If j = 1 Then
ListBox2.Items.Add(«По вашему запросу ничего не найдено»)
End If
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
"вывод данных строки на textbox"ы
seln = ListBox1.SelectedIndex + 1
TextBox1.Text = obj(seln).name_product
TextBox2.Text = obj(seln).prices
TextBox3.Text = obj(seln).name_shop
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
"удаление выделенного товара
Try
da.InsertCommand = New OleDbCommand(«DELETE FROM `Prices` WHERE (`Код` = « & obj(seln).cod & «)», myAccessConn)
myAccessConn.Open()
da.SelectCommand = New OleDbCommand(«SELECT Код, Name_product, Product_number, Shop_name FROM Prices», myAccessConn)
da.Fill(ds, «Prices»)
dt = ds.Tables.Item(«Prices»)
dr = dt.Rows.Add
da.Update(ds, «Prices»)
myAccessConn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form2.Show()
Me.Hide()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
selb = ComboBox1.SelectedIndex
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Application.Exit()
End Sub
End Class