Показать сообщение отдельно
  #8  
Старый 21.07.2011, 22:49
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Почти всё. Ну да ладно.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  stream: TFileStream;
  text, buf: string;
  pos1: int64;
begin
  text := Edit1.Text;
  stream := TFileStream.Create('C:/file.txt',fmOpenRead);
  pos1 := -1;
  stream.Seek(0, soFromBeginning);
  SetLength(buf, Length(text));
  while stream.Position < stream.Size do begin
    stream.Read(buf[1], Length(text));
    if pos(text, buf)>0 then begin
      pos1 := stream.Position - Length(text);
      break;
    end;
    stream.Seek(1 - Length(text), soFromCurrent);
  end;

  if pos1 > -1 then begin
    SetLength(buf, stream.Size - pos1);
    stream.Seek(pos1, soFromBeginning);
    stream.Read(buf[1], stream.Size - pos1);
    Memo1.Text := buf;
    stream.Free;
  end;
end;
Код выведет всё с первого вхождения строки в файле до конца файла. Если нужно меньше - думай, как обрезать. Направление я дал.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием