powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать изменился ли курсор перед закрытием?
4 сообщений из 4, страница 1 из 1
Как узнать изменился ли курсор перед закрытием?
    #37149832
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошелся по поиску не нашел ничего путного на эту тему. Суть проблемы:
1. Пользователь открыл форму с гридом привязанную к курсору.
2. Пользователь не внес никаких изменений и закрывает форму.
3. Хочется что бы программа сама определила (в идеале даже узнала какие именно строки были изменены) изменялись ли данные или нет.
P.S. Не раз поднималась тема по сравнению 2-ух курсоров, а если в курсоре 100 полей (в основном ИД) есть варианты. Заранее благодарен.


---telum---
...
Рейтинг: 0 / 0
Как узнать изменился ли курсор перед закрытием?
    #37149863
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наложите табличную буферизацию на курсор. Тогда функция GETNEXTMODIFIED() вернет номер измененной записи. Если, изменений не было, то вернет 0. Если необходима, то при помощи функции GetFldState() можно уточнить, какие именно поля в конкретной записи были изменены.

Правда, под "изменением" понимается любое изменение. В том числе и замена на то же самое значение.
...
Рейтинг: 0 / 0
Как узнать изменился ли курсор перед закрытием?
    #37149875
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, буду пробовать. Как всегда приклоняю голову перед Вашими знаниями Владимир.
...
Рейтинг: 0 / 0
Как узнать изменился ли курсор перед закрытием?
    #37150229
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если меняется немного полей, то можно их продублировать, а при выходе сравнить.
Допустим cVal редактируемое поле:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
* Создаем курсор
select nId, cVal, cVal as cValOld from ... into cursor tedit readwrite
...
* Проверяем при выходе
sele tedit
scan for cVal != cValOld
   ...
endscan
use in tedit
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать изменился ли курсор перед закрытием?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]