Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Поиск строк Добавлено: 26.11.05 01:53  

Автор вопроса:  oen
  И снова здраствуйте!
И как всегда у меня єсть вопросы!
Итак! Мне нужно написать функцию или процедуру которая ищет в заданом каталоге все файли типа *.rtf и ищет в них заданую строку. В качестве результата видать количество совпадений, и путь к файлам в которіх біла найдена строка.

   Oen!

Ответить

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

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



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 26.11.05 04:01
Очень примечательно, что в этом "вопросе" нет знака вопроса. 8)
Есть только "мне нужно написать функцию".
Мне вот тоже как-то нужно было за хлебом сходить, прикинь. Ничего не помогло - пришлось идти.
По-моему, тебе тоже придётся всё-таки написать эту функцию, если надо для дела. 8)
P.S. Задай вопрос поконкретнее. В чём сложность? В переборе файлов, в формате rtf, в выдаче результата в виде массива своего типа?
Или тебе просто лень писать эту функцию? Ты составил для нас проект в виде требуемых функций, классов и компонентов и мы их счас будем писать?

Ответить

Номер ответа: 2
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #2 Добавлено: 26.11.05 15:20
OK'ey:

Private Function Search(InFolder as string) as string()
     dim f() as string = IO.Directory.GetFiles(InFolder,st as string)
     dim i as integer,h as integer,j as integer,k as integer,test as string
     dim ret() as string
     dim strm as io.FileStream
     dim br as new io.binaryReader
     dim bt() as byte
for i = 0 to Ubound(f)
if not (f(i) like "*.rtf";) then goto nxt
 strm = new io.FileStream(InFolder & "\" & f(i),FileMode.Open)
          br = new io.BinaryReader(strm)
          bt = br.ReadBytes(strm.Length)
          for j = 0 to Ubound(bt)
               if chr(bt) = mid(st,1,1) then
               test = ""
                for k = j to ubound(bt)
                    test &= chr(k)
                    if not( st like test & "*";) then
                        exit for
                    end if
                    if st = test then
                        redim preserve ret(h)
                        ret(h) = f(i)
                        h +=1
                        goto nxt
                    end if
                next
end if
          next
strm.close
          br.close
     nxt:
     next
return ret
End Function

Ну скажем что-то вроде этого. Ошибки найдешь сам. А вообще здесь нет ничего принципиального, мог и сам написать.

Ответить

Номер ответа: 3
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #3 Добавлено: 26.11.05 15:21
Упс, параметр не там дописал:

Private Function Search(InFolder as string) as string()
     dim f() as string = IO.Directory.GetFiles(InFolder,st as string)

>>>>>>>>>>>>>>>>

Private Function Search(InFolder as string,st as string) as string()
     dim f() as string = IO.Directory.GetFiles(InFolder)

Ответить

Номер ответа: 4
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #4 Добавлено: 26.11.05 15:25
По-быстрому, что-то написал тут, вот еще:

for j = 0 to Ubound(bt)
               if chr(bt) = mid(st,1,1) then
               test = ""
                for k = j to ubound(bt)
                    test &= chr(k)

>>>>>>>>>>>>>

for j = 0 to Ubound(bt)
               if chr(bt(j)) = mid(st,1,1) then
               test = ""
                for k = j to ubound(bt)
                    test &= chr(bt(k))

Ответить

Страница: 1 |

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



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