Использование Visual Basic.NET

Автор работы: Пользователь скрыл имя, 11 Ноября 2012 в 15:30, практическая работа

Краткое описание

Цель: изучение синтаксиса Visual Basic.NET, описание и использование переменных, массивов, освоение технологий работы с серверными элементами управления ASP.NET - (Label, Textbox, Button, CheckBox, RadioButton, ComboBox); разработка Windows-приложений на языке Visual Basic.Net.

Вложенные файлы: 1 файл

Использование VisualBasic.NET.docx

— 1.01 Мб (Скачать файл)

Для выполнения данного  задания было создано 7 Windows-форм и 1 внешний модуль.

Файл Module1.vb

Module Module1

    Public K As Double 'переменная с атрибутом доступа public для подсчета верных ответов

End Module

 

Файл FormStart.vb

Public Class FormStart

 

    Private Sub FormStart_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

        Me.Hide()

        K = 0

        FormQ1.Show()

    End Sub

End Class

 

Файлы FormQ1.vb, FormQ2.vb … FormQ5.vb имеют следующий вид:

Public Class FormQ1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'увеличение счетчика при выборе верного ответа

        If RadioButton3.Checked = True Then

            K = K + 1

        End If

        Me.Hide()       'закрыть текущее окно

        FormQ2.Show()   'открыть окно со след.вопросом

    End Sub

End Class

 

Файл FormFinish.vb

Public Class FormFinish

    Private Sub FormFinish_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'вывод результатов

        LabelResult.Text = Convert.ToString(K) + " из 5"

        If ((K / 5) < 0.6) Then

            LabelItog.Text = "Вы не сдали тест"

        Else

            LabelItog.Text = "Тест успешно сдан"

        End If

    End Sub

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Hide()   'закрыть окно при завершении теста

    End Sub

End Class

 

Выполненное задание выглядит следующим образом:

 

Рисунок 3.3.1-7 – Окна разработанного приложения «Тест по ASP.NET»

 

Задание 4. "Термины ASP.NET"

Создайте  приложение  из  5  основных  терминов,  характеризующих ASP.NET. Для мини-словаря используйте  конструкцию Select-Case. Дополнительный  балл:  Предоставьте  пользователю  возможность добавлять свой  термин  и его определение. При этом  элементы  должны размещаться в алфавитном порядке.

Файл FormDictionary.vb

Public Class FormDictionary

    Dim N As Integer

    Dim definition(5) As String

   

    Private Sub FormDictionary_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        N = 4

        'инициализация массива для определений терминов

        definition(0) = "ASP.NET Web Forms - это технология разработки веб-приложений, основная цель которой - сделать веб-разработку такой же простой и визуальной, как и разработку оконных приложений."

        definition(1) = "Common Language Runtime (англ. CLR — общеязыковая исполняющая среда) — виртуальная машина, интерпретирующая и исполняющая код на языке CIL, в который компилируются программы, написанные, в частности, на .NET-совместимых языках программирования (C#, Managed C++, Visual Basic .NET, Visual J# и т. п.); компонент пакета Microsoft .NET Framework."

        definition(2) = "Веб-обозреватель, обозреватель, браузер (от англ. Web browser) — программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой."

        definition(3) = "Веб-формы — это страницы, запрашиваемые пользователями через браузер и образующие пользовательский интерфейс, обеспечивающий возможность взаимодействия и создающий внешний вид веб-приложений."

        definition(4) = "Пространство имён (англ. namespace) — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён). "

    End Sub

 

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        Dim i As Integer

        i = ListBox1.SelectedIndex()    'определение индекса выбранного термина

        Label1.Text = definition(i)     'вывод соответсующего определения

    End Sub

    'функция добавления нового термина

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

        Dim List As String = ""

        Dim Def As String = ""

 

        List = InputBox("Введите новый термин", "Добавить", , , )

 

        If StrComp(List, "") <> 0 Then

            Def = InputBox("Дайте ему определение", "Добавить", , , )

 

            If StrComp(Def, "") <> 0 Then

                ListBox1.Items.Add(List)

                N = N + 1

                ReDim Preserve definition(N)

                definition(N) = Def

                'сортировка терминов по алфавиту

                For i = 0 To N - 1 Step 1

 

