Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Найти файлик :)) Добавлено: 11.01.07 19:19  

Автор вопроса:  «0опай» | ICQ: Два, потом нуль, дальше-девять-шесть-девять-семь. 
У меня проблема - нужно найти файл. К сожалению, форум отказался искать на эту тему. Так что прошу у тех, кто уже знает.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 11.01.07 19:46
дык а какой файл то? без имени то конечно не найдёшь

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 11.01.07 20:57
Хм... Да, вопрос интересен и познавателен... :)

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 11.01.07 21:02
По каким кpитериям нужен поиск файла?

Морфеус, а я найду. По размеру например :)

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 11.01.07 21:42
ещё скажи по содержанию :)
Типа файл, в котором написано "3плвзопавз324шзщл", тогда просто создаёшь на Цэ 1.дат и туда пишешь "3плвзопавз324шзщл"

Ответить

Номер ответа: 5
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #5 Добавлено: 11.01.07 21:59
Найди то, не знаю что. Хм...

Ответить

Номер ответа: 6
Автор ответа:
 «0опай»



ICQ: Два, потом нуль, дальше-девять-шесть-девять-семь. 

Вопросов: 4
Ответов: 20
 Профиль | | #6 Добавлено: 11.01.07 22:02
Не понял предыдущего сообщения :)) Смешным показалось.
Морфеус, имя у файла есть, но меня интересует только код самого поиска.

AgentFire: По имени.

Ответить

Номер ответа: 7
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #7 Добавлено: 11.01.07 23:06
имя у файла есть
осталось узнать фамилию и отчество. А также подать заявление в милицию :)

интересует только код самого поиска
а что значит код? ты хочешь файл искать программно или что?

Ответить

Номер ответа: 8
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #8
Добавлено: 12.01.07 00:39
У меня был где то алгоритм самодельный на FindFirstFile/FindNextFile, но он во вложенных папках не искал

Ответить

Номер ответа: 9
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 12.01.07 01:45
Private Const MAX_PATH = 260
Private Const INVALID_HANDLE_VALUE = -1
Private Const FILE_ATTRIBUTE_DIRECTORY As Long = &H10

Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Declare Function RemoveDirectory Lib "kernel32.dll" Alias "RemoveDirectoryA" (ByVal lpPathName As String) As Long

Dim FindFile() As String
Dim CountFindFile


Private Sub InterateObject(Source As String, file$())
'Подпрограмма для поиска файлов
If Right(Source, 1) <> "\" Then Source = Source & "\"
Dim objName As String
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Integer
    Cont = True
    hSearch = FindFirstFile(Source & "*", WFD)
    If hSearch <> INVALID_HANDLE_VALUE Then
        Do While Cont
            objName = Left(WFD.cFileName, InStr(WFD.cFileName, Chr(0)) - 1)
            If Not (objName = "." Or objName = "..";) Then
                If (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) = 0 Then
                   
                   For i = 0 To UBound(file$)
                    file$(i) = LCase(file$(i))
                    objName = LCase(objName)
                    
                    If InStr(1, file$(i), "*", 1) = 0 Then
                         If file$(i) = objName Then
                             FindFile$(CountFindFile) = Source & objName
                             CountFindFile = CountFindFile + 1
                             ReDim Preserve FindFile$(CountFindFile)
                         End If
                     Else
                         If Spliting(file$(i), ".";) = Spliting(objName, ".";) Then
                             FindFile$(CountFindFile) = Source & objName
                             CountFindFile = CountFindFile + 1
                             ReDim Preserve FindFile$(CountFindFile)
                         Else
                             e0$ = Left(Spliting(file$(i), "\";), InStr(1, Spliting(file$(i), "\";), ".", 1) - 1)
                             If InStr(1, objName, ".", 1) - 1 >= 0 Then e1$ = Left(objName, InStr(1, objName, ".", 1) - 1)
                                If e0$ = e1$ Then
                                   FindFile$(CountFindFile) = Source & objName
                                   CountFindFile = CountFindFile + 1
                                   ReDim Preserve FindFile$(CountFindFile)
                                End If
                         End If
                    End If
                   Next i
                   
                Else
                    InterateObject Source & objName & "\", file$
                End If
            End If
           Cont = FindNextFile(hSearch, WFD)
        Loop
        Cont = FindClose(hSearch)
    End If
End Sub

Ответить

Номер ответа: 10
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #10 Добавлено: 12.01.07 10:38
Ну, ппц, полезли в АПИ. FSO - код всемеро короче будет.

Ответить

Номер ответа: 11
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #11
Добавлено: 12.01.07 10:49
Ну, ппц, полезли в АПИ. FSO - код всемеро короче будет.

Он специально - народ пугает. :-)

Ответить

Номер ответа: 12
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #12 Добавлено: 13.01.07 02:12
Ну это то что готовое под рукой есть :) Если её по нормальному переписать, оно может не в семеро, но раза в два-три будет :) А про FSO - мы ж пути лёгкие не ищем! :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам