Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2008, 20:55   #1
vitawt
Пользователь
 
Регистрация: 20.01.2008
Сообщений: 13
Стрелка Поиск определённого текста в текстовом файле

Есть текстовый файл с определённым текстом. Как прочитать из этого файла в компонент ТМемо только тот текст, который находится между, например словом "привет" и словом "пока" .
Помогите пожалуйсто очень нужно. Пробовал искать в интернете и ничего похожего не нашёл =(
vitawt вне форума Ответить с цитированием
Старый 20.01.2008, 20:58   #2
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

заносишь в переменную text:string текст этот
потом берешь
i:=pos('привет',text);
j:=pos('пока',text);
showmessage(copy(text,i,j);
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 20.01.2008, 21:09   #3
darkstarx
Пользователь
 
Регистрация: 20.01.2008
Сообщений: 24
Подмигивание

Цитата:
Сообщение от vitalik007 Посмотреть сообщение
заносишь в переменную text:string текст этот
потом берешь
i:=pos('привет',text);
j:=pos('пока',text);
showmessage(copy(text,i,j);
только не
showmessage(copy(text,i,j); а
showmessage(copy(text,i,j-i);
darkstarx вне форума Ответить с цитированием
Старый 20.01.2008, 21:32   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Если в файле 1000 строк текста, то длины string-a не хватит, чтобы засунуть в него весь файл. Код будет примерно таким:
Код:
var
  i: integer;
  ind: boolean;
  s: string;
  f: TextFile;
begin
  AssignFile(f,'file.txt');
  try
    reset(f);
  except
    ShowMessage('Файл не найден');
    exit;
  end;
  ind:=false;
  while not eof(f) do
    begin
      readln(f,s);
      i:=pos('привет',s);
      if (i <> 0) and (not ind) then
        begin
          delete(s,1,i+5);
          ind:=true;
        end;
      i:=pos('пока',s);
      if i <> 0 then
        begin
          delete(s,i,Length(s)-i+1);
          Memo1.Lines.Add(s);
          break;
        end;
      if ind then Memo1.Lines.Add(s);
    end;
  CloseFile(f);
end;
Т.е. читаем каждую строку по отдельности и пихаем в Memo то, что между 'привет' и 'пока'.
Пишу в онлайне без проверки, могут быть косяки...
_Dmitry вне форума Ответить с цитированием
Старый 20.01.2008, 22:12   #5
vitawt
Пользователь
 
Регистрация: 20.01.2008
Сообщений: 13
По умолчанию

Спасибо всем большое, вы мне сильно помогли. Это то, что нужно.
vitawt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск символов в текстовом файле. Uomo Общие вопросы Delphi 8 24.10.2007 15:57
Поиск чисел в текстовом файле Homka Паскаль, Turbo Pascal, PascalABC.NET 4 25.06.2007 19:15
Поиск данных в текстовом файле BizON Помощь студентам 1 06.06.2007 18:17