If StrComp(ListBox1.Items.Item(N - i), ListBox1.Items.Item(N - i - 1), 1) <= 0 Then

                        List = ListBox1.Items.Item(N - i)

                        ListBox1.Items.Item(N - i) = ListBox1.Items.Item(N - i - 1)

                        ListBox1.Items.Item(N - i - 1) = List

                        Def = definition(N - i)

                        definition(N - i) = definition(N - i - 1)

                        definition(N - i - 1) = Def

                    End If

                Next i

            End If

        End If

    End Sub

End Class

Рисунок 3.4.1 – Стартовая  форма приложения

Рисунок 3.4.2 – Выбор конкретного  термина и вывод его определения

 

Рисунок 3.4.3 – Добавление нового термина в словарик

 

Рисунок 3.4.4 – Отсортированный  список терминов

 

Задание 5. "Интернет-магазин"

Создайте  приложение,  которое  позволяет  определить  суммарный спрос на товары Интернет-магазина по каждому наименованию.  В магазине имеются товары 5 различных наименований. В течение дня каждый из  10 покупателей  сообщил о своем намерении  приобрести определенное  количество  товара  одного  из  наименований.  Расположите товары в порядке  убывания дневного спроса на них.

Дополнительный  балл:  Разработайте  подпрограмму  "Корзина покупателя",  которая открывается в отдельном окне  и возвращает перечень выбранных пользователем товаров.

Для выполнения данного  задания было создано 2 Windows-формы  и 1 внешний модуль.

Файл Module1.vb

Module Module1

    Public demand() As Integer = {0, 0, 0, 0, 0} 'массив для подсчета спроса на каждый товар

    Public product(5) As String 'массив для хранения наименований товаров

End Module

 

Файл FormShop.vb

Public Class FormShop

 

    Private Sub FormShop_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        product(0) = "Печенье"

        product(1) = "Пряники"

        product(2) = "Сушки"

        product(3) = "Зефир"

        product(4) = "Вафли"

    End Sub

    'функция подсчета спроса на каждый товар

    Private Sub ButtonDemand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDemand.Click

        demand(0) = CheckBox1_1.CheckState + CheckBox2_1.CheckState + CheckBox3_1.CheckState + CheckBox4_1.CheckState + CheckBox5_1.CheckState + CheckBox6_1.CheckState + CheckBox7_1.CheckState + CheckBox8_1.CheckState + CheckBox9_1.CheckState + CheckBox10_1.CheckState

        demand(1) = CheckBox1_2.CheckState + CheckBox2_2.CheckState + CheckBox3_2.CheckState + CheckBox4_2.CheckState + CheckBox5_2.CheckState + CheckBox6_2.CheckState + CheckBox7_2.CheckState + CheckBox8_2.CheckState + CheckBox9_2.CheckState + CheckBox10_2.CheckState

... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

        demand(4) = CheckBox1_5.CheckState + CheckBox2_5.CheckState + CheckBox3_5.CheckState + CheckBox4_5.CheckState + CheckBox5_5.CheckState + CheckBox6_5.CheckState + CheckBox7_5.CheckState + CheckBox8_5.CheckState + CheckBox9_5.CheckState + CheckBox10_5.CheckState

        FormDemand.Show() 'открытие формы с суммарным спросом

    End Sub

 

    'функции отборажения корзин потребителей

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim Message As String = "Покупатель №1 выбрал "

 

        If CheckBox1_1.CheckState = 1 Then

            Message = Message + product(0) + " "

        End If

        If CheckBox1_2.CheckState = 1 Then

            Message = Message + product(1) + " "

        End If

        If CheckBox1_3.CheckState = 1 Then

            Message = Message + product(2) + " "

        End If

        If CheckBox1_4.CheckState = 1 Then

            Message = Message + product(3) + " "

        End If

        If CheckBox1_5.CheckState = 1 Then

            Message = Message + product(4) + " "

        End If

        MsgBox(Message, , "Покупатель №1")

    End Sub

 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim Message As String = "Покупатель №2 выбрал "

 

        If CheckBox2_1.CheckState = 1 Then

            Message = Message + product(0) + " "

        End If

        If CheckBox2_2.CheckState = 1 Then

            Message = Message + product(1) + " "

        End If

        If CheckBox2_3.CheckState = 1 Then

            Message = Message + product(2) + " "

        End If

        If CheckBox2_4.CheckState = 1 Then

            Message = Message + product(3) + " "

        End If

        If CheckBox2_5.CheckState = 1 Then

            Message = Message + product(4) + " "

        End If

        MsgBox(Message, , "Покупатель №2")

    End Sub

 

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim Message As String = "Покупатель №3 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №3")

    End Sub

 

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim Message As String = "Покупатель №4 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №4")

    End Sub

 

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

        Dim Message As String = "Покупатель №5 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №5")

    End Sub

 

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

        Dim Message As String = "Покупатель №6 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №6")

    End Sub

 

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

        Dim Message As String = "Покупатель №7 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №7")

    End Sub

 

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

        Dim Message As String = "Покупатель №8 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №8")

    End Sub

 

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

        Dim Message As String = "Покупатель №9 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №9")

    End Sub

 

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click

        Dim Message As String = "Покупатель №10 выбрал "

 

