Реферат

Реферат Поиск файла по маске

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.9.2024





МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение

ВПО «Уральский государственный технический университет – УПИ»
Кафедра «Радиоэлектроника информационных систем»
                                                                                   

           
                                                                                             
ПОИСК ФАЙЛА ПО МАСКЕ
Пояснительная записка к курсовой работе по курсу «Информатика»
 


Екатеринбург

2008


Содержание




1. Введение. 3

2. Постановка задачи. 4

3. Руководство пользователя. 5

4. Руководство программиста. 11

5. Код программы.. 12

6. Блок-схема. 16

7. Заключение. 17

8. Список литературы.. 18


1. Введение


Выбранная мною в качестве курсовой работы программа хоть и не отличается какими-либо функциями, но я постаралась сделать её максимально удобной пользователю и эффективной в работе. Для разработки программы я выбрала среду программирования Microsoft Visual Basic 6.0, так как она является достаточно простой и в то же время функциональной именно для меня. С этой средой программирования я ознакомилась на лекциях по информатике. И поэтому выбрала именно её, чтобы укрепить знания, полученные на лекциях.

2. Постановка задачи


Целью моей курсовой работы является создание программы для поиска файлов по маске. Данная программа должна быть проста в применении. Также для неопытных пользователей необходимо создать справку.

Для решения поставленной задачи я выбрала среду программирования Microsoft Visual Basic 6.0, как среду мне более-менее известную. В качестве помощи мною были использованы ресурсы Интернет и MSDN.

Для создания программы поиска файла по имени создаем форму. На ней располагаем текстовое поле, флажок, список дисков, список каталогов, список файлов, выпадающее меню, кнопку поиска и label для вывода количества найденных файлов. В текстовом поле необходимо ввести имя искомого файла и его тип. По умолчанию программа ищет файлы в каталоге, где располагается. Если же нужно изменить место поиска, то необходимо снять флажок «Включать в поиск подкаталоги?». После выбора нужной директории следует нажать кнопку «Поискать…». Во время поиска «крутится» счетчик найденных файлов, кнопка поиска меняет свою надпись на «Стоп», если нажать ее, остановится поиск и появится окно со списком путей найденных файлов, а под ним количество найденных файлов. Если щелкнуть дважды по найденному файлу, программа отображает папку, в которой находится файл в окне проводника Windows.

3. Руководство пользователя


Для запуска программы нужно дважды щелкнуть по файлу Поисковик.exe. После запуска появится окно программы (Рис. 1).

Подпись: Рис. 1 Главное окно
По умолчанию программа переходит в папку, в которой она находится. Выберите диск и папку, в которых вы хотите осуществить поиск (Рис. 2)
Подпись: Рис. 2 Выбор диска и папки

2
 

1
 

Также можно осуществлять поиск не только в папке, но и в папках, которые находятся в ней. Для этого нужно поставить  галочку (Рис. 3).


Подпись: Рис. 3 Выбор способа поиска
Введите имя файла и нажмите на кнопку «Поискать…», начнется поиск. Если поиск производится по маске, то найденных файлов может быть очень много, чтобы не тратить время, поиск можно остановить, нажав клавишу «Стоп». Во время поиска окно программы выглядит следующим образом (Рис.4).

Подпись: Рис. 4 Окно во время поиска



Результат поиска представлен на Рис. 5.


Подпись: Рис. 5 Результат поиска                                                           



Щелкнув дважды по строчке с путем файла, вы перейдете к найденным файлам (Рис.6)

Подпись: Рис. 6 Переход к найденным файлам
В программе предусмотрены «Горячие клавиши»: Справка - F1

4. Руководство программиста


Программа «Поисковик» особых условий функционирования не имеет. Характеристики программы:
 - Размер: 32 768 байт;
 - Версия: 1.0.0.0.


Входной характеристикой программы является маска файла, по которой производится поиск самого файла. Выходными данными является список файлов, который соответствуют введенной маске.

Также в программе использовано сообщение об ошибке. Оно показывает, что на выбранном диске невозможно произвести поиск файла по введенной маске.

Алгоритм и исходный код программы предоставлены далее.

5. Код программы


'вывод справки

Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)

