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

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

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

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

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

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

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

    Inherits Data

    Private IO As IIO

    Private FFileName As String

    Private FFound As Integer 

    Public Sub New(ByVal FileName As String)

        FFound = -1

        FFileName = FileName

        IO = New IIO

        If Not IO.FileExist(FileName) Then

            IO.FileCreate(FileName)

        End If

    End Sub 

    Public Sub ReadDB()

        'Процедура чтения БД.

        'Открываем файл БД "FFileName" с возможностью только чтения.

        Dim FFileHandle As Integer

        FFileHandle = IO.FileAssign(FFileName, OpenMode.Input)

        Count = 0

        ReDim Authors(Count), Books(Count), Readers(Count), Periods(Count), IDsOfBook(Count)

        While Not IO.FileEOF(FFileHandle)

            ReDim Preserve Authors(Count), Books(Count), Readers(Count), Periods(Count), IDsOfBook(Count)

          

              
 

            'читаем как строки

            Authors(Count) = IO.ReadString(FFileHandle)

            Books(Count) = IO.ReadString(FFileHandle)

            Readers(Count) = IO.ReadString(FFileHandle)

            Periods(Count) = IO.ReadString(FFileHandle)

            'читаем как число

            IDsOfBook(Count) = IO.ReadInteger(FFileHandle)

            Count += 1

        End While

        'Освобождаем файл после выполнения всех работ.

        IO.FileFree(FFileHandle)

    End Sub 

    Public Sub SaveDB()

        'Процедура записи(сохранения) БД.

        'Открываем БД только для записи.

        Dim FFileHandle, i As Integer

        FFileHandle = IO.FileAssign(FFileName, OpenMode.Output)

        For i = 0 To Count - 1

            'запись данных в файл

            IO.WriteParams(FFileHandle, Authors(i))

            IO.WriteParams(FFileHandle, Books(i))

            IO.WriteParams(FFileHandle, Readers(i))

            IO.WriteParams(FFileHandle, Periods(i))

            IO.WriteParams(FFileHandle, IDsOfBook(i))

        Next

        'Освобождаем файл после выполнения всех работ.

        IO.FileFree(FFileHandle)

    End Sub 

    Public Function Add(ByVal Author As String, ByVal Book As String, ByVal IDOfBook As Integer) As Integer

        ReDim Preserve Authors(Count), Books(Count), Readers(Count), Periods(Count), IDsOfBook(Count)

        Authors(Count) = Author

        Books(Count) = Book

        Readers(Count) = ""

        Periods(Count) = ""

        IDsOfBook(Count) = IDOfBook

        Count += 1

        Return Count

    End Function 

    Public Sub Del(ByVal IDOfBook As Integer)

        Dim i As Integer

        If FindOfID(IDOfBook) > -1 Then

            For i = GetFound() To Count - 2

                Authors(i) = Authors(i + 1)

                Books(i) = Books(i + 1)

                Readers(i) = Readers(i + 1)

                Periods(i) = Periods(i + 1)

                IDsOfBook(i) = IDsOfBook(i + 1)

            Next

            Count -= 1

            ReDim Preserve Authors(Count), Books(Count), Readers(Count), Periods(Count), IDsOfBook(Count)

        End If

    End Sub 

    Public Function FindOfID(ByVal IDOfBook As Integer) As Integer

        Dim i, result As Integer

        result = -1

        For i = 0 To Count - 1

            If IDsOfBook(i) = IDOfBook Then

                result = i

                Exit For

            End If

        Next

        

   FFound = result

        Return result

    End Function 

    Public Function FindOfBook(ByVal Book As String) As Integer

        Dim i, result As Integer

        result = -1

        For i = 0 To Count - 1

            If Books(i) = Book Then

                result = i

                Exit For

            End If

        Next

        FFound = result

        Return result

    End Function 

    Public Function GetFound() As Integer

        Return FFound

    End Function

End Class 

            II0.vb

'IIO - класс-оболочка  над стандартными средствами I/O.

'Представляет  собой более удобный вариант  для работы с файлами. 

Public Class IIO

    Inherits Object 

    Public Sub New()

        'Конструктор класса

    End Sub 

    Public Function FileExist(ByVal FileName As String) As Boolean

        'Данная функция проверяет наличие файла "FileName", в случае удачи возвращает true.

        Dim FileInfo As New System.IO.FileInfo(FileName)

        Dim Res As Boolean = False

        Res = FileInfo.Exists

        FileInfo = Nothing

        Return Res

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