Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

POS [D6, Win95/98]


Metotrone ©   (2002-09-22 18:12:00) 

Как произвести операцию Pos(Edit1.Text,f);
если f:TextFile, а не string


PVOzerski   (2002-09-23 01:36:00) [1]

Если файл очень больщой, такой подход может привести к неоправданно большому расходу памяти. Ощутимо более медленная, но "экономичная" альтернатива - использование blockread, seek, pos и filepos: открываем файл как нетипизированный с длиной записи =length(Edit1.Text), считываем, сравниваем, возвращаемся на исходную позицию+1... Процесс можно значительно убыстрить, если считывать больше длины строки, но тогда надо после каждого сравнения переходить на позицию в файле Исходная_Позиция+Длина_прочитанного_блока-Длина_строки+1. В случае успешного нахождения точка входа определяется как результат FilePos + результат Pos.


Metotrone   (2002-09-22 19:04:00) [2]

Thanks


Song   (2002-09-22 18:59:00) [3]

В Pos параметры поменяйте местами.


Song   (2002-09-22 18:58:00) [4]

With TStringList.Create Do
try
LoadFromFile("MyFile.txt");
t:=Pos(Text,Edit1.Text);
IF t>0 then ShowMessage("Слово "+Edit1.Text+" находится в файле с позиции "+IntToStr(t)) else ShowMessage("Поиск неудачен");
finally
Free;
end;


Ну когда не нужно будет писать такую ерунду? Когда люди научатся пользоваться хэлпом?


Metotrone   (2002-09-22 18:50:00) [5]

Этоо как ?
Можно подробнее Please...


Song   (2002-09-22 18:44:00) [6]

Не надо цикл. Можно просто воспользоваться TStringList.LoadFromFile()


. ...   (2002-09-22 18:33:00) [7]


Metotrone   (2002-09-22 18:20:00) [8]

Это цикл ?
А другого матода нет ?


Song   (2002-09-22 18:14:00) [9]

Прочитать содержимое файла в строку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо