Продолжаем поиск
поиск реализован так:
for (int i=0; i<TreeView1->Items->Count; i++){
if ( TreeView1->Items->Item->Text.SubString(1, Edit2->Text.Length()).UpperCase() == Edit2->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
break;
}}
НО находя первую нужную страницу, дальше не хочет искать(по-ходу из-за брейка)...а как дать проге понять, что при нажатии ещё раз на кнопку искать дальше ту-же комбинацию что задана???
и фокус выделял-бы, то-что нашёл в treeview'e..........
Спасибо за ранее...................................
Цитата:
Originally posted by Jes
Привет всем....подниму тему поиска ещё раз...
поиск реализован так:
for (int i=0; i<TreeView1->Items->Count; i++){
if ( TreeView1->Items->Item->Text.SubString(1, Edit2->Text.Length()).UpperCase() == Edit2->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
break;
}}
НО находя первую нужную страницу, дальше не хочет искать(по-ходу из-за брейка)...а как дать проге понять, что при нажатии ещё раз на кнопку искать дальше ту-же комбинацию что задана???
и фокус выделял-бы, то-что нашёл в treeview'e..........
Спасибо за ранее...................................
Привет всем....подниму тему поиска ещё раз...
поиск реализован так:
for (int i=0; i<TreeView1->Items->Count; i++){
if ( TreeView1->Items->Item->Text.SubString(1, Edit2->Text.Length()).UpperCase() == Edit2->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
break;
}}
НО находя первую нужную страницу, дальше не хочет искать(по-ходу из-за брейка)...а как дать проге понять, что при нажатии ещё раз на кнопку искать дальше ту-же комбинацию что задана???
и фокус выделял-бы, то-что нашёл в treeview'e..........
Спасибо за ранее...................................
Ну во-первых, если надо искать дальше, то зачем вообще break? Может надо продолжать поиск после того как пользователь куда-то нажмет? Тогда надо запомнить i и в следующий раз начать с него.
А на счет выделения - нужно делать ручками
Цитата:
Originally posted by pluton
Ну во-первых, если надо искать дальше, то зачем вообще break? Может надо продолжать поиск после того как пользователь куда-то нажмет? Тогда надо запомнить i и в следующий раз начать с него.
Ну во-первых, если надо искать дальше, то зачем вообще break? Может надо продолжать поиск после того как пользователь куда-то нажмет? Тогда надо запомнить i и в следующий раз начать с него.
пользователь тыкнул на поиск нашёл что-то, второй раз тыкнул - нашёл тот-же текст только дальше...и т.д.
приведи или алгоритм или часть кода...
Цитата:
Originally posted by SEDEGOFF
А на счет выделения - нужно делать ручками
А на счет выделения - нужно делать ручками
А что фокус в Билдере уже забыт??????
Цитата:
Originally posted by Jes
пользователь тыкнул на поиск нашёл что-то, второй раз тыкнул - нашёл тот-же текст только дальше...и т.д.
приведи или алгоритм или часть кода...
пользователь тыкнул на поиск нашёл что-то, второй раз тыкнул - нашёл тот-же текст только дальше...и т.д.
приведи или алгоритм или часть кода...
Можно и так
//например, при создании формы
int j=0;
//при поиске
for (int i=j+1; i<TreeView1->Items->Count; i++){
if ( TreeView1->Items->Item->Text.SubString(1, Edit2->Text.Length()).UpperCase() == Edit2->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
j=i;
break;
}}
Цитата:
Originally posted by pluton
Можно и так
Можно и так
//например, при создании формы
int j=0;
//при поиске
for (int i=j+1; i<TreeView1->Items->Count; i++){
if ( TreeView1->Items->Item->Text.SubString(1, Edit2->Text.Length()).UpperCase() == Edit2->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
j=i;
break;
}}
Спасибо брат, помог нормально......:)
Закрываю тему.......