Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201

Поиск по StringGrid (с возможностью нахождения нескольких значений)

18.05.2013, 17:24. Показов 1714. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код
C++
1
2
3
4
5
6
7
8
9
10
11
              /* ПОИСК  */
  int stolbec, stroka;
     for (int i=0; i<StringGrid1->ColCount; i++)
       if ((stroka=StringGrid1->Cols[i]->IndexOf(Edit1->Text)) >= 0)
         { stolbec = i; break; }
   TGridRect myRect;
     myRect.Left = StringGrid1->FixedCols;
           myRect.Top = stroka;
     myRect.Right = StringGrid1->ColCount;
           myRect.Bottom = stroka;
StringGrid1->Selection = myRect;
как сделать типо далее, допустим он нашел число 10, а при нажатии кнопки далее он ищет дальше число 10
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2013, 17:24
Ответы с готовыми решениями:

Список с возможностью выбора нескольких значений на свободной форме
В общем амба... Всем здравствуйте! Топчусь, как мне кажется на пустяке... Хочется сделать на не присоединенной форме поле со списком...

Хранение значений с возможностью одновременного добавления/изменения с нескольких пользователей
Здравствуйте. Есть такие проблемные списки, как список друзей, закладки на сайте... Способы, которые я рассмотрел (и знаю): ...

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

8
1 / 1 / 2
Регистрация: 29.09.2012
Сообщений: 22
18.05.2013, 22:41
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
AnsiString SE = SearchEdit->Text;
int TR = StringGrid1->TopRow;
for(int i=TR+1;i<StringGrid1->RowCount;i++)  // i = TR+1;
    {
        if(StringGrid1->Cells[0][i].Pos(SE))
            {
            StringGrid1->TopRow = i;
            return;
            }
    }
 
for(int i=1;i<StringGrid1->RowCount;i++)       // i = 1
    {
        if(StringGrid1->Cells[0][i].Pos(SE))
            {
            StringGrid1->TopRow = i;
            return;
            }
    }
У меня так. Конечно не лучший вариант(не найдет если буква с большой или маленькой и т.д.) но работает
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
19.05.2013, 13:59  [ТС]
не помогло)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33414 / 21523 / 8237
Регистрация: 22.10.2011
Сообщений: 36,923
Записей в блоге: 12
19.05.2013, 14:36
Цитата Сообщение от softonet Посмотреть сообщение
а при нажатии кнопки далее он ищет дальше число 10
Сделай так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int stolbec = -1;
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int stroka;
    for (int i=stolbec + 1; i<StringGrid1->ColCount; i++)
        if ((stroka=StringGrid1->Cols[i]->IndexOf(Edit1->Text)) >= 0)
        {
            stolbec = i; break;
        }
    TGridRect myRect;
    myRect.Left = StringGrid1->FixedCols;
    myRect.Top = stroka;
    myRect.Right = StringGrid1->ColCount;
    myRect.Bottom = stroka;
    StringGrid1->Selection = myRect;
}
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
19.05.2013, 16:12  [ТС]
не помогло при повторном нажатии на кнопку дальше не ищет
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33414 / 21523 / 8237
Регистрация: 22.10.2011
Сообщений: 36,923
Записей в блоге: 12
19.05.2013, 16:40
Почему у меня - ищет, а у тебя - нет? Может, переменная stolbec описана не там где нужно? Либо глобально, либо в классе формы надо ее описать.
1
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
19.05.2013, 16:57  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Почему у меня - ищет, а у тебя - нет? Может, переменная stolbec описана не там где нужно? Либо глобально, либо в классе формы надо ее описать.
может быть не там))
вот что выдаёт при повторном нажатии
Миниатюры
Поиск по StringGrid (с возможностью нахождения нескольких значений)  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33414 / 21523 / 8237
Регистрация: 22.10.2011
Сообщений: 36,923
Записей в блоге: 12
19.05.2013, 17:13
Ничего подобного у себя не вижу:



Что-то с твоей стороны приводит к такой ошибке, показывай больше кода, чтобы можно было разобраться.
0
 Аватар для softonet
32 / 32 / 8
Регистрация: 17.04.2011
Сообщений: 201
19.05.2013, 19:02  [ТС]
кнопка поиска
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//---------------------------------------------------------------------------
  int stolbec = -1;
void __fastcall TForm1::Button8Click(TObject *Sender)
{
      /* ПОИСК  */
 
  int stroka;
    for (int i=stolbec + 1; i<StringGrid1->ColCount; i++)
        if ((stroka=StringGrid1->Cols[i]->IndexOf(Edit1->Text)) >= 0)
        {
            stolbec = i; break;
        }
    TGridRect myRect;
    myRect.Left = StringGrid1->FixedCols;
    myRect.Top = stroka;
    myRect.Right = StringGrid1->ColCount;
    myRect.Bottom = stroka;
    StringGrid1->Selection = myRect;
 
LabeledEdit1->Text=StringGrid1->Cells[0][StringGrid1->Row];
LabeledEdit2->Text=StringGrid1->Cells[1][StringGrid1->Row];
LabeledEdit3->Text=StringGrid1->Cells[2][StringGrid1->Row];
LabeledEdit4->Text=StringGrid1->Cells[3][StringGrid1->Row];
LabeledEdit5->Text=StringGrid1->Cells[4][StringGrid1->Row];
LabeledEdit6->Text=StringGrid1->Cells[5][StringGrid1->Row];
 
}
//---------------------------------------------------------------------------
Добавлено через 1 час 43 минуты
up
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2013, 19:02
Помогаю со студенческими работами здесь

Поиск в нескольких StringGrid
Здравствуйте! На форме есть 5 StringGrid и Edit. Во всех StringGrid одинаковое количество столбцов, но разное количество строк. Как...

Поиск нескольких значений
погуглил, но так и не смог найти ответа, посему напишу сюда :) задача такая: на одном листе каждый день вводятся несколько значений...

Поиск нескольких значений
Добрый Всем день. Есть форма c кнопкой.Таблица Т1, поля таблицы-дата,возр,имя.Нужно найти например: дату-сегодня,возр-10,имя-Коля(в...

Поиск совпадающих значений в нескольких массивах
имеется 3 массива например 1. маша,даша,саша. 2. миша,вася,даша. 3. даша, юра, юля. должно вывести даша. мне надо достать...

Поиск и вывод нескольких значений по условию
Добрый день! Необходимо из листа &quot;свод&quot;, в котором вся ДЗ скопировать в отдельный лист &quot;свыше 1 млн&quot; только тех контрагентов и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru