Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-31684
grifon
2002-09-30 15:36
2002.10.10
Ord


4-32068
Wild Sam
2002-08-23 12:28
2002.10.10
Как правильно сделать свою форму Parent ом для другого приложе-


3-31620
KIR
2002-09-18 11:03
2002.10.10
Снова о Paradox vs IB


1-31872
yur78
2002-09-28 20:40
2002.10.10
Как программно прокрутить StringGrid


3-31671
Krez
2002-09-18 15:08
2002.10.10
Ячейка в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский