Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой Отдел 850.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
362.22 Кб
Скачать

3.6 Форма «Программное обеспечение ноутбука»

На каждом компьютере установлено определенное количество разнообразных программ. Соответственно информацию о том, на каком ноутбуке какое программное обеспечение имеется можно посмотреть на данной форме программы.

Рисунок 8 - Форма "Программное обеспечение ноутбука"

3.7 Форма «Редактирование программного обеспечения ноутбука»

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

Рисунок 9 - Форма "Редактирование программного обеспечение ноутбука"

3.8 Форма «Отчет «Программное обеспечение ноутбуков»

Отчет, реализованный средствами инструмента Crystal Report, позволяет пользователю увидеть подробную информацию о программном обеспечении, установленном на ноутбуках, экспортировать эти данные в программы Microsoft Office Word и Microsoft Office Excel, выводить данную информацию на печать, а также осуществлять поиск информации внутри отчета.

Рисунок 10 - Форма "Отчет "Программное обеспечение ноутбуков""

3.9 Форма «Программное обеспечение»

В приложении содержится информация о программном обеспечении, закупаемом отделом 850 для установки на определенные компьютеры в целях дальнейшего использования. Название программных продуктов, а также даты окончания лицензий можно просмотреть и изменить на данной форме. Также на этой форме существует возможность добавления и удаления программных продуктов.

Рисунок 11 - Форма "Программное обеспечение"

Обработка стандартных ошибок также реализована на данной форме.

  1. СХЕМА ПРОГРАММЫ

Исходя из информации, описанной в предыдущих пунктах, можно составить подробную иерархическую схему взаимосвязи всех форм приложения:

Рисунок 12 - Схема программы

  1. Программный код приложения

Form 1

Public Class Form1

Private Sub СотрудникиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СотрудникиToolStripMenuItem.Click

Dim frm2 As New Form2

frm2.MdiParent = Me

frm2.Show()

End Sub

Private Sub НоутбукиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НоутбукиToolStripMenuItem.Click

Dim frm3 As New Form3

frm3.MdiParent = Me

frm3.Show()

End Sub

Private Sub ПрограммноеОбеспечениеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПрограммноеОбеспечениеToolStripMenuItem.Click

Dim frm4 As New Form4

frm4.MdiParent = Me

frm4.Show()

End Sub

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Dim f As New Form

For Each f In Me.MdiChildren

f.Close()

Next

End Sub

Private Sub КаскадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles КаскадToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.Cascade)

End Sub

Private Sub ПоГоризонталиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПоГоризонталиToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.TileHorizontal)

End Sub

Private Sub ПоВертикалиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПоВертикалиToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.TileVertical)

End Sub

Private Sub МозаикаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles МозаикаToolStripMenuItem.Click

Me.LayoutMdi(MdiLayout.ArrangeIcons)

End Sub

End Class

Form 2

Public Class Form2

Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

Private Sub СотрудникиBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СотрудникиBindingNavigatorSaveItem.Click

Try

Me.Validate()

Me.СотрудникиBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)

Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -534971980

MsgBox("Уделение записей невозможно. В таблице Ноутбуки имеются связанные записи", MsgBoxStyle.OkOnly, "Ошибка")

НоутыDataSet.Clear()

СотрудникиTableAdapter.Fill(НоутыDataSet.Сотрудники)

Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -541331061

MsgBox("Поле ФАМИЛИЯ не может содержать значение Null", MsgBoxStyle.OkOnly, "Ошибка")

СотрудникиTableAdapter.Fill(НоутыDataSet.Сотрудники)

End Try

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.

Me.СотрудникиTableAdapter.Fill(Me.НоутыDataSet.Сотрудники)

End Sub

Private Sub НоутбукиСотрудникаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НоутбукиСотрудникаToolStripMenuItem.Click

Dim frm5 As New Form5

frm5.MdiParent = Form1

frm5.Show()

End Sub

Private Sub ОтчетToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОтчетToolStripMenuItem.Click

Dim frm7 As New Form7

frm7.MdiParent = Form1

frm7.Show()

End Sub

End Class

Form 3

Public Class Form3

Private Sub КомпьютерыBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles КомпьютерыBindingNavigatorSaveItem.Click

Try

Me.Validate()

Me.КомпьютерыBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)

Catch s2 As System.Data.OleDb.OleDbException

Me.Show()

MsgBox("Добавление записей невозможно. Необходимо наличие связанных записей в таблице ID CОТРУДНИК", MsgBoxStyle.OkOnly, "Ошибка")

