:: Visual Foxpro, Foxpro for DOS
получить значения свойств обьект
dafni_2004
Автор

Сообщений: 86
Дата регистрации: 17.11.2005
добрый день - подскажите как получить свойства обьекта указанные с скрине ?
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
BaseClass объекта какой?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
dafni_2004
Автор

Сообщений: 86
Дата регистрации: 17.11.2005
пока сделал тупо - разобрать по каждому
m.pox=lODoc.values.baWR9sW5TidjHXdWzuW7uS
......
......

имена не я придумал - тащу с quintadb.ru по API



Исправлено 2 раз(а). Последнее : dafni_2004, 29.09.22 16:33
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
sphinx

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Может AMEMBERS() подойдет?

Из справки: "Помещает в массив переменных памяти имена свойств, процедур и объектов-членов заданного объекта."

А массив перебрать в цикле, по индексу.


------------------
"Veni, vidi, vici!"(с)




Исправлено 1 раз(а). Последнее : sphinx, 29.09.22 16:45
Ratings: 0 negative/1 positive
Re: получить значения свойств обьект
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Вот рабочая функция для просмотра переменной и в том числе объектов
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Если буквально (не читая "скрин"), то GETPEM есть
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
of63
Если буквально (не читая "скрин"), то GETPEM есть
Т.е. можешь нормально говорить!
Тогда причем тут "скрин"? GETPEM:
Возвращает текущее значение свойства или кода программы для события или метода во время разработки.
GETPEM(oObjectName | cClassName, cProperty | cEvent | cMethod)



Исправлено 11 раз(а). Последнее : Ydin, 06.10.22 02:00
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Да?, в рантантайме работает, и должен (зачем он в разработке...)
Мне пригодился, сделал для него обертку (да, знаю, вы не любите оберток, но, повторюсь, программирование - это масса оберток)


Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
У меня практически все на обёртках. Как их не любить?
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
krin

Сообщений: 172
Дата регистрации: 08.02.2005
Ydin
GETPEM:
Возвращает текущее значение свойства или кода программы для события или метода во время разработки.
GETPEM(oObjectName | cClassName, cProperty | cEvent | cMethod)

посмотрел хелпы vfp9 и vfp7. действительно, в них:
Returns the current value for a property or program code for an event or method at design time.

почему тогда у меня долгие годы работает код вроде
STORE GETPEM( GETPEM(This, TEXTMERGE('cmd<<m.i>>')), 'Top' ) - m.lnDelta TO (TEXTMERGE('.cmd<<m.i>>.Top')) && смещаю кнопки по высоте, ниже от EditBox

ответ нашёл в Hacker's Guide to Visual FoxPro 7.0, там сказано мягче:
For methods, GetPEM() is equivalent to the ReadMethod method (sounds redundant, doesn't it?). Like ReadMethod, it works only at design-time.

хелпы правы, но понимать нужно:
Returns the current value for a property or program code for an event or method at design time.



Исправлено 1 раз(а). Последнее : krin, 11.10.22 21:51
Ratings: 0 negative/0 positive
Re: получить значения свойств обьект
danton1973

Сообщений: 143
Откуда: Пермь
Дата регистрации: 10.08.2020
как вариант
m.lnTop=5*m.vel_pixel_vert
m.lnWidth=IIF(VARTYPE(THISFORM.CmdWidth)=="U",55,THISFORM.CmdWidth)*m.vel_pixel_gor
m.lnLeft=THISFORM.WIDTH-m.lnWidth-5*m.vel_pixel_vert
IF PEMSTATUS(THISFORM,"cmdSlyde",5) AND THISFORM.cmdSlyde.VISIBLE
THISFORM.cmdSlyde.WIDTH=m.lnWidth
THISFORM.cmdSlyde.LEFT=m.lnLeft
THISFORM.cmdSlyde.TOP=m.lnTop
m.lnTop=THISFORM.cmdSlyde.TOP+THISFORM.cmdSlyde.HEIGHT+5*m.vel_pixel_vert
ENDIF
IF PEMSTATUS(THISFORM,"cmdFind",5) AND THISFORM.cmdFind.VISIBLE
THISFORM.cmdFind.WIDTH=m.lnWidth
THISFORM.cmdFind.LEFT=m.lnLeft
THISFORM.cmdFind.TOP=m.lnTop
m.lnTop=THISFORM.cmdFind.TOP+THISFORM.cmdFind.HEIGHT+5*m.vel_pixel_vert
ENDIF
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика