Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.14;
Скачать: CL | DM;

Вниз

Последующий поиск   Найти похожие ветки 

 
abhtr   (2006-03-22 09:17) [0]

Как осуществить последующий поиск записей по заданному вначале ключу. Т.е. первую запись нахожу по
tblDBF.Locate(sFindField,sFindValue,[loCaseInsensitive, loPartialKey]);
А как найти следующую запись? После этой.


 
Megabyte ©   (2006-03-22 13:14) [1]

Могу ошибаться(нет возможности проверить), но попробуй tblDBF.findnext


 
sniknik ©   (2006-03-22 13:24) [2]

> но попробуй tblDBF.findnext
если в том что он использует есть findnext..., то использовать его надо после findfirst а не Locate. вообще в справке должно быть по используемому движку.


 
Sergey13 ©   (2006-03-22 13:31) [3]

2abhtr   (22.03.06 09:17)
>А как найти следующую запись?
Универсально  - перебор в цикле со сравнением с эталоном. Работает всегда и везде.


 
vovnuke ©   (2006-03-22 15:00) [4]

А для каких целей? А то ведь можно отфильтровать по этому ключу.


 
abhtr   (2006-03-22 15:12) [5]

Сейчас так и делаю - отфильтровываю. Но при некоторых работах удобнее, чтобы поиск был как в Far-е. Поэтому и хочеться реализовать именно такой способ поиска. С findnext не пробовал. Кстати, кто-нибудь знает, какой алгоритм поиска у locate. Перебором? Или как-то иначе? Без индекса.


 
Sergey13 ©   (2006-03-22 15:16) [6]

2[5] abhtr   (22.03.06 15:12)
>Кстати, кто-нибудь знает, какой алгоритм поиска у locate.
Так любой поиск идет перебором. Важно что и как перебирать. 8-)


 
Lexer ©   (2006-03-22 15:38) [7]

abhtr   (22.03.06 15:12) [5]
>Кстати, кто-нибудь знает, какой алгоритм поиска у locate.


Вот небольшая вырезка из DBTables, здесь можно только догадываться (т.к. нет bde.pas), но помоему накладывается фильтр, и активизируется первая строка, после чего фильтр убирается.

DbiActivateFilter(FHandle, Filter);
Status := DbiGetNextRecord(FHandle, dbiNoLock, Buffer, nil);
DbiDropFilter(FHandle, Filter);
Result := Status = DBIERR_NONE;


 
Виталий Панасенко   (2006-03-22 15:39) [8]

select с нужным условием - и тогда все данные будут те, что нужно



Страницы: 1 вся ветка

Текущий архив: 2006.05.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
15-1145334607
pavel_guzhanov
2006-04-18 08:30
2006.05.14
Появилась новая книга


15-1145311792
pargo
2006-04-18 02:09
2006.05.14
Два компьютера и одна антивирусная программа


2-1145898986
Kolan
2006-04-24 21:16
2006.05.14
Как удалить контрол установленный с исп-ем библиотеки типов?


1-1144004930
TStas
2006-04-02 23:08
2006.05.14
Нельзя ли передать приложению данные не в виде файла, а потоком


15-1145211154
Cincinnut
2006-04-16 22:12
2006.05.14
Ну вот и закончился Чемпионат России по хоккею.