![]() |
|
|
![]()
|
|
| Mihas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 10.3.2009 Где: г. Киев, Украина Репутация: нет Всего: нет |
У меня Paradox, BDE.
Мне нужно создать условие: если курсор находится на первой записи, тогда... если курсор находится на последней записи тогда... В таблице есть сортировочное поле, на форме две кнопки "Вверх" и "Вниз", с их помощью я изменяю значения в этом поле и тем самым перемещаю записи. При достижении курсором первой записи, кнопка "Вверх" становится недоступной (UpBtn.Enabled := RecNo <> 1;), а вот с последней записью проблема: DownBtn.Enabled := not Eof; - неработает. DownBtn.Enabled := RecNo <> RecordCount; - не работает. DownBtn.Enabled := RecNo < RecordCount; - не работает. Как быть? |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
DownBtn.Enabled := RecNo = RecordCount;
или DownBtn.Enabled := RecNo = RecordCount-1; -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Mihas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 10.3.2009 Где: г. Киев, Украина Репутация: нет Всего: нет |
Ни то, ни другое - не сработало... |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Mihas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 10.3.2009 Где: г. Киев, Украина Репутация: нет Всего: нет |
||||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
надо понять чему у вас RecNo равно. Если стоит сортировка, то RecNo не будет равно номеру видимой записи. -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Mihas, выкладывай тестовый небольшой (одна таблица, одна форма) проект НЕРАБОЧИЙ.
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Mihas |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 10.3.2009 Где: г. Киев, Украина Репутация: нет Всего: нет |
Я тоже думаю, что проблема именно в этом. Давайте я выложу весь код, имена свои не менял, просто скопировал, но думаю тут понятно:
---------------------------------------------------------------- Prov - таблица ProvPNo - сортировочное индексированное поле DBGridProv - сетка |
||||
|
|||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Может как-то так?
|
|||
|
||||
| Mihas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 10.3.2009 Где: г. Киев, Украина Репутация: нет Всего: нет |
||||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Mihas, а можешь весь проект выложить?
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
С DataSet.EOF я давно уже поимел дело. Проблема была в том, что когда курсор становится на последнюю запись, то EOF всё равно ещё возвращает False. Т.е. последняя запись - это не конец файла. А когда на последней записи я вызывал Next, вот тогда EOF возвращал True.
|
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
c точки зрения нас это баг. с точки зрения разработчиков - это норма:
особенно радует пункт: Call a dataset’s Next method, and the method fails because the current record is already the last row in the dataset. Это сообщение отредактировал(а) pseud - 24.3.2009, 10:15 -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |