- •Введение
- •1 Объектно-ориентированный анализ и проектирование системы
- •Сущность задачи
- •1.2 Проектирование модели
- •2 Вычислительная система
- •2.1 Требования к аппаратным и операционным ресурсам
- •2.2 Инструменты разработки
- •3 Проектирование задачи
- •3.1 Требования к приложению
- •3.2 Концептуальный прототип
- •3.3 Организация данных
- •3.4 Функции и элементы управления
- •3.5 Проектирование справочной системы приложения
- •4 Описание программного средства
- •4.1 Общие сведения
- •4.2 Функциональное назначение
- •5.2 Порядок проведения испытаний
- •5.2.1 Функциональное тестирование
- •5.2.2 Полное тестирование
- •6 Применение
- •6.1 Назначение программы
- •6.2 Условия применения
- •6.3 Справочная система
- •7 Охрана труда и окружающей среды
- •7.1 Правовые, нормативные, социально-экономические и организационные вопросы охраны труда
- •7.2 Обеспечение защиты от электромагнитных полей при эксплуатации пэвм.
- •7.3 Пожарная безопасность
- •7.4 Охрана окружающей среды
- •8 Экономический раздел
- •8.1 Технико-экономическое обоснование разработки программного средства
- •8.2 Составление плана по разработке программного средства
- •8.3 Определение цены программного средства
- •8.3 Определение цены программного средства
- •Заключение
- •Список информационных источников
- •Приложение а (обязательное) Текст программы
- •Приложение б
- •Выходные данные
Приложение а (обязательное) Текст программы
Imports Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop
Public Class main
Dim line As Integer
Dim Ex As New Application
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim BookEx As Workbook
Dim PageEx As Worksheet
Dim cn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\nlb.mdf;Integrated Security=True;Connect Timeout=3")
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Private Sub PoseshenieBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
Me.Validate()
Me.PoseshenieBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.PosetiteliTableAdapter.Fill(Me.NLBDataSet.posetiteli)
Me.ChitateliTableAdapter.Fill(Me.NLBDataSet.chitateli)
Me.PomeshenieTableAdapter.Fill(Me.NLBDataSet1.pomeshenie)
Me.PoseshenieTableAdapter.Fill(Me.NLBDataSet1.poseshenie)
Me.SotrydnikiTableAdapter.Fill(Me.NLBDataSet1.sotrydniki)
Me.PoseshenieTableAdapter.Fill(Me.NLBDataSet.poseshenie)
Label5.Text = PoseshenieDataGridView.RowCount.ToString()
Дата_посещенияDateTimePicker.Value = DateTime.Today()
For line = 0 To PoseshenieDataGridView.RowCount - 1 Step 1
Select Case PoseshenieDataGridView.Rows(line).Cells(1).Value.ToString
Case "Сотрудник"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Beige
Case "Посетитель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.BurlyWood
Case "Читатель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Plum
End Select
Next
End Sub
Private Sub ОтделToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ОтделToolStripMenuItem.Click
otdel.Show()
End Sub
Private Sub ДолжностиToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ДолжностиToolStripMenuItem.Click
doljnost.Show()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
sotrydniki.Show()
End Sub
Private Sub ПомещенияToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПомещенияToolStripMenuItem.Click
pomeshenie.Show()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Me.PoseshenieBindingSource.AddNew()
Дата_посещенияDateTimePicker.Value = DateTime.Today()
Время_посещенияTextBox.Text = Date.Now.ToString("H:mm")
Тип_посетителяComboBox.Enabled = True
ComboBox2.Enabled = True
ПосетительComboBox.Enabled = True
ПосетительComboBox1.Enabled = True
Место_посещенияComboBox.Enabled = True
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Me.Validate()
Me.PoseshenieBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
MessageBox.Show("Запись успешно добавлена!")
Label5.Text = PoseshenieDataGridView.RowCount.ToString()
Тип_посетителяComboBox.Enabled = False
ComboBox2.Enabled = False
ПосетительComboBox.Enabled = False
ПосетительComboBox1.Enabled = False
Место_посещенияComboBox.Enabled = False
For line = 0 To PoseshenieDataGridView.RowCount - 1 Step 1
Select Case PoseshenieDataGridView.Rows(line).Cells(1).Value.ToString
Case "Сотрудник"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Beige
Case "Посетитель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.BurlyWood
Case "Читатель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Plum
End Select
Next
End Sub
Private Sub ВыходToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ВыходToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
chitateli.Show()
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Select Case (ComboBox1.Text)
Case "По фамилии посетителя"
PoseshenieBindingSource.Filter = "[Посетитель] Like'" + TextBox1.Text + "%'"
Case "По месту посещения"
PoseshenieBindingSource.Filter = "[Место_посещения] Like'" + TextBox1.Text + "%'"
Case "По времени посещения"
PoseshenieBindingSource.Filter = "[Время_посещения] Like'" + TextBox1.Text + "%'"
End Select
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
Me.PoseshenieTableAdapter.Fill(Me.NLBDataSet.poseshenie)
For line = 0 To PoseshenieDataGridView.RowCount - 1 Step 1
Select Case PoseshenieDataGridView.Rows(line).Cells(1).Value.ToString
Case "Сотрудник"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Beige
Case "Посетитель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.BurlyWood
Case "Читатель"
PoseshenieDataGridView.Rows(line).DefaultCellStyle.BackColor = Color.Plum
End Select
Next
End Sub
Private Sub Тип_посетителяComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Тип_посетителяComboBox.SelectedIndexChanged
If Тип_посетителяComboBox.Text = "Сотрудник" Then
ПосетительComboBox.Visible = True
ПосетительComboBox1.Visible = False
ComboBox2.Visible = False
End If
If Тип_посетителяComboBox.Text = "Посетитель" Then
ПосетительComboBox.Visible = False
ПосетительComboBox1.Visible = False
ComboBox2.Visible = True
End If
If Тип_посетителяComboBox.Text = "Читатель" Then
ПосетительComboBox.Visible = False
ПосетительComboBox1.Visible = True
ComboBox2.Visible = False
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.PoseshenieBindingSource.RemoveCurrent()
Me.Validate()
Me.PoseshenieBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
posetiteli.Show()
End Sub
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
PoseshenieBindingSource.Filter = "[тип_посетителя] LIKE'" + ComboBox3.Text + "%'"
Label5.Text = PoseshenieDataGridView.RowCount.ToString()
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
Dim i As Integer
Dim j As Integer
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Visible = True
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("Лист1")
xlWorkSheet.Range("A1:E1").Font.Bold = True
xlWorkSheet.Columns("A:A").ColumnWidth = 10
xlWorkSheet.Columns("B:B").ColumnWidth = 15
xlWorkSheet.Columns("C:C").ColumnWidth = 15
xlWorkSheet.Columns("D:D").ColumnWidth = 15
xlWorkSheet.Columns("E:E").ColumnWidth = 20
For i = 0 To PoseshenieDataGridView.RowCount - 1
For j = 0 To PoseshenieDataGridView.ColumnCount - 1
For k As Integer = 1 To PoseshenieDataGridView.Columns.Count
xlWorkSheet.Cells(1, k) = PoseshenieDataGridView.Columns(k - 1).HeaderText
If j = 7 Then
xlWorkSheet.Cells(i + 2, j + 1) = PoseshenieDataGridView(j, i).Value.ToString()
Else : xlWorkSheet.Cells(i + 2, j + 1) = PoseshenieDataGridView(j, i).Value
End If
Next
Next
Next
End Sub
End Class
Imports Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop
Public Class chitateli
Dim Ex As New Application
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim BookEx As Workbook
Dim PageEx As Worksheet
Dim cn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\nlb.mdf;Integrated Security=True;Connect Timeout=3")
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Private Sub chitateli_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.chitateli". При необходимости она может быть перемещена или удалена.
Me.ChitateliTableAdapter.Fill(Me.NLBDataSet.chitateli)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Me.Validate()
Me.ChitateliBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
IO.File.WriteAllBytes(Ex.Application.StartupPath & "\exp1.xlsx", My.Resources.exp1)
'Открыть новую книгу Excel
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Open(Ex.Application.StartupPath & "\exp1.xlsx")
'Добавить данные в ячейки первого листа новой книги
oSheet = oBook.Worksheets(1)
oSheet.Range("E4").Value = Now.ToString("dd.MM.yyyy")
oSheet.Range("E8").Value = ChitateliDataGridView.CurrentRow.Cells(0).Value
oSheet.Range("E9").Value = ChitateliDataGridView.CurrentRow.Cells(1).Value
oSheet.Range("E10").Value = ChitateliDataGridView.CurrentRow.Cells(2).Value
oSheet.Range("E11").Value = ChitateliDataGridView.CurrentRow.Cells(3).Value
oSheet.Range("E12").Value = ChitateliDataGridView.CurrentRow.Cells(4).Value
oSheet.Range("E13").Value = ChitateliDataGridView.CurrentRow.Cells(5).Value
oSheet.Range("E14").Value = ChitateliDataGridView.CurrentRow.Cells(6).Value
oSheet.Range("E15").Value = ChitateliDataGridView.CurrentRow.Cells(7).Value
oSheet.Range("E16").Value = ChitateliDataGridView.CurrentRow.Cells(8).Value
oSheet.Range("E17").Value = ChitateliDataGridView.CurrentRow.Cells(9).Value
oBook.SaveAs(Ex.Application.StartupPath & ChitateliDataGridView.CurrentRow.Cells(0).Value & ".xlsx")
oExcel.Quit()
Process.Start(Ex.Application.StartupPath & ChitateliDataGridView.CurrentRow.Cells(0).Value & ".xlsx")
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Me.Validate()
Me.ChitateliBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Дата_регистрацииDateTimePicker.Value = DateTime.Today()
Me.ChitateliBindingSource.AddNew()1
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.ChitateliBindingSource.RemoveCurrent()
Me.Validate()
Me.ChitateliBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Public Class doljnost
Private Sub doljnost_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.doljnosti". При необходимости она может быть перемещена или удалена.
Me.DoljnostiTableAdapter.Fill(Me.NLBDataSet.doljnosti)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Validate()
Me.DoljnostiBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.DoljnostiBindingSource.AddNew()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.DoljnostiBindingSource.RemoveCurrent()
End Sub
End Classotdel
Private Sub otdel_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.otdel". При необходимости она может быть перемещена или удалена.
Me.OtdelTableAdapter.Fill(Me.NLBDataSet.otdel)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Validate()
Me.OtdelBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.OtdelBindingSource.AddNew()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.OtdelBindingSource.RemoveCurrent()
End Sub
End Class
Public Class pomeshenie
Private Sub pomeshenie_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.pomeshenie". При необходимости она может быть перемещена или удалена.
Me.PomeshenieTableAdapter.Fill(Me.NLBDataSet.pomeshenie)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Validate()
Me.PomeshenieBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.PomeshenieBindingSource.AddNew()
End Sub
End Class
Imports Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop
Public Class sotrydniki
Dim Ex As New Application
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim BookEx As Workbook
Dim PageEx As Worksheet
Dim cn As New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\nlb.mdf;Integrated Security=True;Connect Timeout=3")
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Private Sub sotrydniki_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.otdel". При необходимости она может быть перемещена или удалена.
Me.OtdelTableAdapter.Fill(Me.NLBDataSet.otdel)
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.doljnosti". При необходимости она может быть перемещена или удалена.
Me.DoljnostiTableAdapter.Fill(Me.NLBDataSet.doljnosti)
'TODO: данная строка кода позволяет загрузить данные в таблицу "NLBDataSet.sotrydniki". При необходимости она может быть перемещена или удалена.
Me.SotrydnikiTableAdapter.Fill(Me.NLBDataSet.sotrydniki)
Label2.Text = SotrydnikiDataGridView.RowCount.ToString()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Validate()
Me.SotrydnikiBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.NLBDataSet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Дата_регистрацииDateTimePicker.Value = DateTime.Today()
Me.SotrydnikiBindingSource.AddNew()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim i As Integer
Dim j As Integer
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Visible = True
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("Лист1")
xlWorkSheet.Range("A1:E1").Font.Bold = True
xlWorkSheet.Columns("A:A").ColumnWidth = 10
xlWorkSheet.Columns("B:B").ColumnWidth = 15
xlWorkSheet.Columns("C:C").ColumnWidth = 15
xlWorkSheet.Columns("D:D").ColumnWidth = 15
xlWorkSheet.Columns("E:E").ColumnWidth = 20
xlWorkSheet.Columns("F:F").ColumnWidth = 30
xlWorkSheet.Columns("G:G").ColumnWidth = 20
xlWorkSheet.Columns("H:H").ColumnWidth = 25
xlWorkSheet.Columns("I:I").ColumnWidth = 25
xlWorkSheet.Columns("J:J").ColumnWidth = 25
xlWorkSheet.Columns("K:K").ColumnWidth = 25
For i = 0 To SotrydnikiDataGridView.RowCount - 1
For j = 0 To SotrydnikiDataGridView.ColumnCount - 1
For k As Integer = 1 To SotrydnikiDataGridView.Columns.Count
xlWorkSheet.Cells(1, k) = SotrydnikiDataGridView.Columns(k - 1).HeaderText
If j = 7 Then
xlWorkSheet.Cells(i + 2, j + 1) = SotrydnikiDataGridView(j, i).Value.ToString()
Else : xlWorkSheet.Cells(i + 2, j + 1) = SotrydnikiDataGridView(j, i).Value
End If
Next
Next
Next
xlWorkBook.SaveAs(Ex.Application.StartupPath & SotrydnikiDataGridView.CurrentRow.Cells(0).Value & ".xlsx")
ReleaseObject(xlApp)
ReleaseObject(xlWorkBook)
ReleaseObject(xlWorkSheet)
End Sub
Private Sub ReleaseObject(ByVal obj As Object)
'процедура выгрузки объектов из памяти
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.SotrydnikiBindingSource.RemoveCurrent()
End Sub
Private Sub ФамилияTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ФамилияTextBox.KeyPress
If Not [Char].IsDigit(e.KeyChar) Then
Return
Else
e.Handled = True
End If
End Sub
Private Sub ИмяTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ИмяTextBox.KeyPress
If Not [Char].IsDigit(e.KeyChar) Then
Return
Else
e.Handled = True
End If
End Sub
Private Sub ОтчествоTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ОтчествоTextBox.KeyPress
If Not [Char].IsDigit(e.KeyChar) Then
Return
Else
e.Handled = True
End If
End Sub
Private Sub MaskedTextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MaskedTextBox2.KeyPress
If Not IsNumeric(e.KeyChar) AndAlso Asc(e.KeyChar) <> 8 Then e.Handled = True
End Sub
End Class
