![]() |
Ptr и Var : как работает ?
Ptr и Var : для чего нужны и как работают ?:@
|
Ответ: Ptr и Var : как работает ?
указатели на переменные
к примеру чтобы можно внутри функции изменить аргумент который в неё подается |
Ответ: Ptr и Var : как работает ?
ptr - *, var - &(byref param), varptr-&(get address)
|
Ответ: Ptr и Var : как работает ?
А как ими пользоваться ?
|
Ответ: Ptr и Var : как работает ?
псевдо код
Код:
function Set(var В:Integer) A=5 есля я правельно все написал то это пример что ты можешь в функцию засунуть свою переменныю и в функции ее изменить очень удобно ПС бмакс совсем не знаю) написал примерно)) |
Ответ: Ptr и Var : как работает ?
Horror, почти прально написал (синтаксис не тот только), но суть именно та.
var - передаёт не значение переменной, а сам указатель на переменную, это почти также как заглобалить переменную и юзать не передовая, только - это не корректный подход будет :) При этом порой и не подходящий вовсе. |
Ответ: Ptr и Var : как работает ?
Horror очень здорово написал. это истинный псевдокод - семесь Си, паскаля и бейсика.
+1 как говорится. |
Ответ: Ptr и Var : как работает ?
Да, за такой псевдокод и +100 не жалко ;)
|
Ответ: Ptr и Var : как работает ?
пасибо!
Ну главное чтоб понятно было)) надеюс автор понял)) я то в бмаксе не шарю)) |
Ответ: Ptr и Var : как работает ?
Цитата:
*Можно-ли перевести Byte Ptr в Short Ptr |
Ответ: Ptr и Var : как работает ?
drunnik, Ptr - это массив.
К примеру: Byte Ptr - это массив байтов. К примеру в Xors'е есть функция: xEntityName(Entity%), она возвращает массив байтов, я делаю так: Код:
Function BPtoString$(tByte:Byte Ptr) Код:
Local EntityName$=BPtoString(xEntityName(Entity)) |
Ответ: Ptr и Var : как работает ?
Цитата:
Код:
Byte Ptr ( variable : Short Ptr ) |
Ответ: Ptr и Var : как работает ?
drunnik, не понял что ты такое прописал :)
Объясни что дано и что хочешь получить. |
Ответ: Ptr и Var : как работает ?
Здраствуйте, пишу потому уже два часа не могу одну проблему решить, гы стыд мне! :mad: :''((
Как мне в филдах создать переменную указатель? Скажем для GUI, при создании кнопки указываем ей переменную которой она манипулирует. Потом в упдейте идет увеличиения или уменьшение переменной. Я смог только в методе обновления сделать входное данное с указателем, код ниже. Код:
Global mode:Int = 2 Намного имхо грамотнее если я при создании кнопки укажу какую переменную будет увеличивать или уменьшать кнопка.:) |
Ответ: Ptr и Var : как работает ?
Код:
|
Ответ: Ptr и Var : как работает ?
Код:
Global list:TList = New TList |
Ответ: Ptr и Var : как работает ?
О_0 /. Гы, вы меня не поняли. Мне не нужно присваивать переменной какое то значение какойто переменной, а указатель, что бы при изменении переменной-указателя менялось значение указываемой переменной. Как в случае с моим кодом...
|
Ответ: Ptr и Var : как работает ?
Там ты прибовляешь к mode колличество созданных объектов..
Ы? Я туплю или ты меня завернул в салфетку.. |
Ответ: Ptr и Var : как работает ?
Хочу помочь. но я ничего не понял, если честно.
|
Ответ: Ptr и Var : как работает ?
:) Вот представим, имеется меню, кнопки, при нажатии определенной кнопки меняется значение глобальной переменной а переменной типа меню. Делается это указателями, то есть я не передаю значение а лишь даю понять проге какую переменную надо увеличить или уменьшить , короче не важно действия, главное суть. Вот ниже я привел пример:
Код:
Global ButtonList:TList = New TList UpdateButton("Varriable 1", varriable_1) UpdateButton("Varriable 2", varriable_2) UpdateButton("Varriable 3", varriable_3) Жирными буквами указаны указатели. А нельзя ли скажем добавить в типе меню еще переменную указатель, Varriable , которая будет хранить указатель на нужную переменную, но тип филда не могу задать :( . Потом создание кнопок будет уже следующим: TButtonGUI.Button("Varriable 1", 50, 100,varriable_1) TButtonGUI.Button("Varriable 1", 50, 100,varriable_2) TButtonGUI.Button("Varriable 1", 50, 100,varriable_3) Потом исходя из того что в типе меню есть переменная указатель, то в упдейте просто увеличивается Varriable(указатель) на 1 или еще что. (смотреть метод обновления). Тогда теоретически не придеться каждый раз вызывать Упдейт с разными значениями. Как думаете такое возможно?:) Надеюсь я понятно изьяснился. :-) |
Ответ: Ptr и Var : как работает ?
Я не понятно выразился или такое не возможно сделать? :dontknow:
|
Ответ: Ptr и Var : как работает ?
Объясняеш ты ППЦ как нормально.
ЗЫ ему надо хранить указатель на какуюто переменую. |
Ответ: Ptr и Var : как работает ?
Код:
как быстро перевести? |
Ответ: Ptr и Var : как работает ?
drunnik
тебе это зачем вообще ? |
Ответ: Ptr и Var : как работает ?
ПсМ
Багратион, а тебя не устроит массив? нада будет хранить только индекс. |
Ответ: Ptr и Var : как работает ?
Цитата:
|
Ответ: Ptr и Var : как работает ?
Индекс на переменную - int вот тебе и указатель.
|
Ответ: Ptr и Var : как работает ?
Цитата:
Код:
Local variable1 : Short Ptr |
Ответ: Ptr и Var : как работает ?
Немножко по теме.
Например у меня есть список . Так-же есть 2 объекта : Как первый объект поместить в список полностью , А на второй поместить только ссылку . Тоже самое с переменными : Как копировать тип в другую переменную , И как сделать на него только ссылку в другой переменной . Просто постоянно путаюсь . СоВсЕм уже запутался .:@ |
Ответ: Ptr и Var : как работает ?
я что-то тоже из темы выпадаю :(
local somevar:TType = new TType somevar это же указатель на кусок памяти local someint% = 1 someint это уже обьект к примеру : Код:
type TType Цитата:
а stype это и так указатель так же мои мысли потверждаются кодом : (файл blitz_object.h) Код:
что собственно и логично :) можно конечно получать указатель на переменную, но я написал на blitzmaxе больше 700 кб кода и мне редко когда такое нужно было drunnik в итоге в список не получится поместить обьект Object полностью, как я понимаю добавляя Object в список ты и так добавляешь туда его ссылку если тебе нужны простые указатели типа Int пользуйся командами : HandleFromObject и прочими |
Ответ: Ptr и Var : как работает ?
не очень понял :
Просто ответьте какие функции нужны для того что-бы : Найти адрес переменной ; По адресу возвратить переменную . |
Ответ: Ptr и Var : как работает ?
var получает адресс переменой
ptr получает то что хранится в переменной |
Часовой пояс GMT +4, время: 18:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot