topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday December 13, 2024, 10:04 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: All about FBSL!  (Read 18533 times)

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
All about FBSL!
« on: February 07, 2006, 03:46 PM »
Dear All,

I'm quite new here, i won't bother you, but i've noticed since i've been greatly granted to this wonderful place, that some people have been interested in my language aka FBSL

So, any remarks, questions, scripts and tidbits would be very welcomed here.
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)
« Last Edit: February 07, 2006, 03:49 PM by Gerome »

kfitting

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 593
    • View Profile
    • Donate to Member
Re: All about FBSL!
« Reply #1 on: February 07, 2006, 04:58 PM »
I've got a question for you... I looked at FBSL very briefly a year ago or so, but since then I found out about AutoIt.  After using AutoIt for a while I realize that it's powerful... but somewhat slow because of it's overhead.  Is FBSL closer to being an actual language rather than a "translator?"  In other words, from what I understand, AutoIt translates it's syntax into a C style language.  Naturally, programs written in C to begin with can be faster and more efficient.  Is FBSL a layer on top of C?(Sorry my terminology is way off... I'm not a dedicated programmer, just a VBA/AutoIt scripter!) 

Kevin

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
Re: All about FBSL!
« Reply #2 on: February 07, 2006, 05:08 PM »
Hi,

I've got a question for you... I looked at FBSL very briefly a year ago or so, but since then I found out about AutoIt.  After using AutoIt for a while I realize that it's powerful... but somewhat slow because of it's overhead.  Is FBSL closer to being an actual language rather than a "translator?"  In other words, from what I understand, AutoIt translates it's syntax into a C style language.  Naturally, programs written in C to begin with can be faster and more efficient.  Is FBSL a layer on top of C?(Sorry my terminology is way off... I'm not a dedicated programmer, just a VBA/AutoIt scripter!) 

Kevin

Interesting question :)
One year ago, FBSL was into its V2 that is now dead and burried because of too much slow procedures and too much RAM greedy...
We (the FBSL Team) decided to rewrite FBSL from scratch months ago.
This time, all is written in pure C ANSI C89 && C99 + AT&T ASM.
FBSL is still an interpreter but this time compared to V2, the V3 is barely 1000 times faster!
Inner maths routines are AS fast as pure C code.
Externally, loops & co are somewhat as fast (or sometimes more) faster than a VB compiled native code!
FBSL is not compiled because the purpose is keeping the best flexibility that you can't have with a real compiled language : we have axed our language onto flexibility and ability to play recursively and infinitely Fbsl code that is able to interpret Fbsl code that is to interpret Fbsl code etc...
Infinite depth, Classes, virtual functions are possible in FBSL!
Say what ?
Still not have your ow copy?
Rhoooo... bum rush the show ;)
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)

Cpilot

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 293
    • View Profile
    • Bite Notes
    • Read more about this member.
    • Donate to Member
Re: All about FBSL!
« Reply #3 on: February 07, 2006, 05:31 PM »
I'm not one of the developers, but I have used FBSL since before the switch to Version 3. FBSL is just about the fastest interpreted language I have ever seen. And I really enjoy dabbling in Assembly. ;)
I primarily (80% of the time) use FBSL now basically because I like the speed of it and the flexibility.
The usefulness of classes is kinda debatable IMO, but interaction with the API and COM is pretty easy compared to a lot of other languages out there.
If you want automation then you can use the WScript.Shell object, but with FBSL you can also create a GUI interface and then preprogram your key stokes, call on the windows time API to tell it when you want to activate your commands, create a result file and then close everything down when finished.
WMI, InternetExplorer.Application object, Word.Application...shoot about any COM object is accessable, want to use WMI to monitor your CPU usage? You can access the COM interface and create a nice GUI with prograss bar, or any other graphic you want.
Linking to 3rd party DLL's or OCX's are easy.
If you like dabbling with OpenGL then FBSL is fast enough to render 3d smoothly and seamlessly.

It's very hard to describe all the features available with this language. The best thing to do is to read the help and take a look at the examples and scripts posted to the forum.

FBSL


« Last Edit: February 07, 2006, 07:57 PM by Cpilot »

kfitting

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 593
    • View Profile
    • Donate to Member
Re: All about FBSL!
« Reply #4 on: February 07, 2006, 05:35 PM »
Sounds nice.  I downloaded and installed.... I'll have to play around with it at work.  Is there any way to not have to install FBSL to code it?  Is there a zip file I can just unzip and "away I go?"  I really am interested in the API functionality... why reinvent the wheel?  Are there any good Windows API references you know of?  THanks

Kevin

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
Re: All about FBSL!
« Reply #5 on: February 07, 2006, 05:48 PM »
Hi,

Sounds nice.  I downloaded and installed.... I'll have to play around with it at work.  Is there any way to not have to install FBSL to code it?  Is there a zip file I can just unzip and "away I go?"  I really am interested in the API functionality... why reinvent the wheel?  Are there any good Windows API references you know of?  THanks

Kevin

No setup -> http://gedd123.free.fr/FBSLv3bin.zip
Help file   -> http://gedd123.free.fr/FBSLv3.zip

Have to manually associate .fbs with fbsl.exe or with fbsl_tiny.exe :)
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)

Cpilot

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 293
    • View Profile
    • Bite Notes
    • Read more about this member.
    • Donate to Member
Re: All about FBSL!
« Reply #6 on: February 07, 2006, 05:50 PM »
There is an online compiler.
FBSL.exe

Also you can't beat MSDN, just google for the API command your looking for.
I also use API-Guide as a reference.

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
Re: All about FBSL!
« Reply #7 on: February 07, 2006, 06:00 PM »
Hi,

There is an online compiler.
FBSL.exe

Also you can't beat MSDN, just google for the API command your looking for.
I also use API-Guide as a reference.

Rick is modest, he just has omitted he has developped a graphical script that is able to grab DLLs functions names + a bit of enhancement was done to make automatic Declares ready to be used in FBSL !
Further more, his code has been factorized and put into an incldue file that allows user to load at RUNTIME ANY DLL and read its exports, load its ProcAdresses into the current FBSL process and... tadammm : you can then exploit'em on the fly without any extra much more declare !!!
Magic ?

#include <.\include\DllExports.inc>

Sub main()
   Dim $sBuffer
   DllExportLoader( SysDir & "\user32.dll", sBuffer )
   Execline( sBuffer )

   ' // Invokes a user32.dll function previously loaded thx to 'DllExportLoader' !!!
   MessageBoxA( Null, "Yeah", "Hi from #include <.\include\DllExports.inc>!", MB_ICONINFORMATION )
End Sub

So, got interested in Fbsl ?
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)

kfitting

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 593
    • View Profile
    • Donate to Member
Re: All about FBSL!
« Reply #8 on: February 07, 2006, 06:59 PM »
Well, while the questions are flying thick and fast, how about two more?

- Is there a way to make replacement hotstrings a la AutoHotKey?  I use AHK currently for hotstrings but would like something faster (typing fast leaves with faulty replacements). 

- Is there a limit on the number of GUI objects allowed?  Using AutoIt I became a fan of the ListView control.  But, AutoIt places a 4096 limit on GUI objects... including ListView rows!  This limits the max size to ~4000 lines.  Also, does the ListView allow you to edit cell contents?  Does it have a "cell" event to tell the program which cell has been clicked on or modified?

If these questions are answered in the help or the forum please tell me and I'll search through them instead of bug you guys.  But, thanks for the answers so far!

Kevin

Cpilot

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 293
    • View Profile
    • Bite Notes
    • Read more about this member.
    • Donate to Member
Re: All about FBSL!
« Reply #9 on: February 07, 2006, 07:23 PM »
- Is there a way to make replacement hotstrings a la AutoHotKey?  I use AHK currently for hotstrings but would like something faster (typing fast leaves with faulty replacements).

As far as I know there is no "wrapper" function in FBSL for hotstrings. However it would be possible to create a Function to do this.

- Is there a limit on the number of GUI objects allowed?  Using AutoIt I became a fan of the ListView control.  But, AutoIt places a 4096 limit on GUI objects... including ListView rows!  This limits the max size to ~4000 lines.  Also, does the ListView allow you to edit cell contents?  Does it have a "cell" event to tell the program which cell has been clicked on or modified?

