Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / return для балбеса... / 7 сообщений из 7, страница 1 из 1
23.08.2004, 08:55
    #32660553
return для балбеса...
Подскажите балбесу как return вернуть две и более переменных?
...
Рейтинг: 0 / 0
23.08.2004, 09:26
    #32660616
Por
Por
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return для балбеса...
Миша КузнецовПодскажите балбесу как return вернуть две и более переменных?

1. вернуть массив.
2. вернуть объект.
3. передать в функцию параметры по ссылке.
...
Рейтинг: 0 / 0
23.08.2004, 09:52
    #32660657
return для балбеса...
1. вернуть массив.
2. вернуть объект.
3. передать в функцию параметры по ссылке.[/quot]


Все это интересно, особенно последних 2 пункта,

вернуть обьект - это как?

а параметры по ссылке, в смысле, как можно в фоксе ссылки делать?
...
Рейтинг: 0 / 0
23.08.2004, 10:11
    #32660695
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return для балбеса...
А HELP почитать?

Вернуть объект - ты в курсе, что переменная может содержать ссылку на объект?

Как в FoxPro делать ссылки? Это несколько не то, что ты тебе кажется. Почитай HELP по настройке

SET UDFPARMS

Там есть примеры. Все достаточно просто.

И еще, все зависит от того, откуда ты собрался возвращать значения. Т.е. где даешь команду RETURN. В методе объекта (формы) или в функции (процедуре)
...
Рейтинг: 0 / 0
23.08.2004, 10:28
    #32660724
return для балбеса...
ВладимирМА HELP почитать?

Вернуть объект - ты в курсе, что переменная может содержать ссылку на объект?

Как в FoxPro делать ссылки? Это несколько не то, что ты тебе кажется. Почитай HELP по настройке

SET UDFPARMS

Там есть примеры. Все достаточно просто.

И еще, все зависит от того, откуда ты собрался возвращать значения. Т.е. где даешь команду RETURN. В методе объекта (формы) или в функции (процедуре)

из формы хочу вернуть несколько переменных, использую метод unload event
...
Рейтинг: 0 / 0
23.08.2004, 10:44
    #32660746
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return для балбеса...
1) Я так понимаю, что форма у тебя модальная. Тогда изнутри любого метода формы будут видны все переменные типа PRIVATE объявленные в том же методе, где и была вызвана форма.

PRIVATE var1, var2, var3, ...
DO FORM MyModalForm.scx

И в любом методе формы можешь смело обращаться

m.var1=1
m.var2='test'

2) Можно не удалять форму при закрытии, а просто делать ее невидимой, используя метод HIDE(). В этом случае выполнение программы продолжится с места где была создана форма. Но поскольку форма все еще находится в памяти, то можно будет обращаться к ее методам и свойствам:

DO FORM MyModalForm.scx
* Закрытие формы осуществляется как ThisForm.Hide()
IF TYPE("MyModalForm.name")="C"
* Т.е. форма еще не удалена
m.var1 = MyModalForm.prop1
m.var2 = MyModalForm.prop2
MyModalForm.Release()
ENDIF

3) Создаешь глобальные переменные или один глобальный объект с кучей пропертей которые и заполняются в форме.

4) Если вызов формы происходит из другой формы и стоит задача заполнить свойства родительской формы, то можно просто напрямую их заполнять

5) Можно конструировать очень длинную символьную строку, где все нужные значения идет через какой-нибудь разделитель. В FoxPro предельная доина символьной переменной около 16МБ
...
Рейтинг: 0 / 0
23.08.2004, 10:57
    #32660773
return для балбеса...
ВладимирМ1) Я так понимаю, что форма у тебя модальная. Тогда изнутри любого метода формы будут видны все переменные типа PRIVATE объявленные в том же методе, где и была вызвана форма.

PRIVATE var1, var2, var3, ...
DO FORM MyModalForm.scx

И в любом методе формы можешь смело обращаться

m.var1=1
m.var2='test'

2) Можно не удалять форму при закрытии, а просто делать ее невидимой, используя метод HIDE(). В этом случае выполнение программы продолжится с места где была создана форма. Но поскольку форма все еще находится в памяти, то можно будет обращаться к ее методам и свойствам:

DO FORM MyModalForm.scx
* Закрытие формы осуществляется как ThisForm.Hide()
IF TYPE("MyModalForm.name")="C"
* Т.е. форма еще не удалена
m.var1 = MyModalForm.prop1
m.var2 = MyModalForm.prop2
MyModalForm.Release()
ENDIF

3) Создаешь глобальные переменные или один глобальный объект с кучей пропертей которые и заполняются в форме.

4) Если вызов формы происходит из другой формы и стоит задача заполнить свойства родительской формы, то можно просто напрямую их заполнять

5) Можно конструировать очень длинную символьную строку, где все нужные значения идет через какой-нибудь разделитель. В FoxPro предельная доина символьной переменной около 16МБ

из всего перечисленного использую только 5, спасибо за подсказку.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / return для балбеса... / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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