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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2013, 21:53   #1
Nemesis9
 
Регистрация: 13.11.2013
Сообщений: 5
По умолчанию Поиск по StringGrid

Есть таблица (StringGrid).

Задача: при поиске "Текст N" выводить последнее непустое "Значение N", скажем, в Memo. Например поиск "Текст 5" должен вывести результаты "Значение 1" и "Значение 2". Или поиск "Текст 9" должен выводить результат "Значение 3".
Если совпадений по каким либо значениям на найдено вывести эти значения в другое поле Memo.
Сделал через дописывание пустых ячеек последней непустой ячейкой и при совпадении копировал соответсвующее значение слева, но таблица большая, долго обрабатывается.
Просьба помочь разобраться.Заранее благодарю.
Nemesis9 вне форума Ответить с цитированием
Старый 13.11.2013, 23:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
with StringGrid do begin
 i:=Cols[2].IndexOf('Текст 5');
 if i>0 then 
  while (i<0)and(Cols[1][i]='') do dec(i);
 ...:=Cols[1][i];
end;
Это если я тебя правильно понял.
Или наверно лучше так:
Код:
var zak:string;
...
with StringGrid do begin
 for i:=0 to RowCount-1 do begin
  if Cells[1,i]<>'' then zak:=Cells[1,i];
  if Cells[2,i]='Текст 5' then выводим zak;
 end;
I'm learning to live...

Последний раз редактировалось Stilet; 13.11.2013 в 23:43.
Stilet вне форума Ответить с цитированием
Старый 14.11.2013, 07:26   #3
Nemesis9
 
Регистрация: 13.11.2013
Сообщений: 5
По умолчанию

Спасибо, все работает, по сравнению с моими конструкциями очень информативно и продуктивно)
Nemesis9 вне форума Ответить с цитированием
Старый 14.11.2013, 14:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пользуйся наздоровье )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2013, 14:11   #5
Nemesis9
 
Регистрация: 13.11.2013
Сообщений: 5
По умолчанию

А теперь не получается проверить на несовпадение с Edit1 для выводы в другое Memo значений, у которых нет "Текст N". Если вычитать из всех "Значений" значения которые соответствуют условию обрабатывать большую таблицу будет долго(
Nemesis9 вне форума Ответить с цитированием
Старый 15.11.2013, 14:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чет я ниче не поянл )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2013, 16:16   #7
Nemesis9
 
Регистрация: 13.11.2013
Сообщений: 5
По умолчанию

Все, разрешилась задача)) спасибо)
Nemesis9 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в Stringgrid Putin-mode Общие вопросы Delphi 2 17.01.2013 23:17
Поиск по БД в StringGrid Anny_Apple БД в Delphi 12 27.05.2011 00:14
поиск в StringGrid ... Kos123 Помощь студентам 0 18.04.2010 08:51
поиск в stringgrid Dimati87 Общие вопросы Delphi 6 17.07.2009 07:44
Поиск по StringGrid'у monushka Помощь студентам 3 09.02.2008 20:03