Author |
Topic: LB Booster version 3.00 released (Read 9026 times) |
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB Booster version 3.00 released
« Reply #32 on: May 14th, 2015, 09:06am » |
|
on May 14th, 2015, 01:44am, CirothUngol wrote:| I only hope that you'll consider addressing any compatibility issues that may arise with Windows 10 |
|
I don't expect there to be any, and anyway executables compiled using LBB v3.00 already contain a Windows 10 compatibility manifest!
Quote:| Even better, release the source code under public license so that the community can maintain it themselves. |
|
I have had mixed reactions to that idea:
on May 3rd, 2015, 6:02pm, Alincon wrote:| I don't think LBB IDE source code should be released to public domain. Some idiots will make minor changes, or no changes, and try to sell it. Inevitably some users will blame Richard for corrupted versions of his very fine work. |
|
So what can I do which will keep everybody (or at least most people) happy?
Richard.
|
|
|
|
Mystic
Junior Member
member is offline


Gender: 
Posts: 53
|
 |
Re: LB Booster version 3.00 released
« Reply #33 on: May 14th, 2015, 9:38pm » |
|
on May 14th, 2015, 09:06am, Richard Russell wrote:So what can I do which will keep everybody (or at least most people) happy?
|
|
Continue to be our fearless leader!
|
|
Logged
|
- Rick
|
|
|
tsh73
Full Member
member is offline


Gender: 
Posts: 210
|
 |
Re: LB Booster version 3.00 released
« Reply #34 on: May 15th, 2015, 05:50am » |
|
>> >> Some idiots will (...) >> So what can I do which will keep everybody (or at least most people) happy?
Ignore the idiots.
|
| « Last Edit: May 15th, 2015, 05:51am by tsh73 » |
Logged
|
|
|
|
bluatigro
Full Member
member is offline


Gender: 
Posts: 111
|
 |
Re: LB Booster version 3.00 released
« Reply #35 on: Jun 26th, 2015, 11:21am » |
|
LBB is now starting to be a good tool
i have [ some ] ideas for inprovement
[ see REM in next listning ]
Code:
class complex
''mr and mi are private now
''shoot be a choice able for public
dim mr , mi
''default parameters are nice to
''sub complex a = 0 , b = 0
sub complex
mr = 0
mi = 0
end sub
sub complex a , b
mr = a
mi = b
end sub
''if mr and mi are public
''these two functions are not nesery
function r()
r = mr
end function
function i()
i = mi
end function
''THIS is what i want to do :
'' function add( in as complex ) as complex
'' add = new complex this::mr + in::mr _
'' , this::mi + in::mi
'' end function
''or even better :
'' operator +=( in as complex ) as complex
'' return complex this::mr + in::mr _
'' , this::mi + in::mi
'' end operator
end class
this is nice to : Code:
dim a() = { 0,1,2,3,4,5 }
''and
dim m(,) ={{0,1},{2,3}}
|
| « Last Edit: Jun 26th, 2015, 11:26am by bluatigro » |
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 1348
|
 |
Re: LB Booster version 3.00 released
« Reply #36 on: Jul 6th, 2015, 06:59am » |
|
on Jun 26th, 2015, 11:21am, bluatigro wrote:this is nice to : Code:dim a() = { 0,1,2,3,4,5 }
''and
dim m(,) ={{0,1},{2,3}} |
|
If you don't mind using the BBC BASIC 'escape' feature you can do:
Code: dim a(5)
!a() = 0,1,2,3,4,5
dim m(1,1)
!m() = 0,1,2,3 Richard.
|
|
Logged
|
|
|
|
bluatigro
Full Member
member is offline


Gender: 
Posts: 111
|
 |
