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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 12:59   #1
Asblue
Пользователь
 
Аватар для Asblue
 
Регистрация: 21.10.2010
Сообщений: 78
Восклицание Поиск по тексту в Memo

Здравствуйте!
Вот есть две формы. В Form1 в Memo загружаем текстовый файл, нажимаем на кнопку и открывается Form2.
При нажатии на кнопку в Form2 осуществляется поиск по тексту, загруженному в Form1.Memo1 и выводится в Form2.Memo1.
Безимени-3.jpg
В общем, нужно, чтоб выводились все строки после 'Comments:', но у меня в коду выводится только та строка, которая находится в той же строке, что и 'Comments:'.
Помогите пожалуйста исправить, буду очень благодарна! ^___^
Код:
procedure TForm2.Button2Click(Sender: TObject);
var i:integer;
    s:string;
begin
for i:=0 to Form1.Memo1.Lines.Count-1 do
if Pos('Comments:', Form1.Memo1.Lines.Strings[i])<>0 then
begin
s:=Form1.Memo1.Lines.Strings[i];
delete(s,1,pos(' ',s));
Memo1.Lines.Add(s);
end;
end;
Asblue вне форума Ответить с цитированием
Старый 28.11.2010, 13:15   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Могу посоветовать добавить boolean индикатор , сперва он false , но когда ты нашел нужную строку , то меняй его на true .

Индикатор добавь вот в этот if с условием или || :
Код:
if Pos('Comments:', Form1.Memo1.Lines.Strings[i])<>0 then
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 28.11.2010, 13:17   #3
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Попробуй так:

Код:
procedure TForm2.Button2Click(Sender: TObject);
var i:integer;
    s:string;
    B:Boolean;
begin
b:=false;
for i:=0 to Form1.Memo1.Lines.Count-1 do
if (Pos('Comments:', Form1.Memo1.Lines.Strings[i])<>0) or (B=true) then
begin
s:=Form1.Memo1.Lines.Strings[i];
if b=false then Begin
                       delete(s,1,pos(' ',s));
                       B:=true;
                    end;
Memo1.Lines.Add(s);
end;
end;
Ybn2 вне форума Ответить с цитированием
Старый 28.11.2010, 13:21   #4
Asblue
Пользователь
 
Аватар для Asblue
 
Регистрация: 21.10.2010
Сообщений: 78
По умолчанию

Ага, получилось )))) СПАСИБО ВАМ ОГРОМНОЕ!!! ))))))))))))))
Asblue вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск по тексту Cmon Помощь студентам 2 16.07.2010 03:08
поиск в Memo Yokka Общие вопросы C/C++ 1 24.05.2010 16:50
Поиск в MEMO dimafe6 Общие вопросы Delphi 9 09.02.2010 22:03
Поиск по тексту khofa Общие вопросы Delphi 6 08.02.2010 11:18
Присваивание тексту Memo значения из TStringList Alex Cones Общие вопросы Delphi 10 14.08.2009 21:07