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