31.05.2005, 06:38
общий
это ответ
Здравствуйте, kda!
Непонятно что нужно - записывать в мемо совпавшие строки или не совпавшие? Вы уж, батенька, изъясняйтесь непротиворечиво. :)
Поиск строки в файле можно сделать так:
Открыть оба файла традиционным способом, т.е. через AssignFile().
Завести цикл чтения строк из первого файла в строковую переменную.
Внутри завести второй цикл по чтению строк из втрого файла и каждую строку из него сравнивать со строкой из переменной первого файла.
В случае совпадения(несовпадения - тут уж Вы сами определитесь) строка записывается в мемо (Memo.Lines.Add(Строка)).
Пример в приложении.
Приложение:
var f1, f2: TextFile; {Текстовые файлы} s1, s2: string; {Строки для сравнения} IsFind: boolean; {Признак найденой строки}Begin {Присваиваем файловые переменные именам файлов} AssignFile(f1, ‘file1.txt‘); AssignFile(f2, ‘file2.txt‘); {Открываем первый файл} Reset(f1); While not Eof(f1) do Begin {Читаем строку из первого файла} ReadLn(f1, s1); {Открываем второй файл именно здесь, чтобы файловый указатель сразу был в начале файла} Reset(f2); IsFind:=False; While not Eof(f2) do Begin {Читаем строку из второго файла} ReadLn(f2, s2); {Сравниваем между собой обе строки} If s1=s2 Then Begin IsFind:=True; Break; {Если найдено, дальше не ищем} End; {Записываем найденую строку в мемо} If IsFind Then Memo1.Lines.Add(s1); End; {Закрываем оба файла} CloseFile(f1); CloseFile(f2); End;
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)