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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2010, 12:23   #1
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию Задача на дельфи о совпадении строк в двух Memo

Есть 2 memo. Нужно поставить условие, что если значения двух строк в memo1 и memo2 совпадают то показать сообщение Найдено совпадение: (первая строчка с совпадением) и (вторая строчка с совпадением).
Тоесть программа должна определять совпадение значений. Смотрите скрин.


Напишите пожалуйста код если несложно.
NiKiToZZ- вне форума Ответить с цитированием
Старый 30.12.2010, 12:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if Memo2.Lines.IndexОf(Memо1.Lines[Номерстроки])<>-1 then есть такое во втором
Ферштейн?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 12:29   #3
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

Не совсем ферштейн. Растолкуйте пожалуйста поподробней

Добавляю:
А можно ли как то это множествами оформить?

Последний раз редактировалось NiKiToZZ-; 30.12.2010 в 12:33.
NiKiToZZ- вне форума Ответить с цитированием
Старый 30.12.2010, 12:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Растолкуйте пожалуйста поподробней
Метод IndexОf совершает поиск переданной ему строки в Мемо, к которому он относится. Ты передаешь ему строку из первого Мемо, и он ищет ее у себя.
Если найдет вернет номер строки, иначе -1
Цитата:
А можно ли как то это множествами оформить?
Нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 12:48   #5
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Кидаеш на форму button и перед begin пишешь
Код:
var i:integer;
а после него (begin)
Код:
for i:=0 to memo1.Lines.Count-1 do
if memo2.Lines.IndexOf(memo1.Lines[i])<>-1 then showmessage('Найдено совподение '+memo1.Lines[i]+' и '+memo1.Lines[i]);
вот что должно получится

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to memo1.Lines.Count-1 do
if memo2.Lines.IndexOf(memo1.Lines[i])<>-1 then showmessage('Найдено совподение '+memo1.Lines[i]+' и '+memo1.Lines[i])
end;
Я тебе помог, добавь отзыв)))))
Статьи по программированию

Последний раз редактировалось MoBLer; 30.12.2010 в 13:29.
MoBLer вне форума Ответить с цитированием
Старый 30.12.2010, 15:02   #6
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

Спасибо большое, очень выручили. Воспользовался методом MoBLer'a за что ему отдельное, БОЛЬШОЕ спасибо)
Уважаемый Stilet, увы, в вашем методе я так и не разобрался. Видимо мне до вашего понимания Delphi еще очень далеко)
Ах да! Тему можно закрывать
NiKiToZZ- вне форума Ответить с цитированием
Старый 30.12.2010, 15:10   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Чем же метод Stilet отличается от метода MoBLer? Все абсолютно одинаковое. Только MoBLer скинул тебе код вместе с процедурой обработчика, которая воссоздается при двойном клике по кнопке, и написал строчку цикла...
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 30.12.2010 в 15:13.
MyLastHit вне форума Ответить с цитированием
Старый 30.12.2010, 15:24   #8
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

Уважаемый MyLastHit, я очень плохо ориентируюсь в переменных и циклах for to do, точнее, я в циклах вообще не разбираюсь. Так что для меня это в новинку, и нехватка одной строчки в предложенном мне коде от Stilet для меня означает что коды предложенные stilet'om и mobler'om для меня разные
NiKiToZZ- вне форума Ответить с цитированием
Старый 30.12.2010, 16:19   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я очень плохо ориентируюсь в переменных и циклах
В таком случае рекомендую потратить время и почитать основы. Это не флуд.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 16:25   #10
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

Спасибо, учту. Тему можно закрыть)
NiKiToZZ- вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнить содержимое двух Memo. santaIsAbsent Общие вопросы Delphi 1 17.08.2010 11:33
Пересечение двух строк DarkMage Общие вопросы C/C++ 5 18.04.2010 18:27
сравнение двух строк aza_kaz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 01.01.2010 23:40
Memo - кол-во строк. Лубышев Компоненты Delphi 1 17.05.2008 22:54
Синхронная прокрутка двух Memo Dimmitt Компоненты Delphi 1 21.10.2007 17:57