|
22.07.2013, 16:11
|
#1
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
функции
Привет всем!
у меня есть тип с методами и функциями:
Type Ololo Extend Trololo
field r
method update()
'тут всякие вычисления, от них зависит
' result будет ложным или правдивым
end method
function CreateOlolo:Ololo(result:boolean)
local o:Ololo = new Ololo
o.r = result
....
return o
end function
end type
как сделать так, чтобы можно было передавать в фу-ю значение, и после обработки функция бы возвращала бы его как: result = true или result = false?
Ololo.CreateOlolo(blablabla:Boolean)
xText(0,0,blablabla) ' должно быть true или false
__________________
Абсолютли!
|
(Offline)
|
|
22.07.2013, 16:15
|
#2
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: функции
int ptr кури
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.07.2013, 17:00
|
#3
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
покурил. Не помогло....
Можно немного подробнее?
__________________
Абсолютли!
|
(Offline)
|
|
22.07.2013, 17:05
|
#4
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: функции
К примеру так можно если таких объектов не много.
Type Ololo Extend Trololo
field r
method update()
'тут всякие вычисления, от них зависит
' result будет ложным или правдивым
end method
function CreateOlolo:Ololo(result:boolean)
local o:Ololo = new Ololo
o.r = result
....
return o
end function
end type
bla = CreateOlolo(blablabla:Boolean)
xText(0,0,bla.r) ' должно быть true или false
Если много, то сделать еще одну проверочную переменную и церез цикл проверять.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.07.2013, 17:20
|
#5
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
Nex, так пробовал... выдает 1, причем с каждым вызовом этой фу-ии, увеличивается на единицу
__________________
Абсолютли!
|
(Offline)
|
|
22.07.2013, 17:24
|
#6
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
только я делал так
bla = CreateOlolo(blablabla:Boolean)
xText(0,0,bla)
А как ты предложил вообще ошибку выдает
__________________
Абсолютли!
|
(Offline)
|
|
22.07.2013, 17:29
|
#7
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: функции
Значит что то не то делаешь.
bla = CreateOlolo(blablabla:Boolean) - содержит номер элемента.
bla.r - получаем доступ в нужному элементу и его параметру.
В функции Update () делай что тебе надо и присваивай полученный результат к переменной "r" типа r = vichislenie. И еще если вычисления не нужно делать постоянно, то можно высчитывать сразу в функции создания.
|
(Offline)
|
|
22.07.2013, 17:43
|
#8
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: функции
А не. Че то у меня тоже не работает хотя должно работать.
|
(Offline)
|
|
22.07.2013, 17:53
|
#9
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
в общем объясню что за фун-я у меня.
Она поочередно выводит название клавиш, если успеваешь нажать на эти клавиши, то мне нужно как-то запустить другу функцию.
__________________
Абсолютли!
|
(Offline)
|
|
23.07.2013, 11:38
|
#10
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
вопрос закрыт, разобрался сам. (сделал через жопу, зато работает)
__________________
Абсолютли!
|
(Offline)
|
|
23.07.2013, 12:10
|
#11
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: функции
стой, стой
Ща, я совсем забыл про твою тему. Сейчас..
Type Ololo
Field r:Byte Ptr
Method update()
'тут всякие вычисления, от них зависит
' result будет ложным или правдивым
Self.r[0] = Rand(0,1)
End Method
Function CreateOlolo:Ololo(result:Byte Ptr)
Local o:Ololo = New Ololo
o.r = result
Return o
End Function
End Type
Local blablabla:Byte
Local o:ololo = Ololo.CreateOlolo(Varptr blablabla)
While True
Print blablabla
o.update()
Delay(1000)
Wend
твои объекты Ololo запоминают указатель на внешнюю переменную, и могут делать с ней чо угодно
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.07.2013, 12:47
|
#12
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: функции
Reizel, благодарствую! попробую и потом отпишусь
__________________
Абсолютли!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:27.
|