Code: Select all
#Macro foo(my_int)
var my_int =
var my_int_ = 'name with extra char
#EndMacro
Code: Select all
#Macro foo(my_int)
var my_int =
var my_int_ = 'name with extra char
#EndMacro
Code: Select all
Dim As Integer I
Var Byref myI1 = I
Var Byref myI2 = I
I = 123
Print I, myI1, myI2
myI1 = 456
Print I, myI1, myI2
myI2 = 789
Print I, myI1, myI2
Sleep
Code: Select all
#macro def_xy(scale_var,xy,wh,_wh,off_var,int_var)
var scale_var = _wh / dest->wh
var off_var = scale_var * ( int_var - xy )
#EndMacro
def_xy( scale_x, x, w, _w, offx_src, intx )
def_xy( scale_y, y, h, _h, offy_src, inty )
Code: Select all
#Macro foo(my_int,HELLO)
var my_int = HELLO
var my_int_ = #my_int + #hello
#EndMacro
foo(my_int,13)
print my_int
print my_int_
#print typeof(my_int)
#print typeof(my_int_)
sleep
Code: Select all
#macro foo(name_base,name_append)
var name_base##name_append = name_append
#endmacro
foo(angel_hair,1)
? angel_hair1
Code: Select all
sub imvars.resize(byref dest as imvars ptr=0, x as single=0, y as single=0, parm_w as single=0, parm_h as single=0)
#macro def_xy(coordinate, dimension)
var scale_##coordinate = parm_##dimension / dest->dimension
' .. more stuff
#EndMacro
def_xy( x, w )
def_xy( y, h )
In C one would use pointers, here we can do both.dafhi wrote:I never knew about var byref though :D