|
12.04.2008, 23:42
|
#1
|
Разработчик
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений (для 95 пользователей)
|
Ptr и Var : как работает ?
Ptr и Var : для чего нужны и как работают ?
|
(Offline)
|
|
12.04.2008, 23:45
|
#2
|
|
Ответ: Ptr и Var : как работает ?
указатели на переменные
к примеру чтобы можно внутри функции изменить аргумент который в неё подается
|
|
|
Сообщение было полезно следующим пользователям:
|
|
13.04.2008, 00:21
|
#3
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: Ptr и Var : как работает ?
ptr - *, var - &(byref param), varptr-&(get address)
Последний раз редактировалось dimanche13, 13.04.2008 в 19:13.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо dimanche13 за это полезное сообщение:
|
|
13.04.2008, 01:13
|
#4
|
Разработчик
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений (для 95 пользователей)
|
Ответ: Ptr и Var : как работает ?
А как ими пользоваться ?
|
(Offline)
|
|
13.04.2008, 14:58
|
#5
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Ответ: Ptr и Var : как работает ?
псевдо код
function Set(var В:Integer)
{
B=5
}
//гдетто при вызове
A:integer
Set(A)
результат
A=5
есля я правельно все написал
то это пример что ты можешь в функцию засунуть свою переменныю
и в функции ее изменить
очень удобно
ПС бмакс совсем не знаю)
написал примерно))
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Horror за это полезное сообщение:
|
|
14.04.2008, 18:19
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ptr и Var : как работает ?
Horror, почти прально написал (синтаксис не тот только), но суть именно та.
var - передаёт не значение переменной, а сам указатель на переменную, это почти также как заглобалить переменную и юзать не передовая, только - это не корректный подход будет При этом порой и не подходящий вовсе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.04.2008, 18:22
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Ptr и Var : как работает ?
Horror очень здорово написал. это истинный псевдокод - семесь Си, паскаля и бейсика.
+1 как говорится.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.04.2008, 22:49
|
#8
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: Ptr и Var : как работает ?
Да, за такой псевдокод и +100 не жалко
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.04.2008, 00:35
|
#9
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Ответ: Ptr и Var : как работает ?
пасибо!
Ну главное чтоб понятно было))
надеюс автор понял))
я то в бмаксе не шарю))
|
(Offline)
|
|
30.04.2008, 12:28
|
#10
|
Разработчик
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений (для 95 пользователей)
|
Ответ: Ptr и Var : как работает ?
А как пользоваться Ptr
*Можно-ли перевести Byte Ptr в Short Ptr
|
(Offline)
|
|
30.04.2008, 12:56
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ptr и Var : как работает ?
drunnik, Ptr - это массив.
К примеру: Byte Ptr - это массив байтов.
К примеру в Xors'е есть функция: xEntityName(Entity%), она возвращает массив байтов, я делаю так:
Function BPtoString$(tByte:Byte Ptr)
Local tName$
For Local i%=0 to 256
If tByte[i]=Null Return tName
tName:+Chr(tByte[i])
Next
End Function
Local EntityName$=BPtoString(xEntityName(Entity))
|
(Offline)
|
|
30.04.2008, 13:02
|
#12
|
Разработчик
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений (для 95 пользователей)
|
Ответ: Ptr и Var : как работает ?
*Можно-ли перевести Byte Ptr в Short Ptr
|
Просто
Byte Ptr ( variable : Short Ptr )
не работает
|
(Offline)
|
|
30.04.2008, 16:07
|
#13
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ptr и Var : как работает ?
drunnik, не понял что ты такое прописал
Объясни что дано и что хочешь получить.
|
(Offline)
|
|
30.04.2008, 16:52
|
#14
|
Знающий
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений (для 21 пользователей)
|
Ответ: Ptr и Var : как работает ?
Здраствуйте, пишу потому уже два часа не могу одну проблему решить, гы стыд мне!
Как мне в филдах создать переменную указатель? Скажем для GUI, при создании кнопки указываем ей переменную которой она манипулирует. Потом в упдейте идет увеличиения или уменьшение переменной.
Я смог только в методе обновления сделать входное данное с указателем, код ниже.
Global mode:Int = 2
Global list:TList = New TList
Type TType
'Field varr:int
Function create_v:TType()
Local cre:TType = New TType
'cre.varr = varra
list.AddLast(cre)
End Function
Method update(varr Var)
varr:+1
End Method
End Type
TType.create_v()
For Local up:TType = EachIn list
up.update(mode)
Next
Print mode
Но сей способ мне не нравиться, что мне теперь каждый раз писать Упдейт(нужная переменная)?
Намного имхо грамотнее если я при создании кнопки укажу какую переменную будет увеличивать или уменьшать кнопка.
|
(Offline)
|
|
30.04.2008, 18:04
|
#15
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ptr и Var : как работает ?
Global list:TList = New TList
Type TType
Field varr:%
Function create_v:TType()
Local cre:TType = New TType
list.AddLast(cre)
Return cre
End Function
End Type
Local obj:TType=TType.create_v()
obj.varr:+1
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:19.
|