C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Поиск по StringGrid'у
Oper01
Отправлено: 23.01.2004, 23:23


Станционный диспетчер

Группа: Участник
Сообщений: 145



Как бы сделать так, чтобы поиск по StringGrid'у осуществлялся следующим образом: задаю искомую комбинацию букв нажимаю кнопку искать, находим строку, удовлетворяющую условию, потом опять нажимаю кнопку поиска, поиск продолжается с этой позиции и далее, если находим, опять нажимаю на поиск — он продолжается и т.д.
Т.е. также, как работает поиск во всех редакторах.
Саму процедуру поиска искомой комбинации букв сделал, а вот не получается его применить вышеизложенным образом.
Nick
Отправлено: 24.01.2004, 15:23


Машинист паровоза

Группа: Участник
Сообщений: 247



Объяви переменную
int StartFindRow = 0;


for (int i=StartFindRow; i < maxRow; i++)
{
поиск
}

При следующем поиске если параметры поиска изменились
StartFindRow = 0; иначе поиск дальше StartFindRow++;

можно while


Oper01
Отправлено: 24.01.2004, 23:34


Станционный диспетчер

Группа: Участник
Сообщений: 145



Но в таком варианте будут пропущены промежуточные строки, т.е. будет найдена только последняя строка удовлетворяющая условию, а которые были до неё, даже если подходили по формату поиска пролетят, т.к. цикл от строки номер 0 до последней.
Или может быть я не воспринял эту идею, если я не прав, поправьте. Совсем замучался с этим поиском.
Nick
Отправлено: 25.01.2004, 13:26


Машинист паровоза

Группа: Участник
Сообщений: 247




for (int i=StartFindRow; i < maxRow; i++)
{
if (поиск == true) break; // if (поиск) break;
}

или

int i = StartFindRow;
while (!поиск && i < maxRow) i++;

Вернуться в Вопросы программирования в C++Builder