... ... ... ... ... ... ... ... ... ... ... ... ...

 

        MsgBox(Message, , "Покупатель №10")

    End Sub

End Class

 

Файл FormDemand.vb

Public Class FormDemand

 

    Private Sub FormDemand_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 

        Dim number() As Integer = {0, 1, 2, 3, 4}

        Dim temp As Integer

        'упорядочивание товаров по убыванию спроса на них

        For i = 0 To 3 Step 1

            For j = i To 4 Step 1

                If demand(i) <= demand(j) Then

                    temp = demand(i)

                    demand(i) = demand(j)

                    demand(j) = temp

                    temp = number(i)

                    number(i) = number(j)

                    number(j) = temp

                End If

            Next j

        Next i

        'вывод наименований

        Label1.Text = product(number(0))

        Label2.Text = product(number(1))

        Label3.Text = product(number(2))

        Label4.Text = product(number(3))

        Label5.Text = product(number(4))

        'вывод спроса

        Label11.Text = demand(0)

        Label12.Text = demand(1)

        Label13.Text = demand(2)

        Label14.Text = demand(3)

        Label15.Text = demand(4)

    End Sub

End Class

 

Описание работы приложения

Рисунок 3.5.1 – Стартовая форма приложения

На рисунке 3.5.1 изображена стартовая форма приложения модели интернет-магазина. Напротив наименований товаров расположены объекты CheckBox в 10 столбцов, которые предназначены  для каждого покупателя. Т.е. 10 покупателей выбирает некоторое количество определенных товаров посредством установления «птички» напротив выбранного наименования. По нажатию кнопки «Посчитать спрос» выводится статистика суммарного спроса по каждому наименованию.

Рисунок 3.5.2 – Выбор товаров покупателями

Рисунок 3.5.3 – Спрос на товар

Также можно посмотреть, что выбрал каждый из покупателей  в отдельном окне, выбрав кнопку «Кi» - корзина i-го покупателя:

Рисунок 3.5.4 – Корзина покупателя №1

 

 

Персональное  задание.

Разработайте  приложение,  в  котором  обеспечивается  проверка достоверности ввода номера кредитной  карты по алгоритму Luhn.  Алгоритм Luhn – это формула,  которая  объединяет  цифры номера кредитной  карты  (удваивая  каждую  из  них)  и  проверяет,  делится  ли итоговая  сумма  на  10.  Если  условие  выполняется,  то  номер  кредитной карты корректен и  может быть использован для оплаты.

Файл Form1.vb

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'проверка на ввод числа

        If IsNumeric(TextBox1.Text) And (TextBox1.Text <> "0") Then

            Dim n As Integer = TextBox1.Text.Length

            Dim CNumber(n) As Char

            CNumber = TextBox1.Text.ToCharArray

            Dim Number(n) As Integer

 

            If CNumber(0) = "-" Then

                LMsg.Text = "Введите положительное число"

            Else

                'разделение ввденной строки-числа на массив цифр

                For i = 0 To n - 1

                    Number(i) = Val(CNumber(i))

                Next

                Dim test As Double = 0

                'проверка достоверности номера по алгоритму Luhn

                For i = 0 To n - 1

                    test = test + 2 * Number(i)

                Next

 

                If (test Mod 10) Then

                    LMsg.Text = "Неверный номер кредитной карты"

                Else

                    LMsg.Text = "Номер кредитной карты верный"

                End If

 

            End If

        Else

            LMsg.Text = "Введите число"

 

        End If

Информация о работе Использование Visual Basic.NET