Gerome will have to answer questions about the internal functions of native commands, but I personally prefer to impliment listviews using API calls. With this method limitations,size etc. would be spelled out in the MSDN control information.

ListView Controls Overview

FBSL has these ListView commands:

ListView_DeleteColumn( %hLView, %index )
ListView_GetItem( %hLView, %Row, %Column )
ListView_InsertColumn( %hLView, %index, %iSize, %szName )
ListView_InsertItem( %hLView, %index, $szCaption )
ListView_SetColumnText( %hLView, %index, $szCaption )
ListView_SetItem( %hLView, %index, $szCaption )
ListView_SetTextColor( %hLView, %RGBValue )


You can also use SendMessage of course to access all of a ListViews capabilities.

Also using the API you can absolutley access events in the listview.
« Last Edit: February 07, 2006, 07:26 PM by Cpilot »

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
Re: All about FBSL!
« Reply #10 on: February 08, 2006, 03:00 AM »
Hello,

FBSL has no GUI limits in theory.
The only limit known is that you are limited to 16 million parameters to any Api calls :)
The other limit is the amount of RAM you have onto your PC :)
With FBSL, one can subclass any control, all events are available and no special wrapper has been settled : this also avoids to limit the language!

Enjoy!
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)

kfitting

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 593
    • View Profile
    • Donate to Member
Re: All about FBSL!
« Reply #11 on: February 08, 2006, 05:57 AM »
Cool.  I went through the first GUI tutorial last night... and kept getting a "This variable is locked error."  I copied and pasted from the help file.  Any ideas?  The GUI window would come up but no richedit box came up.  Any attempt to resize crashed the program until I changed one of the variables in the resize sub (I think it was hRichText to hRich... but not sure).

Kevin

Gerome

  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 154
    • View Profile
    • Get my Freestyle Basic Script Language + compiler!
    • Donate to Member
Re: All about FBSL!
« Reply #12 on: February 08, 2006, 06:51 AM »
Hi,

Cool.  I went through the first GUI tutorial last night... and kept getting a "This variable is locked error."  I copied and pasted from the help file.  Any ideas?  The GUI window would come up but no richedit box came up.  Any attempt to resize crashed the program until I changed one of the variables in the resize sub (I think it was hRichText to hRich... but not sure).

Kevin

Yes, i have to renew my old skool tutos...
BTW, it works if you test amongst the 200 provided scripts by the setup :)
The problem into the GUI tutorials is that they date back from FBSL v2 and into that version Fbsl_RichEdit existed, but v3 has revolutionned all those extra grammar GUI functions, and we now have only one function that allows you to create ANY GUI control at runtime that is to say the use of Fbsl_Control().
But one can easily create an 'Fbsl_Richedit' thanks to MACRO that Fbsl handles with ease !

LoadLibrary("Riched20.dll")
'// RichEdit control
Macro Fbsl_Richedit( Caption, hWnd, ID, X, Y, Width, Height ) = FBSL_Control (_
"richedit20a", hWnd, Caption, ID, X, Y, Width, Height,_
WS_CHILD + WS_TABSTOP + WS_CLIPSIBLINGS + WS_VISIBLE + WS_HSCROLL + WS_VSCROLL + ES_MULTILINE + ES_AUTOVSCROLL + ES_AUTOHSCROLL  + ES_WANTRETURN, WS_EX_TRANSPARENT + WS_EX_CLIENTEDGE )

This way, you've just created 'Fbsl_Richedit' and you can use it with ease :)

Don't forget Fbsl has BASIC language inheritance, but has also the best of C/C++ background can provide, that is to say MACRO (#define in C/C++) and CLASS ( pseudo classes a la C++ ) but more easy to use, but all in all, Fbsl represents 5 continuous years of work and we now have a mature language, even if it can look Basic, Fbsl is not only a basic language, it can provide much more that you could have imagined, so please read the help file, execute all samples and study'em, i bet my trousers you'll be amazed ;)
Yours,
(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
http://www.fbsl.net [FBSL Author]
http://gedd123.free.fr/FBSLv3.zip [FBSL Help file]
(¯`·._.·[If you need help... just ask]·._.·´¯)
« Last Edit: February 08, 2006, 08:51 AM by Gerome »