Dim ltxt As String
Option Explicit

Dim SearchFlag As Integer

Dim InSearch As Boolean

Dim AbSearch As Integer

'поиск с поддиректориями или без

Private Sub ChkPoddir_Click()

End Sub

Private Sub CmdPoisk_Click()

DirBox.Visible = False

FileBox.Visible = False

ListVivod.Visible = False
' Инициалзация поиска, затем рекурсивный поиск

Dim FirstPath As String, DirCount As Integer, NumFiles As Integer

Dim result As Integer

If InSearch = False Then

    LblCount.Caption = "0"

    InSearch = True

    AbSearch = False

    CmdPoisk.Caption = "Стоп"
    ' Укажите dirBox.Path если он отличается от текущей директории, тогда начинать поиск

    If DirBox.Path <> DirBox.List(DirBox.ListIndex) Then

        DirBox.Path = DirBox.List(DirBox.ListIndex)

        Exit Sub         ' Выход, чтобы пользователь смог посмотреть перед поиском

    End If

    ListVivod.Clear
    FileBox.Pattern = TxtVvod.Text

    FirstPath = DirBox.Path

    DirCount = DirBox.ListCount

    ' Начало рекурсивного поиска по директориям

    NumFiles = 0                       ' Сброс индикатора найденных файлов

    result = DirDiver(FirstPath, DirCount, "")

    FileBox.Path = DirBox.Path

    DirBox.Visible = True

    FileBox.Visible = True

    ListVivod.Visible = True

    CmdPoisk.Enabled = True

    InSearch = False

    CmdPoisk.Caption = "Искать!"

    FrmVivod.Caption = "А я нашёл, а я нашёл!"

Else

    AbSearch = True

    InSearch = False

    CmdPoisk.Caption = "Искать!"

    FrmVivod.Caption = "Тут просто белый квадрат..."

End If

   End Sub
Private Function DirDiver(NewPath As String, DirCount As Integer, BackUp As String) As Integer

'  Рекурсивный поиск директорий из NewPath

'  NewPath ищется в этой рекурсии

'  BackUp начало этой рекурсии

'  DirCount это колличество поддиректроий в этой директории.

Static FirstErr As Integer

Dim DirsToPeek As Integer, AbandonSearch As Integer, ind As Integer

Dim OldPath As String, ThePath As String, entry As String

Dim RetVal As Integer

    SearchFlag = True           ' Установка флага чтобы пользователь смог прервать.

    DirDiver = False            ' Установите True если есть ошибка.

    RetVal = DoEvents()         ' Проверка событий.

    If SearchFlag = False Then

        DirDiver = True

        Exit Function

    End If

    On Local Error GoTo DirDriverHandler

    DirsToPeek = DirBox.ListCount                  ' Сколько директорий ниже этой?

    Do While DirsToPeek > 0 And SearchFlag = True

        If ChkPoddir.Value = 1 Then

        OldPath = DirBox.Path                      ' Сохранение старого пути для новой рекурсии.

        DirBox.Path = NewPath

        If DirBox.ListCount > 0 Then

            ' Идти к нижнему узлу.

            DirBox.Path = DirBox.List(DirsToPeek - 1)

            AbandonSearch = DirDiver((DirBox.Path), DirCount%, OldPath)

        End If

        '  Шаг на один уровень вверх в директории.

        End If

        DirsToPeek = DirsToPeek - 1

        If AbSearch = True Or AbandonSearch = True Then Exit Function

    Loop

   

    ' Вызов функции для перечисления файлов

    If FileBox.ListCount Then

        If Len(DirBox.Path) <= 3 Then             ' Проверка 2 bytes/character.

            ThePath = DirBox.Path                 ' Если корневой уровень, оставить как есть...

        Else

            ThePath = DirBox.Path + "\"           ' В противном случае поместить "\" перед именем файла.

        End If

        For ind = 0 To FileBox.ListCount - 1      ' Добавление соответствующих файлов в этой директории в list box.

            'сокращение выводимого пути файла

            entry = ThePath

            If Len(entry) > 30 Then entry = Left(entry, 30)

            entry = entry + "...\"

            entry = entry + FileBox.List(ind)

            'вывод найденных

            ListVivod.AddItem entry

            ' кол-во найденных

            LblCount.Caption = Str(Val(LblCount.Caption) + 1)

        Next ind

       

    End If

     

    If BackUp <> "" Then        ' Если это высшая директория, переместите ее.

        DirBox.Path = BackUp

    End If

    Exit Function
