Главная страница
    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.025 c
1-31764
Hammer1
2002-10-01 09:08
2002.10.10
DELPHI и VB


14-31940
Tihas
2002-09-13 18:21
2002.10.10
Прошу ответов и мнения....


4-32077
Alexw
2002-08-22 12:50
2002.10.10
Помогите TAPI!!!


4-32103
Zakhs
2002-08-28 16:03
2002.10.10
API для роботы с Html help


4-32069
40in
2002-08-25 00:30
2002.10.10
Круглая форма





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский