Author |
Topic: LB Booster version 3.00 released (Read 9025 times) |
|
CirothUngol
New Member
member is offline

Odie, Odie, cha cha cha.

Gender: 
Posts: 44
|
 |
Re: LB Booster version 3.00 released
« Reply #31 on: May 14th, 2015, 01:44am » |
|
on Apr 23rd, 2015, 03:43am, SarmedNafi wrote:| If I found a bug or something not works as expected, what should I do? |
|
The exact same thing you'd do if you came across a similar issue with LB 4.x, find a way to code around it. If that fails, share it here on the LBB forums; the community is usually both willing and able to help with your problem.
As I've said before, LB Booster 3.0 is already complete and functioning software. There are no bugs to speak of and it currently provides more stability and useability than Liberty Basic 4.x. I spent years learning how to code around the bugs and limitations of Just/Liberty Basic, which is much longer than it's taken to get used to the many perks of a LB Booster + LB Workshop setup.
Thanx again, Richard. You've provided the Liberty Basic community with a superior alternative for our favorite BASIC dialect. It's all there, and with more Bells & Whistles than we could ask for. I only hope that you'll consider addressing any compatibility issues that may arise with Windows 10 so that we may continue to use LB Booster for years to come. Even better, release the source code under public license so that the community can maintain it themselves. Now THAT would surely entice a few members to learn BB4W, present company included. ^_^
|
|
Logged
|
LB Booster + LB Workshop + LB Builder = My Programs on Google Drive
|
|
|
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
|
|
|
|
|