|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
уважаемые отцы фокспро, помогите новичку при инициализации формы мы переходим к первой записи к меня есть 2 кнопки, next и previous кнопка next выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
проблема в следующем: когда мы подходим к последней записи, мы попадаем в нулевую запись, и поле выглядит пустым, что логично. как пропустить эту нулевую запись? кнопка previous выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
проблема в следующем: по ней нужно кликнуть 2 раза, что бы перейти на последнюю запись. поделитесь мыслями как это избежать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 19:01 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
Raddy, ошибка в том, что Вы не анализируете состояние BOF()/EOF() после SKIP ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 19:20 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
c next' ом разобрался а вот с previous' ом все сложно рассуждения таковы: 1) мы находимся на 1ой записи при инициализации формы 2) при клике проверяем: если мы не на первой записи (а мы именно на первой) то переходим к else, go bottom и заполняем текстовое поле данными из последней записи (но при первом клике данные остаются из 1ой записи) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 19:59 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
Анализ надо делать как ДО, так и ПОСЛЕ перемещения указателя записи. Вне зависимости от того, вверх или вниз движетесь Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 20:05 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
ВладимирМ Спасибо огромное С EOF(), все логично Но не могу понять логики BOF() BOF( ) - Определяет, установлен ли указатель записи в начале таблицы. идет же проверка: если мы не на 1ой записи(а мы ведь на первой при инициализации формы), почему сразу не переходит к else: Код: plaintext 1. 2. 3.
подскажите где я ошибаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 20:28 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
ВладимирМ, top и bottom не надо местами поменять? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 20:33 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
RaddyС EOF(), все логично Но не могу понять логики BOF() Проще сделать тестовые примеры Код: plaintext 1. 2. 3. 4. 5. 6.
Т.е. логика работы BOF() точно такая же, что и у EOF(). Эти функции возвращают .T. не тогда, когда указатель записи находится на первой/последней записях, а тогда, когда предпринимается попытка переместить указатель записи за пределы таблицы. Просто при перемещении указателя записи за пределы таблицы "вниз" есть еще дополнительная фиктивная запись. А при перемещении за пределы таблицы "вверх" такой записи нет и указатель просто остается на первой записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2010, 10:19 |
|
помогите исправить баги, при переходе по записям
|
|||
---|---|---|---|
#18+
tanglirВладимирМ, top и bottom не надо местами поменять? Вопрос не ко мне, а к автору темы. Насколько я понимаю, он хочет организовать движение "по кругу". Достигая первой записи - переход к последней и продолжаем движение вверх. Достигая последней записи - перходим к первой и продолжаем движение вниз. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2010, 10:21 |
|
|
start [/forum/topic.php?fid=41&msg=36616075&tid=1585310]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 390ms |
total: | 524ms |
0 / 0 |