НоутыDataSet.Clear()

КомпьютерыTableAdapter.Fill(НоутыDataSet.Компьютеры)

Catch s1 As System.Data.ConstraintException

Me.Show()

MsgBox("Поля ID ПК и СЕРИЙНЫЙ НОМЕР должны иметь уникальные значения", MsgBoxStyle.OkOnly, "Ошибка")

НоутыDataSet.Clear()

КомпьютерыTableAdapter.Fill(НоутыDataSet.Компьютеры)

End Try

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.

Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)

End Sub

Private Sub Form3_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

Private Sub ПОНоутбукаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПОНоутбукаToolStripMenuItem.Click

Dim frm6 As New Form6

frm6.MdiParent = Form1

frm6.Show()

End Sub

Private Sub ДобавитьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ДобавитьToolStripMenuItem.Click

Dim frm9 As New Form9

frm9.MdiParent = Form1

frm9.Show()

End Sub

Private Sub ОтчетToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОтчетToolStripMenuItem.Click

Dim frm8 As New Form8

frm8.MdiParent = Form1

frm8.Show()

End Sub

End Class

Form 4

Public Class Form4

Private Sub ПОBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПОBindingNavigatorSaveItem.Click

Try

Me.Validate()

Me.ПОBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)

Catch s1 As System.Data.ConstraintException

Me.Show()

MsgBox("Поля ID ПК и ДАТА ОКОНЧАНИЯ ЛИЦЕНЗИИ должны иметь уникальные значения", MsgBoxStyle.OkOnly, "Ошибка")

НоутыDataSet.Clear()

ПОTableAdapter.Fill(НоутыDataSet.ПО)

Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -534971980

MsgBox("Уделение записей невозможно. В таблице ХХХ имеются связанные записи", MsgBoxStyle.OkOnly, "Ошибка")

НоутыDataSet.Clear()

ПОTableAdapter.Fill(НоутыDataSet.ПО)

End Try

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.

Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)

End Sub

Private Sub Form4_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

End Class

Form 5

Public Class Form5

Private Sub Form5_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

Private Sub КомпьютерыBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Me.Validate()

Me.КомпьютерыBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.

Me.СотрудникиTableAdapter.Fill(Me.НоутыDataSet.Сотрудники)

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.

Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)

End Sub

Private Sub ID_СотрудникаComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ID_СотрудникаComboBox.SelectedIndexChanged

Me.КомпьютерыTableAdapter.НС(Me.НоутыDataSet.Компьютеры, Me.ID_СотрудникаComboBox.SelectedValue)

End Sub

End Class

Form 6

Public Class Form6

Private Sub Form6_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.

Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.

Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)

End Sub

Private Sub ID_ПКComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ID_ПКComboBox.SelectedIndexChanged

Me.ПОTableAdapter.ПОН(Me.НоутыDataSet.ПО, Me.ID_ПКComboBox.SelectedValue)

End Sub

End Class

Form 7

Public Class Form7

Private Sub Form7_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

Private Sub MSOfficeWordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSOfficeWordToolStripMenuItem.Click

SaveFileDialog1.Filter = "документ Word|*.doc"

SaveFileDialog1.ShowDialog()

End Sub

Private Sub MSOfficeExcelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSOfficeExcelToolStripMenuItem.Click

SaveFileDialog1.Filter = "документ Excel|*.xls"

SaveFileDialog1.ShowDialog()

End Sub

Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk

If InStr(SaveFileDialog1.Filter, "Word") <> 0 Then

CrystalReport11.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, SaveFileDialog1.FileName)

End If

If InStr(SaveFileDialog1.Filter, "Excel") <> 0 Then

CrystalReport11.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.Excel, SaveFileDialog1.FileName)

End If

End Sub

End Class

Form 8

Public Class Form8

Private Sub Form8_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

End Class

Form 9

Public Class Form9

Private Sub Form9_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

Me.Hide()

e.Cancel = True

End Sub

Private Sub СвязьBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СвязьBindingNavigatorSaveItem.Click

Try

Me.Validate()

Me.СвязьBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)

Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -541331061

MsgBox("Поля данной таблицы не могут содержать значения Null", MsgBoxStyle.OkOnly, "Ошибка")

СвязьTableAdapter.Fill(НоутыDataSet.Связь)

End Try

End Sub

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

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.

Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.

Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)

'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Связь". При необходимости она может быть перемещена или удалена.

Me.СвязьTableAdapter.Fill(Me.НоутыDataSet.Связь)

End Sub

End Class