Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
ВнизКак определить последняя (первая) ли текущая запись DS ? Найти похожие ветки
← →
MsGuns (2002-09-18 16:19) [0]Не хочется пользоваться табличным методом RecNo, а методы Bof/Eof
срабатыват только когда попытка подняться вверх их первой записи или опуститься вниз за последнюю.
Методы Last и First также не катят, т.к. меняют положение курсора, а надо НЕ МЕНЯЯ положения курсора в датасете просто проверить, является ли данная (текущая) запись датасета первой или последней в курсоре. Что-то ничего у меня самого не получилось. Заранее благодарен за помощь !
← →
MegaBass (2002-09-18 16:27) [1]Если ты открыл датасет то методы Bof/Eof уже инициализированы.
И к тому ты как-то должен же зделать запись текущей.
← →
Mike Kouzmine (2002-09-18 16:37) [2]Так при Bof Eof положение курсора не меняется или я не прав?
← →
Mike Kouzmine (2002-09-18 16:40) [3]В смысле
t.next
if t.eof then - Last record
else t.Prior - No
t.Prior
if t.Bof then First record
else t.Next No
← →
MsGuns (2002-09-18 16:53) [4]Проблема вот в чем. Я написал свой собственный навигатор, который подымает/опускает кнопки в зависимости от текущего состояния датасета. Обработка статуса кнопок делается в одной проце, к которой идет обращение в конце обработчика OnClick каждой клавиши. Так вот, когда юзер жмет на предпоследней записи Down курсор смещается вниз, обработчик Onclick фишки Down, это делает, а потом он обращается к вышеупомянутой проце, которая должна опросить датасет и вкл/выкл эту фишку (Down). Они и проверяет Eof`ом, но ей возвр-ся false, т.о. фишка "Down" не дизаблится и юзер жмет еще раз. Еще раз работает обработчик, курсор при этом никуда не перемещается, но проца выдаст уже true.
Немного сумбурно описал, но это не так то легко сделать.
Короче, идея в том, что для того чтобы кнопка "Down" погасла, надо лишний раз нажать ее или батон Down. Аналогично с потолком датасета.
Суть же трабла в том, чот кнопки вкл/выкл процей, которая НЕ ДОЛЖНА делать никаких перемещений в датасете
← →
Johnmen (2002-09-18 16:56) [5]Только попытавшись сдвинуться далее последней или ближе первой с анализом EOF/BOF ! см. Mike Kouzmine (18.09.02 16:40)
По другому - никак !
← →
Anatoly Podgoretsky (2002-09-18 17:02) [6]DownButton.Enabled := not .eof
UpButton.Enabled := not .bof
← →
Внук (2002-09-18 18:20) [7]Насколько я помню, так и работают стандартные навигаторы - приходится лишний раз на кнопку жать. По-другому вряд ли получится :(
← →
MsGuns (2002-09-18 18:23) [8]Спасибо всем, есть, конечно способ, но он уж оооочень мне не нравится ! (Если кому интересно,-то через параллельный ds)
← →
ЮЮ (2002-09-19 03:31) [9]А если по-ленински: два шага вперёд, один шаг назад? Т.е. при вызове "вниз" сделать попытку переместиться на 2 записи и если не EOF вернуться на одну?
← →
roottim (2002-09-19 08:29) [10]+Mike Kouzmine (18.09.02 16:40)
если отключить перед проверкой контрол, то помоему юзер подвоха и незаметит
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c