![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Подскажите пожалуйста есть большой файл txt мне нужно сделать так чтобы когда я в edit ввожу фразу из текста В Memo выводила несколько строк из этого файла после этой фразы чтобы напечатоть(((
Последний раз редактировалось rycu44, 21.07.2011 в 22:44. |
|
#2
|
||||
|
||||
|
Исправь орфографические ошибки, и дам рабочий код.
|
|
#3
|
||||
|
||||
|
Перечитал несколько раз, смысла так и не уловил.
|
|
#4
|
|||
|
|||
|
Всё исправил
|
|
#5
|
||||
|
||||
|
Всё равно не догоняю:
Цитата:
|
|
#6
|
|||
|
|||
|
Так будет по понятнее))
|
|
#7
|
||||
|
||||
|
Всё, сдаюсь. Мне эта шифровка не по-зубам.
|
|
#8
|
||||
|
||||
|
Почти всё. Ну да ладно.
Код:
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;Последний раз редактировалось PhoeniX, 21.07.2011 в 22:51. |
|
#9
|
|||
|
|||
|
Спасибо большое))) ну конечно хотелось бы чтобы всего строчек 5 показовало бы(
|