Ищет но скорость медленная по сравнению c nodped++
Какие варианты правильные или быстрей того что я привел ниже?
Возможно я вообще делаю это не правильно))
- Код: Выделить всё
Var
PascalFiles, SL: TStringList;
PascalFiles_1: string;
f, i: integer;
flag:boolean=false;
..........................................................................
//Получаю все файлы в катологе
FindAllFiles(PascalFiles, 'Путь до папки', '*', True);
//Начинаю поиск по части текста в файлах
for f := 0 to PascalFiles.Count - 1 do
begin
if flag then //Просто затычка))
begin
SL.LoadFromFile(PascalFiles.Strings[f]); //Открываем файл
Form3.ProgressBar1.Position := f; //Прогресс бар
for i := 0 to SL.Count - 1 do
begin
//Сравниваем текст из ComboBox1.Text, и текст из файла SL.Strings[i]
if pos( UTF8LowerCase(Trim(Form3.ComboBox1.Text)), UTF8LowerCase(Trim(SL.Strings[i]))) > 0 then
begin
//Проверим не повторяется ли путь до файла если нет то добавим в SynEdit1
if Trim(PascalFiles.Strings[f]) <> Trim(PascalFiles_1) then
begin
//Покажем путь до файла
Form1.SynEdit1.Lines.Add('');
Form1.SynEdit1.Lines.Add('Файл| '+PascalFiles.Strings[f]+'*');
PascalFiles_1 := PascalFiles.Strings[f];
end;
//Выводим результат поиска
Form1.SynEdit1.Lines.Add('Line ' + IntToStr(i + 1) + ': ' +SL.Strings[i]);
end;
end;
end
else
..........................................................................
Еще это все в потоке но мне как показалось скорость уменьшилась после того как я перенес это все в отдельный поток.