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

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

18.05.2013, 17:24. Показов 1679. Ответов 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
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
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
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
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
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru