Где он лежит ...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Где он лежит ...

Сообщение SeT » 11.05.2005 (Ср) 14:24

Помогите, кто может. Трабла такая...
Мне нужно слепить программку для поиска файла, который хранится на жёстком диске. Как это осуществить? Поиск реальных результатов не дал. Только по детальней, пожалуйста ...
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 11.05.2005 (Ср) 14:28

А может за тебя написать?
Для перечисления файлов используется Dir, для открытия Open, для чтения Line Input, для закрытия Close...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 11.05.2005 (Ср) 14:31

ANDLL Мне нужно найти какой-то файл (н.р. gens.exe). Как это сделать?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.05.2005 (Ср) 14:42

Апишки сам найдешь и рекурсию по директориям сделаешь :wink:
Код: Выделить всё
'**********************************************
'* Function FindFile is From Planet-Source-Code
'* Strongly modified by Carlos 09-10-99
'***********************************************
Public Sub FindFile(ByVal path As String, ByVal ftype As String)
       Dim hFile As Long, ts As String, WFD As WIN32_FIND_DATA
       Dim result As Long, sAttempt As String, szPath As String
       Dim strtemp
       If ProgressCancel Then Exit Sub
       Form4.ProgressBar1.Value = 1
       szPath = path & "*.*" & Chr$(0)
       'Start asking windows for files.
       putfileinpath path, ftype
       hFile = FindFirstFile(szPath, WFD)
       
       Do
         If WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY Then
          'Hey look, we've got a directory!
             ts = StripNull(WFD.cFileName)
             If Not (ts = "." Or ts = "..") Then
                 'Don't look for hidden or system directories
                 If Not (WFD.dwFileAttributes And (FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_SYSTEM)) Then
                     'Search directory recursively
                     FindFile path & ts & "\", ftype
                 End If
             End If
           End If
           WFD.cFileName = ""
           result = FindNextFile(hFile, WFD)
           Label1.Caption = "Searching in: " & path
           DoEvents
          If Form4.ProgressBar1.Value = Form4.ProgressBar1.Max Then Form4.ProgressBar1.Value = 1
          Form4.ProgressBar1.Value = Form4.ProgressBar1.Value + 1
        Loop Until result = 0
       
       FindClose hFile
End Sub

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 11.05.2005 (Ср) 14:47

Код: Выделить всё
Option Explicit
Dim mSearchedFile As String
Dim mSearchFlags As Long

Private Sub Form_Load()
    mSearchedFile = "kernel32.dll"
    mSearchFlags = vbDirectory Or vbHidden Or vbSystem 'По вкусу...
    SearchFile "C:\WINDOWS\"
    End
End Sub

Public Sub SearchFile(ByRef lpDir As String) 'Отыскивает файл в дерикториях и поддиректориях
    Dim str As String, dirs() As String
    str = Dir(lpDir, mSearchFlags)
    ReDim dirs(0)
    Do While str <> ""
        If str <> ".." And str <> "." Then
            If GetAttr(lpDir & str) And vbDirectory Then
                dirs(UBound(dirs)) = str
                ReDim Preserve dirs(UBound(dirs) + 1)
            Else
                If str = mSearchedFile Then 'Здесь собственно можно делать с файлом все, что угодно
                    MsgBox "Файл найден: " & lpDir & str, vbInformation
                End If
            End If
        End If
        str = Dir
    Loop
    Dim I As Long
    For I = 0 To UBound(dirs) - 1
        SearchFile lpDir & dirs(I) & "\"
    Next
End Sub


Уже ответили? Ну так уж выложу, раз старался...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.05.2005 (Ср) 14:53

вот старый проектик, может кто продолжит идею. часть еще более старого проекта с PlanetSourceCode
Вложения
VB Search Code.zip
(56.55 Кб) Скачиваний: 38

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 13.05.2005 (Пт) 12:02

Спасибоньки-и-и-и!!!!!!!!!!!!! :D
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010


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

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

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

    TopList