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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2009, 03:51   #1
andrey poki
 
Регистрация: 17.03.2009
Сообщений: 4
По умолчанию memo поиск и перенос строки

Доброго времение суток, ребята подскажите такую пустековую штуку, но что там сам додуматься не могу, если такое уже было, извини сразу, но я ненашел... что мне нужно.

есть мемо1 в нем текст, мне нужно найти в нем все слова error и скопировать все строки где есть слова error в мемо2.

я все не могу условие правильно подобрать.

вот что я надумал, но что то не получается.

Код:
procedure TForm1.Button4Click(Sender: TObject);
begin

for c:=0 to i do
if memo1.Lines[c]='error' then
begin
memo2.Lines.Add(memo1.Lines[c]);
end;
c:=c+1;
end;
Заранее благодарю!

Последний раз редактировалось Stilet; 17.03.2009 в 08:13.
andrey poki вне форума Ответить с цитированием
Старый 17.03.2009, 07:30   #2
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

В вашем случае условие будет выполнятся только если строка состоит из одного слова error. Вхождение подстроки в строку можно определить при помощи функции Pos.

Правильно будет такое условие:

Код:
if Pos(memo1.Lines[c],'error')>0 then ..
.

а еще правильнее:

Код:
if Pos(LowerCase(memo1.Lines[c]),'error')>0 then ...
тогда условие будет выполняться даже если слово error написано в разных регистрах.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 17.03.2009, 07:47   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Вот держи в дополнение к сказанному :
Вложения
Тип файла: rar Memos.rar (6.3 Кб, 101 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 22.03.2009, 06:54   #4
andrey poki
 
Регистрация: 17.03.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Kotofff Посмотреть сообщение
Вот держи в дополнение к сказанному :
огромное спасибо, очень грамотно получилось!
andrey poki вне форума Ответить с цитированием
Старый 22.03.2009, 06:54   #5
andrey poki
 
Регистрация: 17.03.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
В вашем случае условие будет выполнятся только если строка состоит из одного слова error. Вхождение подстроки в строку можно определить при помощи функции Pos.

Правильно будет такое условие:

Код:
if Pos(memo1.Lines[c],'error')>0 then ..
.

а еще правильнее:

Код:
if Pos(LowerCase(memo1.Lines[c]),'error')>0 then ...
тогда условие будет выполняться даже если слово error написано в разных регистрах.
Спасибо, Вам!
andrey poki вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос строки boostman Общие вопросы Delphi 2 08.08.2008 18:12
Поиск по Memo photozaz Общие вопросы Delphi 5 25.05.2008 17:55
Поиск в Memo Terran Общие вопросы Delphi 4 07.05.2008 23:33
Удаление конкретной строки Memo JakSon Общие вопросы Delphi 6 03.03.2008 09:35
Поиск в поле Memo omi БД в Delphi 6 01.03.2007 18:39