Отчет по практике по ТРИЗБД в работе с языками C# и Visual basic. Отчет по практике. Оглавление 1 Изм. Лист докум. Подп. Дата 1 Проверил Гатауллина Ф. Ф. 1
Скачать 1.49 Mb.
|
Структура Visual basicСтруктура может содержать массив в качестве одного или нескольких элементов. Это показано в следующем примере. Public Structure systemInfo Public cPU As String Public memory As Long Public diskDrives() As String Public purchaseDate As Date End Structure Доступ к значениям массива в структуре осуществляется так же, как и к свойству объекта. Это показано в следующем примере. DimmySystemAssystemInfo ReDimmySystem.diskDrives(3) mySystem.diskDrives(0) = "1.44 MB" Можно также объявить массив структур. Это показано в следующем примере. Dim allSystems(100) As systemInfo Для доступа к компонентам этой архитектуры данных следуйте тем же правилам. Это показано в следующем примере. ReDim allSystems(5).diskDrives(3) allSystems(5).CPU = "386SX" allSystems(5).diskDrives(2) = "100M SCSI" Структура может содержать объект в качестве одного или нескольких его элементов. Это показано в следующем примере. Protected Structure userInput Public userName As String Public inputForm As System.Windows.Forms.Form Public userFileNumber As Integer End Structure В таком объявлении следует использовать конкретный класс объекта, а не Object . Структуру можно передать в качестве аргумента процедуры. Это показано в следующем примере. ublic currentCPUName As String = "700MHz Pentium compatible" Public currentMemorySize As Long = 256 Public Sub fillSystem(ByRef someSystem As systemInfo) someSystem.cPU = currentCPUName someSystem.memory = currentMemorySize someSystem.purchaseDate = Now End Sub В предыдущем примере структура передается по ссылке, что позволяет процедуре изменять ее элементы, чтобы изменения вступили в силу в вызывающем коде. Если необходимо защитить структуру от таких изменений, передайте ее по значению. Можно также вернуть структуру из Function процедуры. Это показано в следующем примере. Dim allSystems(100) As systemInfo Function findByDate(ByVal searchDate As Date) As systemInfo Dim i As Integer For i = 1 To 100 If allSystems(i).purchaseDate = searchDate Then Return allSystems(i) Next i ' Process error: system with desired purchase date not found. End Function Структуры внутри структур Структуры могут содержать другие структуры. Это показано в следующем примере. Public Structure driveInfo Public type As String Public size As Long End Structure Public Structure systemInfo Public cPU As String Public memory As Long Public diskDrives() As driveInfo Public purchaseDate As Date End Structure -- Dim allSystems(100) As systemInfo ReDim allSystems(1).diskDrives(3) allSystems(1).diskDrives(0).type = "Floppy" Эту методику также можно использовать для инкапсуляции структуры, определенной в одном модуле, в структуре, определенной в другом модуле. Структуры могут содержать другие структуры для произвольной глубины. Лабораторно-практическая работа №1Главное окно-менюРис 2. Главное окно меню превой практической работы Практическая 1Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами командная кнопка, метка, изображение Рис 3. Запущенное окно задания №1 Перечень используемых объектов: Button1, Button2, Label Код программы: Public Class Form2 “пишем нужное слово в Label Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click LblInfo.Text = ”ПРИВЕТСТВУЮ ТЕБЯ, МОЙ ДРУГ” End Sub “очишаем Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click LblInfo.Text = ” ” End Sub End Class Практическая 2Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами метка, текстовое окно и рамка Рис 4. Запущенное окно задания №2 Перечень используемых объектов: Button,Label,GroupBox,TextBox Код программы: Public Class Form1 “пишем нужное сообщение Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click GroupBox1.Text = "Приветствую тебя, о мудрейший" Label3.Text = TextBox2.Text + " " + TextBox1.Text End Sub “очистка Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click GroupBox1.Text = " " Label3.Text = " " TextBox1.Text = " " TextBox2.Text = " " Label4.Text = " " End Sub “подчёт символов Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Label4.Text = TextBox2.SelectionStart End Sub End Class Практическая 3Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами переключатель, флажок и рамка Рис 5. Запущенное окно задания №3 Перечень используемых объектов: Label, GroupBox, TextBox, RadioButton, Код программы: Public Class Form4 “размер шрифта Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles Opt10.CheckedChanged Text1.Font = New Font(Text1.Text, 10) End Sub Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles Opt18.CheckedChanged Text1.Font = New Font(Text1.Text, 18) End Sub Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles Opt24.CheckedChanged Text1.Font = New Font(Text1.Text, 24) End Sub “шрифт Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles ChkItalic.CheckedChanged If ChkItalic.Checked = True And Opt10.Checked = True Then Text1.Font = New Font("Arial", 10, FontStyle.Italic) End If If ChkItalic.Checked = True And Opt18.Checked = True Then Text1.Font = New Font("Arial", 18, FontStyle.Italic) End If If ChkItalic.Checked = True And Opt24.Checked = True Then Text1.Font = New Font("Arial", 24, FontStyle.Italic) End If End Sub Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles ChkBold.CheckedChanged If ChkBold.Checked = True And Opt10.Checked = True Then Text1.Font = New Font("Arial", 10, FontStyle.Bold) End If If ChkBold.Checked = True And Opt18.Checked = True Then Text1.Font = New Font("Arial", 18, FontStyle.Bold) End If If ChkBold.Checked = True And Opt24.Checked = True Then Text1.Font = New Font("Arial", 24, FontStyle.Bold) End If End Sub Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles ChkUnder.CheckedChanged If ChkUnder.Checked = True And Opt10.Checked = True Then Text1.Font = New Font("Arial", 10, FontStyle.Underline) End If If ChkUnder.Checked = True And Opt18.Checked = True Then Text1.Font = New Font("Arial", 18, FontStyle.Underline) End If If ChkUnder.Checked = True And Opt24.Checked = True Then Text1.Font = New Font("Arial", 24, FontStyle.Underline) End If End Sub “цвет шрифта Private Sub RadioButton1_Click(sender As Object, e As EventArgs) Handles RadioButton1.Click Text1.ForeColor = Color.Red End Sub Private Sub RadioButton2_Click(sender As Object, e As EventArgs) Handles RadioButton2.Click Text1.ForeColor = Color.Green End Sub Private Sub RadioButton3_Click(sender As Object, e As EventArgs) Handles RadioButton3.Click ForeColor = Color.Blue End Sub End Class Практическая 4Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами горизонтальная и вертикальная прокрутка и линия Рис 6. Запущенное окно задания №4 Перечень используемых объектов: Button, Label, GroupBox, TextBox, RadioButton Код программы: Public Class Form5 “переменные Dim g As Graphics Dim p As Pen Dim x1, x2, y1, y2 As Integer Private Sub Vsb1_Scroll(sender As Object, e As ScrollEventArgs) Handles Vsb1.Scroll Label3.Text = Vsb1.Value y1 = Vsb1.Value Me.Refresh() End Sub Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) End Sub Private Sub Hsb1_Scroll(sender As Object, e As ScrollEventArgs) Handles Hsb1.Scroll Label1.Text = Hsb1.Value x1 = Hsb1.Value Me.Refresh() End Sub Private Sub Vsb2_Scroll(sender As Object, e As ScrollEventArgs) Handles Vsb2.Scroll Label4.Text = Vsb2.Value y2 = Vsb2.Value Me.Refresh() End Sub Private Sub Hsb2_Scroll(sender As Object, e As ScrollEventArgs) Handles Hsb2.Scroll Label2.Text = Hsb2.Value x2 = Hsb2.Value Me.Refresh() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load x1 = 65 x2 = 295 y1 = 49 y2 = 49 End Sub Private Sub HsbWidth_Scroll(sender As Object, e As ScrollEventArgs) Handles HsbWidth.Scroll Me.Refresh() End Sub Private Sub HsbStyle_Scroll(sender As Object, e As ScrollEventArgs) Handles HsbStyle.Scroll Me.Refresh() End Sub Private Sub Form3_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint g = e.Graphics p = New Pen(Color.White) p.Width = HsbWidth.Value p.DashStyle = HsbStyle.Value g.DrawLine(p, x1, y1, x2, y2) End Sub End Class Практическая 6Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами изображение, картинка, таймер Рис 7. Запущенное окно задания №5 Перечень используемых объектов: Button, Label, GroupBox, TextBox, RadioButton, PictureBox, Timer Код программы: Public Class Form1 “движение картинки по форме Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click PictureBox1.Left = PictureBox1.Left - 100 End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click PictureBox1.Top = PictureBox1.Top - 100 End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click PictureBox1.Left = PictureBox1.Left + 100 End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click PictureBox1.Top = PictureBox1.Top + 100 End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click PictureBox1.Width = PictureBox1.Width + 100 End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click PictureBox1.Height = PictureBox1.Height + 100 End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click Timer1.Interval = 1000 End Sub “показать скрытые Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click PictureBox2.Visible = True End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click Timer1.Interval = 0 End Sub “скрыть при клике Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click PictureBox2.Visible = False End Sub “таймер Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick PictureBox2.Left = Rnd() * 6000 PictureBox2.Top = Rnd() * 5000 End Sub End Class Практическая 7Тема: Основные объекты управления и их свойства Цель: Получить навыки работы с объектами список и комбинированный список Рис 8. Запущенное окно задания №7 ComboBox, label, GroupBox, button, ListBox Код программы: Public Class Form8 Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click Label1.Text = ListBox1.Text Label2.Text = ListBox1.SelectedIndex End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If ComboBox1.Text.Length > 0 Then ComboBox1.Items.Add(ComboBox1.Text) Label3.Text = ComboBox1.Items.Count Else MsgBox("Введите текст") End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Try ComboBox1.Items.RemoveAt(ComboBox1.SelectedIndex) Label3.Text = ComboBox1.Items.Count Catch ex As Exception MsgBox("Выберите строку") End Try End Sub Самостоятельные работыСамостоятельная работа №2Разработать приложение, позволяющее добавлять и удалять фамилии студентов в список, а также выводить в метку выбранные значения из трех списков (при щелчке по командной кнопке). Значения для списков «Студенты», «Список экзаменов», «Оценка» сформировать на стадии проектирования Рис 9. Запущенное окно самостоятельной йработы №2 Список используемых объектов: Button, ListBox, label, GroupBox Код программы: Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load CmbStu.SelectedIndex = 1 End Sub Private Sub BtnRez_Click(sender As Object, e As EventArgs) Handles BtnRez.Click Try LblRez.Text = "Фамилия: " & CmbStu.Text & vbCrLf & "Предмет: " & LsbEkz.Items(LsbEkz.SelectedIndex) & vbCrLf & "Оценка: " & LsbOce.Items(LsbOce.SelectedIndex) Catch ex As Exception MsgBox("Выберите все данные") End Try End Sub Private Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click CmbStu.Items.Add(InputBox("Введите фамилию студента")) End Sub Private Sub BtnDel_Click(sender As Object, e As EventArgs) Handles BtnDel.Click If CmbStu.SelectedIndex >= 0 Then CmbStu.Items.RemoveAt(CmbStu.SelectedIndex) CmbStu.SelectedIndex = 1 End Sub Самостоятельная работа №7Рис 10. Запущенное окно самостоятельной работы №7 Список используемых объектов: Button, ListBox, label, GroupBox, Combobox, VScrollBar Код программы: Private Sub HsbPower_Scroll(sender As Object, e As ScrollEventArgs) Handles HsbPower.Scroll LblPower.Text = CStr(HsbPower.Value) End Sub Private Sub BtnOk_Click(sender As Object, e As EventArgs) Handles BtnOk.Click Try LblOp.Text = "Фирма: " & CmbFir.Text & vbCrLf & "Цвет: " & CmbCol.Text & vbCrLf & "Исполнение: " & LsbIsp.Items(LsbIsp.SelectedIndex) & vbCrLf & "Тип кузова: " & LsbKyz.Items(LsbKyz.SelectedIndex) & vbCrLf & "Мощность: " & LblPower.Text Catch ex As Exception MsgBox("Выберите все данные") End Try End Sub |