Re: LB Booster version 3.00 released
« Reply #37 on: Jul 24th, 2015, 08:53am » |
|
it is already posible to do OOP but it is slow Code:
''first we create some objects
obj1$ = v3d$( 1 , 2 , 3 )
obj2$ = v3d$( 4 , 5 , 6 )
''then we print them
print "vectors :"
print " a = " ; obj1$
print " b = " ; obj2$
''then we do some OOP math
print "adding :"
print "a + b = " ; addv3d$( obj1$ , obj2$ )
print "subtracting :"
print "a - b = " ; subv3d$( obj1$ , obj2$ )
print "lenght :
print "| a | = " ; lenghtv3d( obj1$ )
print "| b | = " ; lenghtv3d( obj2$ )
end
''special class functions
function v3d$( x , y , z )
''constructor of a v3d object$
v3d$ = str$( x ) + " " + str$( y ) + " " + str$( z )
end function
function xv3d( a$ )
''property
xv3d = val( word$( a$ , 1 ) )
end function
function yv3d( a$ )
''property
yv3d = val( word$( a$ , 2 ) )
end function
function zv3d( a$ )
''property
zv3d = val( word$( a$ , 3 ) )
end function
function addv3d$( a$ , b$ )
''first get property's
ax = xv3d( a$ )
ay = yv3d( a$ )
az = zv3d( a$ )
bx = xv3d( b$ )
by = yv3d( b$ )
bz = zv3d( b$ )
''use constructor to get new object$
addv3d$ = v3d$( ax + bx , ay + by , az + bz )
end function
function subv3d$( a$ , b$ )
''first get property's
ax = xv3d( a$ )
ay = yv3d( a$ )
az = zv3d( a$ )
bx = xv3d( b$ )
by = yv3d( b$ )
bz = zv3d( b$ )
''use constructor to get new object$
subv3d$ = v3d$( ax - bx , ay - by , az - bz )
end function
function lenghtv3d( a$ )
x = val( word$( a$ , 1 ) )
y = val( word$( a$ , 2 ) )
z = val( word$( a$ , 3 ) )
lenghtv3d = sqr( x ^ 2 + y ^ 2 + z ^ 2 )
end function
''genaral class functions
''these work slow
''so i dont think of using them
''NOT TESTED JET
function setprop$( clas$ , object$ , prop$ , val$ )
pointer = 0
out$ = ""
while pointer < 20 _
and word$( clas$ , pointer ) <> prop$
if word$( clas$ , pointer ) = prop$ then
out$ = out$ + " " + val$
else
out$ = out$ + " " + word$( object$ , pointer )
end if
pointer = pointer + 1
wend
setprop$ = out$
end function
function getprop$( clas$ , object$ , prop$ )
pointer = 0
out$ = "error"
while pointer < 20 _
and word$( clas$ , pointer ) <> prop$
if word$( clas$ , pointer ) = prop$ then
out$ = word$( object$ , pointer )
end if
pointer = pointer + 1
wend
setprop$ = out$
end function
|
|
Logged
|
|
|
|
bluatigro
Full Member
member is offline


Gender: 
Posts: 111
|
 |
Re: LB Booster version 3.00 released
« Reply #38 on: Jul 24th, 2015, 09:24am » |
|
update : - i tryed my general OOP
error : - its not wat i expected
Code:
''first we create some objects
obj1$ = v3d$( 1 , 2 , 3 )
obj2$ = v3d$( 4 , 5 , 6 )
''then we print them
print "vectors :"
print " a = " ; obj1$
print " b = " ; obj2$
''then we do some OOP math
print "adding :"
print "a + b = " ; addv3d$( obj1$ , obj2$ )
print "subtracting :"
print "a - b = " ; subv3d$( obj1$ , obj2$ )
print "lenght :"
print "| a | = " ; lenghtv3d( obj1$ )
print "| b | = " ; lenghtv3d( obj2$ )
clas$ = "x y z"
print "general OOP test"
print "class = " ; clas$
object$ = v3d$( 1 , 2 , 3 )
print "v3d$ = " ; object$
object$ = setprop$( clas$ , object$ , "x" , "77" )
print "v3d.x = 77 = " ; object$
property$ = getprop$( clas$ , object$ , "z" )
print "v3d.z = " ; property$
end
''special class functions
function v3d$( x , y , z )
''constructor of a v3d object$
v3d$ = str$( x ) + " " + str$( y ) + " " + str$( z )
end function
function xv3d( a$ )
''property
xv3d = val( word$( a$ , 1 ) )
end function
function yv3d( a$ )
''property
yv3d = val( word$( a$ , 2 ) )
end function
function zv3d( a$ )
''property
zv3d = val( word$( a$ , 3 ) )
end function
function addv3d$( a$ , b$ )
''first get property's
ax = xv3d( a$ )
ay = yv3d( a$ )
az = zv3d( a$ )
bx = xv3d( b$ )
by = yv3d( b$ )
bz = zv3d( b$ )
''use constructor to get new object$
addv3d$ = v3d$( ax + bx , ay + by , az + bz )
end function
function subv3d$( a$ , b$ )
''first get property's
ax = xv3d( a$ )
ay = yv3d( a$ )
az = zv3d( a$ )
bx = xv3d( b$ )
by = yv3d( b$ )
bz = zv3d( b$ )
''use constructor to get new object$
subv3d$ = v3d$( ax - bx , ay - by , az - bz )
end function
function lenghtv3d( a$ )
x = val( word$( a$ , 1 ) )
y = val( word$( a$ , 2 ) )
z = val( word$( a$ , 3 ) )
lenghtv3d = sqr( x ^ 2 + y ^ 2 + z ^ 2 )
end function
''genaral class functions
''these work slow
''so i dont think of using them
function setprop$( clas$ , object$ , prop$ , val$ )
pointer = 0
out$ = ""
while pointer < 20 _
and word$( clas$ , pointer ) <> prop$ _
and word$( clas$ , pointer ) <> ""
if word$( clas$ , pointer ) = prop$ then
out$ = out$ + " " + val$
else
out$ = out$ + " " + word$( object$ , pointer )
end if
pointer = pointer + 1
wend
setprop$ = out$
end function
function getprop$( clas$ , object$ , prop$ )
pointer = 0
out$ = "error"
while pointer < 20 _
and word$( clas$ , pointer ) <> prop$ _
and word$( clas$ , pointer ) <> ""
if word$( clas$ , pointer ) = prop$ then
out$ = word$( object$ , pointer )
end if
pointer = pointer + 1
wend
getprop$ = out$
end function
|
|
Logged
|
|
|
|
|