Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
ВнизPOS Найти похожие ветки
← →
Metotrone (2002-09-22 18:12) [0]Как произвести операцию Pos(Edit1.Text,f);
если f:TextFile, а не string
← →
Song (2002-09-22 18:14) [1]Прочитать содержимое файла в строку.
← →
Metotrone (2002-09-22 18:20) [2]Это цикл ?
А другого матода нет ?
← →
Song (2002-09-22 18:44) [4]Не надо цикл. Можно просто воспользоваться TStringList.LoadFromFile()
← →
Metotrone (2002-09-22 18:50) [5]Этоо как ?
Можно подробнее Please...
← →
Song (2002-09-22 18:58) [6]
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;
Ну когда не нужно будет писать такую ерунду? Когда люди научатся пользоваться хэлпом?
← →
Song (2002-09-22 18:59) [7]В Pos параметры поменяйте местами.
← →
Metotrone (2002-09-22 19:04) [8]Thanks
← →
PVOzerski (2002-09-23 01:36) [9]Если файл очень больщой, такой подход может привести к неоправданно большому расходу памяти. Ощутимо более медленная, но "экономичная" альтернатива - использование blockread, seek, pos и filepos: открываем файл как нетипизированный с длиной записи =length(Edit1.Text), считываем, сравниваем, возвращаемся на исходную позицию+1... Процесс можно значительно убыстрить, если считывать больше длины строки, но тогда надо после каждого сравнения переходить на позицию в файле Исходная_Позиция+Длина_прочитанного_блока-Длина_строки+1. В случае успешного нахождения точка входа определяется как результат FilePos + результат Pos.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c