|
 342.5 Кб |
|
| Всем привет!
Скажите, пожалуйста, посредством какого компонента можно реализовать телефонный справочник? Пробовал через StringGrid, но мне надо реализовать такую возможность поиска, при которой таблица прокручивалась бы автоматически на строку, в которой есть соответствие, кроме того эта строка выделялась. Еще надо сделать так, чтобы в зависимости от клика на каком-либо столбце выполнялась сортировка всей таблицы. Я приложил готовый exe программы, на подобии которой надо реализовать справочник.
Среда разработки: Borland C++ Builder 6 | |
|
|
|
|
|
|
|
для: AVS
(22.06.2008 в 17:22)
| | Все это можно сделать на StringGrid! Я уже делал =) | |
|
|
|
|
|
|
|
для: AVS
(22.06.2008 в 17:22)
| | EstringGrid есть свойство Row и Сol;
к примеру у вас 10 строк вам нужно переити к 5 строке путем ввода числа в едит, и 3 колонке
StringGrid1->Row=StrToInt(Edit1->Text);
StringGrid1->Col=3;
|
Вот таким макаром можно перейти к нужным позициям
далее возможность поиска! опять же подразумеваем что есть какоето текстовое поле для ввода начального значения - поиска (пусть будет едит2)!
предположим первая колонка для поиска и там хранятся телефоны
for(int i=1; i<StringGrid1->RowCount; i++)
if(AnsiContainsText(StringGrid1->Cells[1][i], Edit2->Text))
StringGrid1->Row=i;
|
AnsiContainsText Модуль: SysUtils.hpp
по поводу выделения строки
StringGrid1 имеет своисво Options
к примеру разрешить редактирование таблицы можно так
//разрешаем
StringGrid1->Options<<goEditing;
//Запрещаем
StringGrid1->Options>>goEditing;
|
ну и как сделать скролинг на последок
NCol = 1+Random(15);
NRow = Random(4096);
StringGrid1->ScrollBy(0,StringGrid1->Row-NRow);
StringGrid1->Row = NRow;
|
поэксперементируйте с этим кодом !
надеюсь вам помогло выше описанное
если встанет проблема с удалением строки это тоже возможно )) | |
|
|
|