1. Запустите утилиту Database Desktop (DBD
2. Создайте таблицу Country_r со следующими полями: Name, Capital (столица), Kontinent(континент). Для поля Name установите свойства key (+). Это будет первичным индексом. Проиндексируйте по полю Kontinent. Для этого в списке Table properties выберите Secondary Indexes нажмите кнопку Define и установите индекс по нужному полю. Индекс сохраните. Введите данные на русском языке.Закройте таблицу.
3. Откройте новое приложение. Поместите на форму компоненты TTable, TDataSource, TDBrid. Свяжите компонент TTable c таблицей Country_r. Определите все остальные свойства так, чтобы в сетке появились записи.
4. Поместите на форме в верней части панель, задайте ее свойству Align значение alTop, а для объекта TDBGrid установите в свойстве Align значение alClient.
5. На панель поместите компонент TEdit и создайте для него событие OnChange со следующим программным кодом:
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
Table1->FindNearest(OPENARRAY(TVarRec,(Edit1->Text)));
}
Если нецелесообразно осуществлять поиск по основному индексу файла, можно воспользоваться вторичным индексом и задать имя используемого индекса в качестве свойства IndexName текущей таблицы. Старый индекс можно сохранить во временной переменой, например:
void TDMod::Country_rSearch(AnsiString S)
{
AnsiString Temp(tblCountry_r->IndexName->IndexName);
tblCountry_r->IndexName=”Имя_втор_индекса”;
tblCountry_r->FindNearest(OPENARRAY)TVarRec, (S)));
tblCountry_r->IndexName=Temp;
}
6. Запустите программу. В процессе ввода значения в элементе управления Edit1 автоматически выполняется пошаговый поиск.