![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 26
|
![]()
Уважаемые программисты!
В Memo есть строка, которая встречается один раз, все остальные строчки повторяются. Необходимо найти эту одну строку (или иначе - исключить все повторяющиеся). Код сравнивает первую строчку с остальными, и повторяющиеся заменяет пустой строкой. Первая строчка остаётся. Как продолжить сравнение, т.е. вторая строчка с остальными и т.д., и при этом что бы удалялась оригинальная (первая и т.д. - с которой идёт сравнение) строка? Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а скажите, важен ли порядок строк?
если использовать метод Memo1.Lines.Sort, то тогда достаточно будет одного прохода, чтобы найти нужную строчку... а Вашем случае надо делать цикл в цикле (i := x +1; затем цикл по i) и прерывать, если текущую строчку не нашли... |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 26
|
![]()
Порядок не важен. А что это за метод Memo1.Lines.Sort?
|
![]() |
![]() |
![]() |
#4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Метода Sort нету у TStrings, он есть только у TStringlist.
Можно конечно измудриться и написать так: Код:
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
russian-stalker, примерно так. правда, я бы не удалял найденные строки, а выходил сразу, как только какая-то строчка не нашлась (ведь нужно найти одну уникальную строчку).
Вот только зачем же строки переносить в цикле?!?!!!! Код:
|
![]() |
![]() |
![]() |
#6 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Ага, не подумал. Спасибо что исправили.
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 26
|
![]()
Serge_Bliznykov и russian-stalker, спасибо!
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 16.02.2010
Сообщений: 316
|
![]()
вот еще как вариант
Код:
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Google2010, ну, если как вариант...
![]() тогда можно чуть оптимизировать: Код:
p.s. >>showmessage(memo1.Lines[i]); и, кстати, использование переменных цикла (for) ВНЕ цикла небезопасно... лучше использовать дополнительную переменную или заменить цикл for на другой цикл. |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 16.02.2010
Сообщений: 316
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в MEMO | dimafe6 | Общие вопросы Delphi | 9 | 09.02.2010 22:03 |
memo поиск и перенос строки | andrey poki | Общие вопросы Delphi | 4 | 22.03.2009 06:54 |
access+delphi поиск по словам в поле memo | gvozdkoff | БД в Delphi | 2 | 25.02.2009 07:13 |
Поиск по Memo | photozaz | Общие вопросы Delphi | 5 | 25.05.2008 17:55 |
Поиск в Memo | Terran | Общие вопросы Delphi | 4 | 07.05.2008 23:33 |