Good morning
Back from Hospital surgery all was going fine Had a Glas sherd in my left Hand but there are very good Docs Here from africa :-)
I have a question to my example how to Set a String with this Kind of Method
Thanks nice wednesday Frank
'
' how to set here a method with string output?
'
def CreateAvengersObject
=====================
%1 * %2
@%2=getmemory sizeof %1
%2.create
end def
def DestroyAvengersObject
======================
%1.destroy
freememory @%1
@%1=0
end def
'------------------------ //
function redims(sys a,n,s)
n*=s
sys m=getmemory n
long le at (a-4)
if le>n
le=n
end if
copy m,a,le
frees a
return m
end function
'
class classThor
===============
'
long *a,b,c
'long a,b,c ' works too ;)
method create()
@a=getmemory 100*sizeof long
end method
'
method destroy()
freememory @a
end method
method redimsA(k as long)
@a=redims(@a,k,sizeof long)
end method
method redimsB(k as long)
@b=redims(@b,k,sizeof long)
end method
' new added
method redimsC(st as string)
'@b=redims(@b,st,sizeof string)
end method
method p1_interfaceA() as long
return b
end method
' new added
method p1_interfaceB() as long
return b
end method
' new added
method p1_interfaceC() as string
return b
end method
method p1_interfaceA(x as long)
b=x
end method
' new added
method p1_interfaceB(x as long)
b=x
end method
'
' new added
method p1_interfaceC(st as string)
b=st
end method
method redims_interfaceA(k as long)
redimsA k
end method
' new added
method redims_interfaceB(k as long)
redimsB k
end method
' new added
method redims_interfaceC(st as string)
redimsC st
end method
end class
function Avengers() as long
==========================
'
CreateAvengersObject ClassThor obj
'1) ------------------------//
'
obj.redims_interfaceA 100
'
'
obj.p1_interfaceA=42
'
'
print obj.p1_interfaceA ' result 42 ok
'2) ------------------------//
obj.redims_interfaceB 200
obj.p1_interfaceB=2024
print obj.p1_interfaceB '2024 result ok
'3) ------------------------//
obj.redims_interfaceC 300
obj.p1_interfaceC ="I like the Avengers movies"
print obj.p1_interfaceC ' result 0 not ok ;)
'
END FUNCTION
Avengers()
Hi Frank, I wish you and your hand a speedy recovery.
This is a skeleton OOP with some strings and with the standard constructor and destructor methods:
As you can see, it is really simple to set up
--------------
class AnObject
==============
int a,b,c,d
float x,y,z
bstring s,t
method constructor(string sp="helo",tp="bye")
=============================================
s=sp
t=tp
print "construct!"
end method
method destructor()
===================
'destroy bstrings
del s
del t
print "destruct!"
end method
method act() as string
======================
return s ", " t
end method
end class
'TEST
'new AnObject aa( )
new AnObject aa("Hello","Goodbye")
'aa.t="Au revoir"
print aa.act
del aa
Thanks Charles for healthy wishes such Thing will Take some weeks to mend and I am playing guitar too thats a Problem to Stop all exercises ;)
Thanks for your little example helps too for my construct with Avengers all is working fine now
Oxygen
'
' - oxygen basic, 06-03-2024 by frank bruebach
' - how to set a method with string it's running now
'
def CreateAvengersObject
=====================
%1 * %2
@%2=getmemory sizeof %1
%2.create
end def
def DestroyAvengersObject
======================
%1.destroy
freememory @%1
@%1=0
end def
'------------------------ //
function redims(sys a,n,s)
n*=s
sys m=getmemory n
long le at (a-4)
if le>n
le=n
end if
copy m,a,le
frees a
return m
end function
'
class classThor
===============
'
long *a,b,c
'long a,b,c ' works too ;)
bstring s,st,t
method create()
@a=getmemory 100*sizeof long
end method
'
method destroy()
freememory @a
end method
method redimsA(k as long)
@a=redims(@a,k,sizeof long)
end method
method redimsB(k as long)
@b=redims(@b,k,sizeof long)
end method
' new added
method redimsC(st as string)
@t=redims(@t,st,sizeof string)
return s ", " t
end method
method p1_interfaceA() as long
return b
end method
' new added
method p1_interfaceB() as long
return b
end method
' new added
method p1_interfaceC() as string
s="Avengers are my heroes"
return s ", " t
end method
method p1_interfaceA(x as long)
b=x
end method
' new added
method p1_interfaceB(x as long)
b=x
end method
'
' new added as string ------------ //
method p1_interfaceC(st as string)
t=st
s="Avengers are my heroes"
return s ", " t
end method
method redims_interfaceA(k as long)
redimsA k
end method
' new added
method redims_interfaceB(k as long)
redimsB k
end method
' new added
method redims_interfaceC(st as string)
redimsC st
end method
end class
'---------------------------
function Avengers() as long
============================
'
CreateAvengersObject ClassThor obj
'1) ------------------------//
'
obj.redims_interfaceA 100
'
obj.p1_interfaceA=42
'
print obj.p1_interfaceA ' result 42 ok
'2) ------------------------//
obj.redims_interfaceB 200
obj.p1_interfaceB=2024
print obj.p1_interfaceB '2024 result ok
'3) ------------------------//
obj.redims_interfaceC 300
obj.p1_interfaceC ="I like the Avengers movies"
'result: ok :-) 'Avengers are my heroes, I like the Avengers movies
print obj.p1_interfaceC
END FUNCTION
Avengers()