![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Table [D7, Paradox]
Курсант © (2005-09-17 21:39:00)Я делаю так:
try
DBGrid.DataSource.DataSet.Locate('Number', Edit1.Text, []);
except
on EConvertError do
end;
if Edit1.Text = '' then
Table1.First;
end;
Поиск проходит только на первое найденое значение, вопрос: а как его продолжить по нажатию кнопки "найти далее"?
Anatoly Podgoretsky (2005-09-19 22:31:00) [1]1 и 4 сообщения.
Киса (2005-09-19 22:27:00) [2]А можно увидедь алгоритм?
Anatoly Podgoretsky (2005-09-19 18:56:00) [3]Его надо написать, а алгоритм приведен выше. Кстати если нет индекса то Locate работает точно также.
Киса (2005-09-19 18:52:00) [4]
> Anatoly Podgoretsky © (18.09.05 23:46) [10]
А что за класс? откуда его брать?
Киса (2005-09-19 18:40:00) [5]Почему Locate работает отлично, а LocateNext нет?
Курсант (2005-09-19 17:02:00) [6]А это куда добавлять?
Или что с этим делать?
Anatoly Podgoretsky (2005-09-18 23:46:00) [7]function класс.LocateNext(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; virtual;
Курсант (2005-09-18 20:17:00) [8]
> YurikGL © (18.09.05 20:12) [8]
[Error] Unit1.pas(341): Undeclared identifier: 'LocateNext'
Тоже было и у меня :(
YurikGL (2005-09-18 20:12:00) [9]
> Мне не понятно как оформлять. Я не понимаю куда это подставлять
> еслиможно объясните по подробнее с примером
ОнБуттонНайтиПервое
Бегин
Table1.First;
try
DBGrid.DataSource.DataSet.LocateNext('Number', Edit1.Text, []);
except
on EConvertError do
end;
Енд
ОнБуттонНайтиСледующее
Бегин
try
DBGrid.DataSource.DataSet.LocateNext('Number', Edit1.Text, []);
except
on EConvertError do
end;
Енд
Курсант (2005-09-18 20:00:00) [10]Мне не понятно как оформлять. Я не понимаю куда это подставлять еслиможно объясните по подробнее с примером
Anatoly Podgoretsky (2005-09-18 14:53:00) [11]Курсант (18.09.05 14:38) [5]
Как в [4]
Что именно не понятно?
Оформить в виде функции LocateNext
Курсант (2005-09-18 14:38:00) [12]Так а как мне продолжить поиск?
Anatoly Podgoretsky (2005-09-18 13:36:00) [13]На практике, в простой форме выглядит так
while Value <> template then next
YurikGL (2005-09-18 09:58:00) [14]попробуй
Table1.First;
try
DBGrid.DataSource.DataSet.LocateNext('Number', Edit1.Text, []);
except
on EConvertError do
end;
Курсант (2005-09-18 07:48:00) [15]
> Anatoly Podgoretsky © (17.09.05 22:46) [1]
А можете показать на практике?
Anatoly Podgoretsky (2005-09-17 22:46:00) [16]Ты же просил найти, он нашел, нашел. А дельше это уже не поиск а навигация и делается с помошью навигации - метод .Next и проверка на соответствие.
И у тебя немного бессмысленный код, сначала делаешь поиск. а затем проверяешь строку поиска на пустоту, поменяй местами и сравнение типа if then else