DirDriverHandler:

    If Err = 7 Then             ' Если происходят ошибки памяти, примите что list box должен быть полным.

        DirDiver = True         ' Создает Msg и устанавливает обратное значение AbandonSearch.

        MsgBox "You've filled the list box. Abandoning search..."

        Exit Function           ' выходная процедура восстанавливает Err на 0.

    Else                        ' В противном случае дисплейное сообщение ошибки и выход.

        MsgBox Error

        End

    End If

  

    End Function

  

'выбор диска

Private Sub DrvBox_Change()

    On Error GoTo errorhandler

    'обновить путь окна папок для этого диска

    DirBox.Path = DrvBox.Drive

    Exit Sub

'обработка ошибки диска, если устройство не готово

errorhandler:

    Dim message As String

    If Err.Number = 68 Then

        Dim r As Integer

        message = "Не унывай... В следующий раз определённо повезёт"

        r = MsgBox(message, vbRetryCancel + vbCritical, "Неудача :(")

        If r = vbRetry Then

            Resume

        Else

            DrvBox.Drive = DrvBox.List(1)

            Resume Next

        End If

        Else

        Call MsgBox(Err.Description, vbOKOnly + vbExclamation)

        Resume Next

    End If

End Sub

Private Sub Form_Load()

InSearch = False

AbSearch = False

End Sub

'список папок

Private Sub DirBox_Change()

FileBox.Path = DirBox.Path

End Sub

'список файлов

Private Sub FileBox_Click()

FileBox.Path = DirBox.Path

End Sub
'ввод имени файла

Private Sub TxtVvod_Change()

    FileBox.Pattern = TxtVvod.Text

End Sub

'открытие папки с файлами

Private Sub ListVivod_DblClick()

Dim MyCmd As String

    Dim RetVal

    MyCmd = "explorer.exe " + DirBox.List(DirBox.ListIndex)

    RetVal = Shell(MyCmd, 1)

End Sub

'о программе

Private Sub mnuAbout_Click()

MsgBox "Программа для поиска файлов по маске" & vbNewLine & "Автор: Полякова Мариша", vbInformation, "О программе"

End Sub

'помощь

Private Sub mnuHelp_Click()

Dim nRet As Integer

    'SendKeys "{F1}"

nRet = OSWinHelp(Me.hwnd, App.HelpFile, 3, 0)

End Sub

'выход

Private Sub mnuExit_Click()

Unload Me

End Sub



6. Блок-схема






7. Заключение


В процессе проделанной работы я выучила основы работы в Visual Basic 6.0, на котором и была создана моя программа. В итоге я получила готовы ехе-файл для запуска «Поисковика». Также приложением к нему идет справка для пользотвателей.

8. Список литературы


1.       MSDN Library Visual Studio 6.0 release;

2.       http://forums.aspfree.com/visual-basic-programming-38/help-with-vb-code-to-monitor-a-folder-size-31533.html;

3.       http://www.vb-helper.com/howto_dirsize.html;

4.       http://www.codeguru.com/forum/showthread.php?t=343155;

5.       http://www.codenewsgroups.net/group/microsoft.public.vb.general.discussion/topic17000.aspx;

6.       http://www.vb-helper.com/howto_file_times_fso.html.

        

1. Книга на тему Информатизация образования
2. Реферат Личность как окружающая среда общества
3. Диплом Порівняльна характеристика рибопродуктивності ставів за умов використання інтенсивної напівінтенсивної
4. Сочинение Женские образы в романе Гончарова Обломов
5. Реферат на тему Travis Tritt Essay Research Paper Travis TrittTravis
6. Доклад Развитие теории самоактуализации в отечественной педагогике и психологии
7. Диплом Государственная социальная помощь в системе права социального обеспечения
8. Реферат Специфика народного орнамента русских
9. Реферат Сопло Лаваля
10. Курсовая Финансовые правоотношения, их структура, особенности и виды