Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо