|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Поиск совпадений Delphi 7
Всем доброго дня!
Впервые пытаюсь писать программу на Delphi и ни как не получается последняя часть. Имеется файл .txt в котором записано несколько словосочетаний, каждое в новой строке. И имеется второй файл также .txt в котором произвольный текст. Путь к файлам определён через переменные. Нужно написать программу, которая считывает эти 2 файла и если во втором файле (произвольный текст) находиться совпадение хоть по 1 из словосочетаний (находит совпадение по 1 из строке) из первого файла, выводиться сообщение "Найдено". В противном случае "Не найдено". |
#2
|
|||
|
|||
Код:
function HasMatches(ATextFile, APatternFile : String; ACaseSensitive : Boolean = False) : Boolean; var slText, slPattern : TStringList; I : Integer; begin Result := False; slText := TStringList.Create; slPattern := TStringList.Create; Try slText.LoadFromFile(ATextFile); slPattern.LoadFromFile(APatternFile); If Not ACaseSensitive Then Begin slText.Text := AnsiUpperCase(slText.Text); slPattern.Text := AnsiUpperCase(slPattern); End For I := 0 To slPattern.Count-1 Do Begin Result := Pos(slPattern[i],slText.Text) > 0; If Result Then Break; End; Finally slText.Free; slPattern.Free; End; end; Не найдет совпадение, если искомое выражение "разбито" по разным строкам. Если надо - то надо в slText.Text заменить все переводы строк на одиночнык пробелы. |
#3
|
|||
|
|||
Спасибо, завтра попробую подогнать этот код.
Ничего не будет разбито, поэтому код должен подойти. Отпишусь сразу как опробую. |
#4
|
|||
|
|||
Прошу прощения, в Delphi ещё плохо разбираюсь.
Можете пожалуйста подправить код. Находиться в самом конце. Путь к файлам в переменных: SignatureFileName - файл с тем что нужно искать, CheckFileName - проверяемый файл. 1, 2 и 3 это файлы с произвольным текстом. Если найдёт хоть 1 строку из искомых должно вывести сообщение "Найдено". Если нету, то "Не найдено". Ссылка на Яндекс диск с программой. |