@tireius
Here is a new set of commands to add onto the end of the others, which will allow you to delete vars, and also check if they exist:
function var_del_integer(name as string)
value as integer
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
array delete element varsi(0),d
exit
endif
next d
endfunction
function var_del_float(name as string)
value as float
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
array delete element varsf(0),d
exit
endif
next d
endfunction
function var_del_string(name as string)
value as string
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
array delete element varss(0),d
exit
endif
next d
endfunction
function var_del_bool(name as string)
value as boolean
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
array delete element varso(0),d
exit
endif
next d
endfunction
function var_del_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
array delete element varsb(0),d
exit
endif
next d
endfunction
function var_del_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
array delete element varsw(0),d
exit
endif
next d
endfunction
function var_del_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
array delete element varsd(0),d
exit
endif
next d
endfunction
function var_del_double_i(name as string)
value as double integer
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
array delete element varsii(0),d
exit
endif
next d
endfunction
function var_del_double_f(name as string)
value as double float
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
array delete element varsff(0),d
exit
endif
next d
endfunction
function var_exist_integer(name as string)
value as integer
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_float(name as string)
value as float
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_string(name as string)
value as string
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_bool(name as string)
value as boolean
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_double_i(name as string)
value as double integer
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_double_f(name as string)
value as double float
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
exitfunction 1
endif
next d
endfunction 0
Here is a list of all commands:
types:
integer
float
string
bool (boolean)
byte
word
dword
double_i (double integer)
double_f (double float)
commands:
var_as_<type>(name as string)
var_set_<type>(name as string, value as <type>)
value as <type> = var_<type>(name as string)
var_inc_<type>(name as string, value as <type>) `booleans need no value and will loop
var_del_<type>(name as string)
value as boolean = var_exist_<type>(name as string)
edit:
Now has var_inc_string:
All functions
type varint
name as string
value as integer
endtype
type varbyt
name as string
value as byte
endtype
type varwrd
name as string
value as word
endtype
type vardwd
name as string
value as dword
endtype
type varflt
name as string
value as float
endtype
type varstr
name as string
value as string
endtype
type varbol
name as string
value as boolean
endtype
type vardft
name as string
value as double float
endtype
type vardit
name as string
value as double integer
endtype
function var_start()
dim varsi(-1) as varint
dim varsb(-1) as varbyt
dim varsw(-1) as varwrd
dim varsd(-1) as vardwd
dim varsf(-1) as varflt
dim varss(-1) as varstr
dim varso(-1) as varbol
dim varss(-1) as varstr
dim varso(-1) as varbol
dim varsff(-1) as vardft
dim varsii(-1) as vardit
endfunction
function var_as_integer(name as string)
array insert at top varsi(0)
varsi(0).name = name
endfunction
function var_as_float(name as string)
array insert at top varsf(0)
varsf(0).name = name
endfunction
function var_as_string(name as string)
array insert at top varss(0)
varss(0).name = name
endfunction
function var_as_bool(name as string)
array insert at top varso(0)
varso(0).name = name
endfunction
function var_as_byte(name as string)
array insert at top varsb(0)
varsb(0).name = name
endfunction
function var_as_word(name as string)
array insert at top varsw(0)
varsw(0).name = name
endfunction
function var_as_dword(name as string)
array insert at top varsd(0)
varsd(0).name = name
endfunction
function var_as_double_i(name as string)
array insert at top varsii(0)
varsii(0).name = name
endfunction
function var_as_double_f(name as string)
array insert at top varsff(0)
varsff(0).name = name
endfunction
function var_set_integer(name as string,value as integer)
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
varsi(d).value = value
exit
endif
next d
endfunction
function var_set_float(name as string,value as float)
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
varsf(d).value = value
exit
endif
next d
endfunction
function var_set_string(name as string,value as string)
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
varss(d).value = value
exit
endif
next d
endfunction
function var_set_bool(name as string,value as boolean)
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
varso(d).value = value
exit
endif
next d
endfunction
function var_set_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
varsb(d).value = value
exit
endif
next d
endfunction
function var_set_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
varsw(d).value = value
exit
endif
next d
endfunction
function var_set_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
varsd(d).value = value
exit
endif
next d
endfunction
function var_set_double_i(name as string,value as double integer)
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
varsii(d).value = value
exit
endif
next d
endfunction
function var_set_double_f(name as string,value as double float)
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
varsff(d).value = value
exit
endif
next d
endfunction
function var_integer(name as string)
value as integer
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
value = varsi(d).value
exit
endif
next d
endfunction value
function var_float(name as string)
value as float
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
value = varsf(d).value
exit
endif
next d
endfunction value
function var_string(name as string)
value as string
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
value = varss(d).value
exit
endif
next d
endfunction value
function var_bool(name as string)
value as boolean
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
value = varso(d).value
exit
endif
next d
endfunction value
function var_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
value = varsb(d).value
exit
endif
next d
endfunction value
function var_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
value = varsw(d).value
exit
endif
next d
endfunction value
function var_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
value = varsd(d).value
exit
endif
next d
endfunction value
function var_double_i(name as string)
value as double integer
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
value = varsii(d).value
exit
endif
next d
endfunction value
function var_double_f(name as string)
value as double float
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
value = varsff(d).value
exit
endif
next d
endfunction value
function var_inc_integer(name as string,value as integer)
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
inc varsi(d).value,value
exit
endif
next d
endfunction
function var_inc_float(name as string,value as float)
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
inc varsf(d).value,value
exit
endif
next d
endfunction
function var_inc_string(name as string,value as string)
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
varss(d).value = varss(d).value + value
exit
endif
next d
endfunction
function var_inc_bool(name as string)
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
varso(d).value = not varso(d).value
exit
endif
next d
endfunction
function var_inc_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
inc varsb(d).value,value
exit
endif
next d
endfunction
function var_inc_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
inc varsw(d).value,value
exit
endif
next d
endfunction
function var_inc_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
inc varsd(d).value,value
exit
endif
next d
endfunction
function var_inc_double_i(name as string,value as double integer)
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
inc varsii(d).value,value
exit
endif
next d
endfunction
function var_inc_double_f(name as string,value as double float)
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
inc varsff(d).value,value
exit
endif
next d
endfunction
function var_del_integer(name as string)
value as integer
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
array delete element varsi(0),d
exit
endif
next d
endfunction
function var_del_float(name as string)
value as float
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
array delete element varsf(0),d
exit
endif
next d
endfunction
function var_del_string(name as string)
value as string
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
array delete element varss(0),d
exit
endif
next d
endfunction
function var_del_bool(name as string)
value as boolean
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
array delete element varso(0),d
exit
endif
next d
endfunction
function var_del_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
array delete element varsb(0),d
exit
endif
next d
endfunction
function var_del_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
array delete element varsw(0),d
exit
endif
next d
endfunction
function var_del_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
array delete element varsd(0),d
exit
endif
next d
endfunction
function var_del_double_i(name as string)
value as double integer
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
array delete element varsii(0),d
exit
endif
next d
endfunction
function var_del_double_f(name as string)
value as double float
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
array delete element varsff(0),d
exit
endif
next d
endfunction
function var_exist_integer(name as string)
value as integer
ac = array count(varsi(0))
for d = 0 to ac
if varsi(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_float(name as string)
value as float
ac = array count(varsf(0))
for d = 0 to ac
if varsf(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_string(name as string)
value as string
ac = array count(varss(0))
for d = 0 to ac
if varss(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_bool(name as string)
value as boolean
ac = array count(varso(0))
for d = 0 to ac
if varso(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_byte(name as string,value as byte)
ac = array count(varsb(0))
for d = 0 to ac
if varsb(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_word(name as string,value as word)
ac = array count(varsw(0))
for d = 0 to ac
if varsw(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_dword(name as string,value as dword)
ac = array count(varsd(0))
for d = 0 to ac
if varsd(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_double_i(name as string)
value as double integer
ac = array count(varsii(0))
for d = 0 to ac
if varsii(d).name = name
exitfunction 1
endif
next d
endfunction 0
function var_exist_double_f(name as string)
value as double float
ac = array count(varsff(0))
for d = 0 to ac
if varsff(d).name = name
exitfunction 1
endif
next d
endfunction 0
