Поиск файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Поиск файла

Сообщение KPEATOP » 11.08.2004 (Ср) 10:11

Подскажите кто-нибудь как сделать поиск файла по имени, плиззз.
Заранее спасибо!
Вечность пахнет нефтью

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 11.08.2004 (Ср) 12:20

Поиск где?
Если только в одной папке - тогда просто Dir$(FileNameString,Atributes)
Возращает пустую строку если файл с указанными атрибутами не существует. В имени файла можно использовать символы маски.
Если файл/файлы существуют - тогда возвращает строку с именем первого найденого файла. Следующий вызов Dir$ без параметров возвратит имя следующего найденого файла.
Если же нужно искать во всех подкаталогах нужной папки, тогда всё это делается в рекурсивной процедуре.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Сообщение KPEATOP » 11.08.2004 (Ср) 13:00

поиск в одной папке, но там много поддерикторий, в которых могут быть несколько файлов с разными именами, но в их имени у всех присутствует *multi*.txt
Вечность пахнет нефтью

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 11.08.2004 (Ср) 13:25

Ну тогда как я тебе сказал (ещё лучше наглядный пример в http://bbs.vbstreets.ru/viewtopic.php?t=9251). Там тебе уже в принципе подсказали.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 11.08.2004 (Ср) 18:27

ну все... достали... ща ка-а-ак выдам ссылку, блин, на старый форум...
ндя... с ссылко ничего не получилось...
ладно не важно вот цитата из него
Код: Выделить всё
Private Sub ScanFolder(CurrentPath As String)
    Dim nI As Integer, nDirectory As Integer
    Dim sFileName As String, sDirectoryList() As String
    Dim Ext As String
    Dim strDescription As String
    Dim strURL As String
    Dim NewListItem As MSComctlLib.ListItem
    Me.Caption = "Поиск в папке: " & CurrentPath
    sFileName = Dir(CurrentPath)
    Do While sFileName <> ""
        Ext = LCase$(Mid$(sFileName, InStrRev(sFileName, ".") + 1))

        If Ext = "url" Then
            strDescription = Mid$(sFileName, 1, Len(sFileName) - Len(Ext) - 1)
            strURL = sFileName
            Set NewListItem = lvwURL.ListItems.Add(, , strURL, , 1)
            NewListItem.SubItems(1) = strDescription
            NewListItem.SubItems(2) = Mid$(CurrentPath, 1, Len(CurrentPath) - 1)
        End If

        sFileName = Dir

        DoEvents
    Loop

    sFileName = Dir(CurrentPath, vbDirectory)

    Do While sFileName <> ""
        If sFileName <> "." And sFileName <> ".." And sFileName <> "?" Then
            If GetAttr(CurrentPath & sFileName) And vbDirectory Then
                nDirectory = nDirectory + 1

                ReDim Preserve sDirectoryList(nDirectory)

                sDirectoryList(nDirectory) = CurrentPath & sFileName
            End If
        End If

        sFileName = Dir

        DoEvents
    Loop
    For nI = 1 To nDirectory
        ScanFolder sDirectoryList(nI) & ""

        DoEvents
    Next nI

    Me.Caption = "Поиск завершен"End Sub


вставь этот кусок в модуль формы. на форме размести ListView с именем lvwURL. вобщем эта процедура ищет все файлы с расширением url и добавляет их в ListView


маленткое замечание:
парметр функции CurrentPath As String - это стартовый каталог с которого начинаем искать файлы
Код: Выделить всё
Ext = LCase$(Mid$(sFileName, InStrRev(sFileName, ".") + 1))

If Ext = "url" Then
  ...
- тут проверяется соответствие найденных файлов маске
в данном случае - "*.url"
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 5

    TopList