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

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

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

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

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

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

в общем есть у меня листбокс. В него приходят значения с Client сокета. Мне нужно сделать так, чтобы программа по нажатии на кнопку находила совпадающие строки. Например, если в 5 и, скажем 100 строчке есть одинаковый текст "254", тогда программа должна выдать сообщение "Найдено совпадение: (значение 5-ой строчки) и (значение 100-ой строчки)"
NiKiToZZ- вне форума Ответить с цитированием
Старый 03.01.2011, 21:21   #2
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

блин люди! на данный момент тему посмотрело 29 человек. ну неужели вам так сложно ответить? Сами вы кроме 5 минут времени ничего не потеряете а я могу потерять очень многое. например уважение. ведь я не для себя пишу а для людей которые сидят и ждут!
NiKiToZZ- вне форума Ответить с цитированием
Старый 03.01.2011, 23:18   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так непонятно же, что именно у Вас не получается?!!

так устроит?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i, j : integer;
begin
  i := ListBox1.Items.Count-1;
  while i>=0 do begin
     j := ListBox1.Items.IndexOf(ListBox1.Items[i]);
     if (j>=0) and (j<i) and (i>=0) then
       ShowMessage('Совпали строчки '+IntToStr(j+1)+' и '+IntToStr(i+1));
     Dec(i);
  end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.01.2011, 10:40   #4
NiKiToZZ-
Пользователь
 
Регистрация: 28.12.2010
Сообщений: 28
По умолчанию

да действительно код работает. но я просил чтобы в сообщение выпадали ЗНАЧЕНИЯ строчек, а не номера самих строчек. Не могли бы вы модернизировать код?
NiKiToZZ- вне форума Ответить с цитированием
Старый 05.01.2011, 10:59   #5
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var i, j : integer;
begin
for i:=0 to Lb.Items.count-2 do
for j:=i+1 to Lb.Items.count-1
if lb.items[i]=lb.items[j] then showmessage(lb.items[i]+' и '+lb.items[j]);
end;
baster128 вне форума Ответить с цитированием
Старый 05.01.2011, 11:03   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
чтобы в сообщение выпадали ЗНАЧЕНИЯ строчек, а не номера самих строчек.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i, j : integer;
begin
  i := ListBox1.Items.Count-1;
  while i>=0 do begin
     j := ListBox1.Items.IndexOf(ListBox1.Items[i]);
     if (j>=0) and (j<i) and (i>=0) then
       ShowMessage('Совпали строчки '+IntToStr(j+1)+' и '+IntToStr(i+1)+' значение строки: '+ListBox1.Items[i]);
     Dec(i);
  end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение сервера ivan_90 Работа с сетью в Delphi 2 04.10.2010 15:30
Проверка недопустимости ввода двух одинаковых слов в ListBox Кибердемон Помощь студентам 4 31.10.2009 14:13
ЗАДАЧА О ДВУХ КОНКУРЕНТАХ НА РЫНКЕ FatLip Фриланс 2 18.05.2009 20:12
обнаружение ошибок makar575 Фриланс 3 18.12.2007 07:56
Задача! (ListBox, Delphi.) Mr.User Помощь студентам 6 16.11.2007 08:39