FSO-как найти строчку в TXT файле?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

FSO-как найти строчку в TXT файле?

Сообщение Александр80 » 18.02.2005 (Пт) 21:24

Подскажите пожалуйста. Есть файл “Test.TXT” в нем имеется информация, записанная построчно… Файл большой 7 мб (Примерно 160 000 строк). Мне нужно в нем найти определенную строчку…

Пример:
В файле:
Абакан
абаканский
Абакум
абандон
аббат
аббатский
…….
Найти:
абандон

Можно ли это сделать c помощью FSO? :?

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 18.02.2005 (Пт) 21:26

А если файл в массив, построчно, а потом найти через цикл строку?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 18.02.2005 (Пт) 21:29

В модели FSO нет метода "FindString"... Я бы сначала грузанул файл в TextStream, а уж в нём и искал циклом...
[edit]А можно и InStr искать, как намекает RayShade :roll:[/edit]
Последний раз редактировалось Amed 19.02.2005 (Сб) 21:35, всего редактировалось 2 раз(а).

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 18.02.2005 (Пт) 21:33

Amed писал(а):В модели FSO нет метода "FindString"... Я бы сначала грузанул файл в TextStream, а уж в нём и искал циклом...


Спасибо, попробую... :D

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 19.02.2005 (Сб) 13:12

Только для ОЧЕНЬ БЫСТРЫХ КОМПОВ :lol:

Код: Выделить всё
open "c:\text.txt" for input as #1
do until efo(1)
line input #1,txt
if txt = "То что ты ищеш" then
tempstr = txt
loop
close #1

Пробовать только на очень быстрых компах :lol:

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 19.02.2005 (Сб) 15:14

Ramzes
Так любой может!
Хотя возможно это единственый способ...
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.02.2005 (Сб) 18:07

Нет, на отсортированном файле это далеко не единственный способ :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 19.02.2005 (Сб) 21:27

Вот такой еще может быть вариант:

Код: Выделить всё
textfound = instr(text_to_search,fso.getfile("c:\123.txt").openastextstream(ioreading).readall,1)
I don't understand. Sorry.

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 19.02.2005 (Сб) 23:39

Всем спасибо!!! :lol: :wink: Пошел пробовать...


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

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

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

    TopList