Страница: 1 |
Страница: 1 |
Вопрос: Поиск строк
Добавлено: 26.11.05 01:53
Автор вопроса: oen
И снова здраствуйте!
И как всегда у меня єсть вопросы!
Итак! Мне нужно написать функцию или процедуру которая ищет в заданом каталоге все файли типа *.rtf и ищет в них заданую строку. В качестве результата видать количество совпадений, и путь к файлам в которіх біла найдена строка.
Oen!
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #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))