Поиск в базе данных Paradox
Добавлено: 03 ноя 2006, 18:04
Имеется база данных в формате Paradox.
База данных представляет собой нечто вроде словарика - в первой колонке перечень слов, во второй - описания.
На форме (работа ведется в Delphi 7) это представлено следующим образом - первая колонка представляется через компонент DBGrid, вторая- через DBMemo. Выбирая слово в первой колонке, видим его описание во второй.
Необходимо организовать поиск по этой базе данных.
Уже написала такой кусок:
Правда, таким образом ведется поиск только в текущей записи, и обнаруживается только первое вхождение искомого слова.
Как сделать так, чтобы при поиске просматривались все записи таблицы? Я подумала, что это можно организовать с помощью цикла for i:=.. to .. do , а в качестве параметра должен выступать номер строки таблицы. Это возможно? как это провернуть? Использовать какую-нибудь функцию, которая выдаст количество строк в таблице? Или как?
И как сделать так, чтобы обнаруживалось не только первое вхождение слова, но и последующие?
База данных представляет собой нечто вроде словарика - в первой колонке перечень слов, во второй - описания.
На форме (работа ведется в Delphi 7) это представлено следующим образом - первая колонка представляется через компонент DBGrid, вторая- через DBMemo. Выбирая слово в первой колонке, видим его описание во второй.
Необходимо организовать поиск по этой базе данных.
Уже написала такой кусок:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
x: string;
s: string;
begin
x:=Edit1.Text;
s:=DBMemo1.Text;
begin
Edit1.SetFocus;
If pos (x, s)=0 then
Beep
else
begin //выделение найденного слова
DBMemo1.SelStart:=pos(x,s)-1;
DBMemo1.SelLength:=length(x);
end
end;
end;
Как сделать так, чтобы при поиске просматривались все записи таблицы? Я подумала, что это можно организовать с помощью цикла for i:=.. to .. do , а в качестве параметра должен выступать номер строки таблицы. Это возможно? как это провернуть? Использовать какую-нибудь функцию, которая выдаст количество строк в таблице? Или как?
И как сделать так, чтобы обнаруживалось не только первое вхождение слова, но и последующие?