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


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

Правда, под "изменением" понимается любое изменение. В том числе и замена на то же самое значение.
...
Рейтинг: 0 / 0
04.03.2011, 20:22
    #37149875
Telum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать изменился ли курсор перед закрытием?
Спасибо, буду пробовать. Как всегда приклоняю голову перед Вашими знаниями Владимир.
...
Рейтинг: 0 / 0
05.03.2011, 06:33
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать изменился ли курсор перед закрытием? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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