Проект программного обеспечения библиотеки

Автор: Екатерина Акбашева, 06 Декабря 2010 в 22:27, курсовая работа

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

Проект предназначен для получения информации о наличии в библиотеке соответствующих книг.
Информация о состоянии книжного фонда содержится в текстовом файле в виде последовательности групп записей <автор>, <название книги>, <инвентарный номер>, <читатель>, <срок возврата>. Файл поддерживается в актуальном состоянии в соответствии с динамикой получения – возврата книг. Файл создается клиентской частью программы. Чтение и обновление файла осуществляется с помощью специального класса, включенного в библиотеку программ.

Работа содержит 1 файл

Программирование.doc

— 1.13 Мб (Скачать)

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

    MustInherit -классы должны определять свои абстрактные методы или свойства. Для этого служит ключевое слово MustOverride. MustOverride -методы и свойства не предоставляют реализации, попытка реализовать их является синтаксической ошибкой. Каждый производный класс должен переопределять все MustOverride-методы и свойства базового класса, используя ключевое слово Overrides, и предоставлять их конкретные реализации. Различие между MustOverride-методом и Overridable-методом заключается в том, что Overridable-метод имеет реализацию и обеспечивает производный класс опцией переопределения этого метода. MustOverride-метод, напротив, не предоставляет реализацию и “принуждает” производный класс переопределять метод, чтобы этот класс был конкретным.

    Абстрактный класс может иметь данные экземпляра и неабстрактные методы (включая  конструкторы), которые подчиняются  обычным правилам  наследования производными классами.

    Хотя  нельзя создавать объекты базовых  MustInherit-классов, можно использовать базовые MustInherit-классы для объявления ссылок; эти ссылки могут ссылаться на экземпляры любых конкретных классов, порожденных MustInherit-классом. Их удобно использовать для полиморфного манипулирования экземплярами производных классов. 
 
 
 

                                                               
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                                                                         Практическая часть.

    Form1.vb [Design]

     
     
     

           
 
 
 
 
 

                             Рабочий вариант

     
     
     
     
     
     
     
     
     
     
     

    Form1.vb 

Public Class Form1

    Private DB As Manager 

    Private Sub ComboBox1Update()

        'обновляем ComboBox1 (нужен для поиска)

        Dim i, j As Integer

        Dim cc As Boolean

        Dim str As String

        ComboBox1.Items.Clear()

        For i = 0 To DB.GetCountData - 1

            cc = False

            For j = 0 To ComboBox1.Items.Count - 1

                str = ComboBox1.Items.Item(j)

                If str = DB.GetBook(i) Then

                    cc = True

                    Exit For

                End If

            Next

            If cc = False Then ComboBox1.Items.Add(DB.GetBook(i))

        Next

    End Sub 

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

        Dim i As Integer

        DB = New Manager(Application.StartupPath + "\db.txt")

        'вызываем событие кномки "открыть", чтобы обновить данные на форме

        Button3_Click(sender, e)

    End Sub 

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

        Button4.Enabled = True

        'Добавляем информацию в БД.

        DB.Add(TextBox1.Text, TextBox2.Text, TextBox3.Text)

        DataGridView1.Rows.Add(DB.GetIDOfBook(DB.GetCountData - 1), DB.GetAuthor(DB.GetCountData - 1), DB.GetBook(DB.GetCountData - 1))

        DB.SaveDB()

        'вызываем событие кномки "открыть", чтобы обновить данные на форме

        Button3_Click(sender, e)

    End Sub 

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

        'открываем БД

        Dim i As Integer

        DB.ReadDB()

        DataGridView1.Rows.Clear()

        For i = 0 To DB.GetCountData - 1

            DataGridView1.Rows.Add(DB.GetIDOfBook(i), DB.GetAuthor(i), DB.GetBook(i), DB.GetReader(i), DB.GetPeriod(i))

        Next

        ComboBox1Update()

        If ComboBox1.Items.Count > 0 Then ComboBox1.SelectedIndex = 0

    End Sub 

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

        Button4.Enabled = True

        'удаляем информацию в БД.

        DB.Del(DB.GetIDOfBook(DataGridView1.Rows.IndexOf(DataGridView1.SelectedRows.Item(0))))

        DataGridView1.Rows.Remove(DataGridView1.SelectedRows.Item(0))

    End Sub 

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

        Button3.Enabled = True

        'сохраняем БД.

        DB.SaveDB()

    End Sub 

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

        Button4.Enabled = True

        If DB.GetFound > -1 Then

            DB.SetReader(DB.GetFound, TextBox4.Text)

            DB.SetPeriod(DB.GetFound, Val(TextBox5.Text))

            DB.SaveDB()

            Button3_Click(sender, e)

        End If

    End Sub 

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        'по названию книги находим информацию (сделано сразу через выбор в списке названий)

        If ComboBox1.Items.Count > 0 Then

            ListBox1.Items.Clear()

            DB.FindOfBook(ComboBox1.Items.Item(ComboBox1.SelectedIndex))

            If DB.GetFound > -1 Then

                ListBox1.Items.Add(DB.GetAuthor(DB.GetFound) + " " + DB.GetBook(DB.GetFound) + " " + DB.GetReader(DB.GetFound) + " " + DB.GetPeriod(DB.GetFound))

            End If

        End If

    End Sub

End Class 

      

  Manager.vb

Public Class Manager

Информация о работе Проект программного обеспечения библиотеки