Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
greek_fire Сообщений: 20 Дата регистрации: 10.11.2009 |
У меня не получилось найти , как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText?
Это можно как бы обойти, что я сделал, но как то не уверен, что это не криво. Ну должно быть у Visual Foxpro соответствующие инструменты Описание проблемы. Есть метод AddProperty, который добавляет объекту новое свойство: Object.AddProperty(cPropertyName [, eNewValue [, nVisibility [, cDescription]]]) Например: Thisform.AddProperty('_b','+',1,'Любой текст. Описание нового свойства,ограничено 255 символами. Например Метка на задвоенные коды') Читаем: s1=Thisform._b && Получаем значение '+' s2= TYPE('Thisform._b') && Получаем значение 'C' Остались два параметра nVisibility и cDescription Как можно воспользоваться уже существующим описанием переменной например для Thisform.Command1.ToolTipText, а не дублировать ? Например условно s4=description а не s4='Любой текст. Описание нового свойства,ограничено 255 символами.Например Метка на задвоенные коды') Соответственно s3=nVisibility ------------------ |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Если верить Help, то эти 2 параметра нельзя использовать в Run-Time. Попробуйте, например, задать nVisibility отличным от 1. Цитата:Насколько я понимаю, Description, который задается для свойства в Design-time, не для чтения в Run-time. Конечно, вы можете его прочитать, открыв файл формы как таблицу - его можно найти в поле Reserved3 в записи, относящейся к объекту, которому вы добавили это свойство (если такой способ не считаете извращением). --------- Но я не понял главное - какая связь между ToolTipText кнопки и добавляемым на форму свойством. Но даже если такая связь зачем-то должна быть, то что мешает задавать всё, что нужно, через значение свойства? Исправлено 2 раз(а). Последнее : akvvohinc, 19.12.22 09:41 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Хотя вот сейчас попробовал - если nVisibility ставить всегда 1, то Description принимается в метод AddProperty.
------ Но в любом случае вы можете в качестве свойства использовать массив, в элементы которого и записывать Value, Visibility и Description (и ещё много чего, если требуется). Тогда, видимо, и получится то, что вам было нужно: Цитата:то есть один раз задали Description в привязке к свойству, а затем пользуетесь, когда требуется. Например: thisform.property1[3] Исправлено 3 раз(а). Последнее : akvvohinc, 19.12.22 10:28 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
greek_fire Сообщений: 20 Дата регистрации: 10.11.2009 |
В любом случае спасибо. Я не увидел пока решение, и вот почему.
"[quote akvvohinc]Хотя вот сейчас попробовал - если nVisibility ставить всегда 1, то Description принимается в метод AddProperty." ------ Description конечно принимается. И что с того, что с ним делать и зачем тогда ввели, непонятно. Я думаю, что есть функция, которая возвращает это значение. В Хелпе и где только мог, не нашел. "Но в любом случае вы можете в качестве свойства использовать массив, в элементы которого и записывать Value, Visibility и Description (и ещё много чего, если требуется)." Вот что получается, создаем переменную методом ThisForm.AddProperty и еще плюс одну переменную да еще не просто переменную, а целый массив для этой же переменной. Я этого делать не буду. Мне интересно одна переменная. "Но я не понял главное - какая связь между ToolTipText кнопки и добавляемым на форму свойством." Ну конечно сервис , для себя, что все переменные подписаны, и для пользователя, при наведении курсора на ThisForm.Text1.ToolTipText, ThisForm.Combo1.ToolTipText, ThisForm.Text1.ToolTipText. Ведь в любом случае в результате выбора значение присваивается переменной. Мен удобно описание этого значение взять как значение Description этой же переменой. По этому спросил, может кто знает. |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Тогда вам придётся искать помощника, который думает так же, и искать вместе. А раз Help вы уже проштудировали, то... не знаю даже, где она может быть зарыта. А вообще странно, что фраза в Help Available only at design-time вас не наводит ни на какие мысли. Меня, например, она убеждает в том, что в Run-time оно (описание) Not Available, иначе зачем это уточнение в Help? Как вы себе это объясняете? Цитата:Методом AddProperty вы создаете не переменную, а свойство. Созданное методом AddProperty свойство в Фоксе представляет собой (может хранить) лишь скалярное значение или массив значений (если я ошибаюсь, то приведите пример свойства иного рода.) А поэтому если вам требуется хранить и значение, и описание, но под одним именем, то вам подойдёт лишь массив. Цитата:Если вам интересны именно "шашечки", а не "ехать", то вы можете сохранить в скалярном свойстве любое количество значений через разделители (или всё-таки сделать свойство-массив). Ну, и написать UDF, которая будет возвращать любое из сохраненных в свойстве значений. --------- Ну, а для любителей экзотики - с VFP 6 появилась возможность в Run-time пользоваться методами свойств WriteExpression() и ReadExpression(). С их помощью можно записать для свойства некоторое выражение, которое вы можете использовать для хранения "описания свойства", например:
Можно сделать и чуть иначе:
При этом метод AddProperty:
|
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Если честно, то яснее не стало. О каких подписанных переменных речь, и при чем здесь пользователь, наводящий курсор на ToolTipText? Всегда полагал, что ToolTipText - текст, появляющийся при наведении на некоторый объект, то есть подсказка. Так вы хотите иметь описание для подсказки, то есть подсказка к подсказке? Если всё же хотите, чтоб я что-то понял, то приведите пример использования описания свойства в своем приложении. Предположим, вы создали свойство, имеющее значение и описание. Что дальше? Как и для каких целей значение и описание будут использоваться? Почему бы просто не создать объект на основе Empty, закинув в него все необходимые вам свойства? Исправлено 1 раз(а). Последнее : akvvohinc, 21.12.22 08:38 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
of63 Сообщений: 25599 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Тоже не понял...
"" Есть метод AddProperty, который добавляет объекту новое свойство: Object.AddProperty(cPropertyName [, eNewValue [, nVisibility [, cDescription]]]) Например: Thisform.AddProperty('_b','+',1,'Любой текст. Описание нового свойства,ограничено 255 символами. Например Метка на задвоенные коды') Читаем: s1=Thisform._b && Получаем значение '+' s2= TYPE('Thisform._b') && Получаем значение 'C' Остались два параметра nVisibility и cDescription Ну, можно прочитать и свойства элемента обьекта "nVisibility и cDescription", в ... как ее... GETPEMSTATUS, но зачем? Как всегда вопрос: спроси то "что надо", а не "правильно ли я делаю это так". Есть наработки, "нарративы" (модное слово, суть оценка своей и чужой оценке предмета). Пока мы не поймем желания (видеоэффекта, или неведомой тонкости храниения инфы в AddProperty, или Фоксового ограничения на Caption в 255 символов, и ок 4кб в ТТТ, вроде), то и мало что сможем сказать |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Всё по-порядку - ты напиши, как прочитать Description свойства, а потом ТС объяснит тебе, зачем ему это нужно. PS cDescription - это не "свойство элемента объекта", а атрибут свойства объекта (относится к Property наряду с его значением). |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
of63 Сообщений: 25599 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Я верю в фокс, и то, что записали в обьект, то можно и считать обратно значение. Это не так, бывает, у хулоруких организаторов ЯП... Если это не так, то я напрягаюсь...
cDescription - сам бы взяд, и разобрался с 4м необязатенльным параметрм AddProp, и нам бы рассказал, ) Исправлено 1 раз(а). Последнее : of63, 22.12.22 22:37 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
of63 Сообщений: 25599 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Конкретизируй Доб, в смысле - можно ли его прочитать,изменнить? Исправлено 1 раз(а). Последнее : of63, 22.12.22 22:46 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Метод Addproperty создает свойство объекта, а не объект, а Description - не является значением этого свойства. Цитата:Тебе виднее - ты же написал, что можно прочитать и свойства элемента обьекта "nVisibility и cDescription" Я лишь хотел узнать, как именно это можно сделать. |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
of63 Сообщений: 25599 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Object.AddProperty(cPropertyName [, eNewValue [, nVisibility [, cDescription]]])
из этого Веря в разрабов фокса (и в их веру в физику), то они должны дать возможность не только записать, но и прочитать, "симметрия" операций, типа...... Как SET PRINTER, и SET("PRINTER", ...) ) Исправлено 1 раз(а). Последнее : of63, 23.12.22 01:03 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Простой и аналогичный (по крайней мере, для nVisibility) пример: LOCAL varnameКоманда создает переменную с Visibility = Local. Она, так же как и свойство, может хранить скалярное значение или массив значений. Какая (обратная) функция дает возможность узнать (прочитать) Visibility этой переменной? И три "сопутствующих" вопроса к разрабам Фокса, в которых ты так веришь: 1) почему при создании Property функцией ADDPROPERTY(), в отличие от метода AddProperty, нет возможности задать Visibility и Description свойства? 2) почему создание Property методом AddProperty, в отличие от функции ADDPROPERTY(), возможно не для всех объектов? 3) почему при создании переменных, в отличие от свойств, создаваемых методом AddProperty, нельзя указать Description? |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
PaulWist Сообщений: 14693 Дата регистрации: 01.04.2004 |
Если понял о чём речь, то Type/VarType ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Нет, Visibility - это Local, Private и Public. Для Property это (из Help): nVisibility Specifies the visibility of the new property. Available for use at design-time, however, a value of 1 can be specified at runtime. nVisibility Visibility 1 Public 2 Protected 3 Hidden Исправлено 1 раз(а). Последнее : akvvohinc, 23.12.22 09:18 |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
PaulWist Сообщений: 14693 Дата регистрации: 01.04.2004 |
Ааа, только list memory приходит в голову.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Как можно воспользоваться описанием переменной для Thisform.Command1.ToolTipText ? | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Ты и Олег натолкнули меня на мысль - проверить функцию AMEMBERS().
И оказалось, что я (искренне) заблуждался (поверил на слово ТС, что он проштудировал Help ) - с её помощью можно получить "Описание свойства", добавленного методом AddProperty! (ну, и тех свойств, что были заданы вручную, конечно, тоже). Так что разрабы Фокса здесь не подкачали - зря я на них катил бочку. Оказалось, что такая функция всё же есть: AMEMBERS(Array, Object, 3) Далее искать по имени свойства и типу, и смотреть элемент Array[*,4] Исправлено 5 раз(а). Последнее : akvvohinc, 23.12.22 11:29 |
© 2000-2024 Fox Club  |