What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
hungnguyengia
Posts: 65
Joined: Jul 01, 2021 7:53

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by hungnguyengia »

caseih wrote:
hungnguyengia wrote:Here is more QB64 quirks. QB64's function doesn't have return type!
You do realize that QB64 is a portable implementation of 30-year old QuickBASIC, right? Why are you surprised it doesn't support things that QB also did not support and can't easily interface with the modern C library?
Because I don't know what is QuickBASIC. With me, the first BASIC I encountered is VBA.
hungnguyengia
Posts: 65
Joined: Jul 01, 2021 7:53

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by hungnguyengia »

aurelVZAB wrote:Yes i already told him that ..why not FB..
he want to make some fork of code editor that ran on Linux if i get it right ?
OK. I will not offtopic anymore and back to what this forum is about, FreeBASIC.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by caseih »

I see. Check with wikipedia for a history of QuickBASIC. It sure was a nice language and integrated development environment back in the late 80s and early 90s under MS-DOS. QB64 is a faithful reproduction of it for modern operating systems, but it's still retro. If you had ancient code you wanted to keep running, QB64 would be a good option. Although FreeBASIC also has a QB dialect you can switch on, which I've used with old BASIC games like Microsoft's classic gorilla.bas and nibbles.bas.
dodicat
Posts: 7983
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by dodicat »

Not much is mentioned of BBC basic.
http://www.bbcbasic.co.uk/bbcbasic/history.html
This was the most used basic in schools and universities back in the time in the UK.
It is still a neat version of basic, there are many examples on the Rosetta code site.
As from July this year seemingly the windows version is not for sale in the EU.
I did prophecy in 2016 that the EU would turn on us with a vengeance, but I didn't think a compiler was on their hit list, probably the BBC bit that did it.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by marcov »

dodicat wrote: As from July this year seemingly the windows version is not for sale in the EU.
I did prophecy in 2016 that the EU would turn on us with a vengeance, but I didn't think a compiler was on their hit list, probably the BBC bit that did it.
The UK wanted a return of customs paperwork and added costs. Not the EU.
jj2007
Posts: 2326
Joined: Oct 23, 2016 15:28
Location: Roma, Italia
Contact:

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by jj2007 »

dodicat wrote:the windows version is not for sale in the EU.
I did prophecy in 2016 that the EU would turn on us with a vengeance, but I didn't think a compiler was on their hit list, probably the BBC bit that did it.
The UK is now being treated like all other countries outside the club. Roughly 160+ countries enjoy exactly the same procedures. You asked for it...
Lost Zergling
Posts: 538
Joined: Dec 02, 2011 22:51
Location: France

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by Lost Zergling »

OPL/w was also very close to Basic (syntax, philosophy), procedural, multi tasking, taste of object design, far closer to FB than to GWBasic.
The only flaw, alas fatal and crippling, is that it is perfidious, therefore English. :-)
dodicat
Posts: 7983
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by dodicat »

Lost Zergling wrote:OPL/w was also very close to Basic (syntax, philosophy), procedural, multi tasking, taste of object design, far closer to FB than to GWBasic.
The only flaw, alas fatal and crippling, is that it is perfidious, therefore English. :-)
Hi Lost, I have found one of your comrades.

Code: Select all


#if sizeof(integer)=8
#include "windows.bi"
#endif
#Include  "win/gdiplus.bi"

Declare Function CryptStringToBinary Lib "Crypt32"Alias "CryptStringToBinaryA"(As zstring Ptr,As Long,As Long,As Byte Ptr,As Long Ptr,As Long,As Long Ptr) As Long
Declare Function SetWindowTheme Lib "UxTheme.dll" Alias "SetWindowTheme"(As Any Ptr,As zstring Ptr,As zstring Ptr) As Long

'An idea from UEZ in another thread.
Function Pload(Picture as String,byref i as any ptr=0) as long
   Dim As uinteger TMP 
   GDIPLUS.GdiplusStartup(@TMP,@type<GDIPLUS.GDIPLUSSTARTUPINPUT>(1),0)
   Dim as any Ptr Img
   if GDIPLUS.GdipLoadImageFromFile(Picture,@Img)>0 then return 0
   Dim As Single w,h
   GDIPLUS.GdipGetImageDimension(Img,@w,@h)
   if w*h=0 then return 0
   Dim As GDIPLUS.BitmapData Pdata
   Dim As Rect R=Type(0,0,w-1,h-1)
   GDIPLUS.GdipBitmapLockBits(Img,Cast(Any Ptr,@R),GDIPLUS.ImageLockModeRead,PixelFormat32bppARGB,@Pdata)
   For y as long = 0 To h-1
      For x as long = 0 To w-1 
           pset i,(x,y),Cast(ulong Ptr,Pdata.Scan0)[y*w+x]
      Next
   Next
return w*h
End Function

sub getsize(picture as string,byref w as single,byref h as single) 'unused
    Dim As uinteger TMP 
   GDIPLUS.GdiplusStartup(@TMP,@type<GDIPLUS.GDIPLUSSTARTUPINPUT>(1),0)
   Dim as any Ptr Img
   if GDIPLUS.GdipLoadImageFromFile(Picture,@Img)>0 then exit sub
   GDIPLUS.GdipGetImageDimension(Img,@w,@h)
end sub


 Function Base64Decode(s As String) As string 
    Dim As Long  Length = Len(s)
    static As ubyte b()
    redim b(length)
    CryptStringToBinary( (s),Length,1,@b(0),@Length,0, 0)
    dim as string result=string(length,0)'+1
    for n as long=0 to length
        result[n]=b(n)
        next
    Function=result
End Function 

#Include "file.bi"
Sub savefile(filename As String,p As String)
    Dim As Integer n
    n=Freefile
    If Open (filename For binary Access Write As #n)=0 Then
        Put #n,,p
        Close
    Else
        Print "Unable to save " + filename
    End If
End Sub


dim as string s
s+= "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCBQUFBcUFBQUGBcYGRgYFxkaGRga"+chr(13,10)
s+= "GBoXGhcYGxoXFxoaICwjGhwpHRoaJDUkKC0vMjUyHSI4PTgwPCwzMi8BCwsLDw4P"+chr(13,10)
s+= "HBERHTEoIikzMTExNDExMTExLzMxMTExMTExMTExMTExMTExMTExMTExMTExMTEx"+chr(13,10)
s+= "MTExMTExMTExMf/AABEIALsBDQMBIgACEQEDEQH/xAAcAAAABwEBAAAAAAAAAAAA"+chr(13,10)
s+= "AAAAAQMEBQYHAgj/xABCEAACAQMCBAQDBQYEBAYDAAABAhEAAyEEEgUxQVEGEyJh"+chr(13,10)
s+= "MnGBB0JSkaEUI2KCscFDcqLwFTOS4VNjssLR8RYkNP/EABkBAAMBAQEAAAAAAAAA"+chr(13,10)
s+= "AAAAAAABAwIEBf/EACERAAMBAAMBAQEAAwEAAAAAAAABAhEDITESQVEiYXEy/9oA"+chr(13,10)
s+= "DAMBAAIRAxEAPwDWESacKscq5QdqUC0xhrXVACjpCCIrnbXdCgBMpRbaUopoAKhX"+chr(13,10)
s+= "UUIoAKuGSlIoUAJBKOK7JrKPHHjJrjNY07ulpD67qTtuekgru6pnkOcHNBqZdPEa"+chr(13,10)
s+= "Fwji66jeAACsFYMhrbZVxj5gj29xUtWNcG8UHTajzbm1rYTyyqqFYrCwwDE5BCkj"+chr(13,10)
s+= "dy3R0FazwrWrfspeUQHUMBIMT0kUl/sdw5Y6NACjNGBWjAVCuqKKQAihR1H2OIB7"+chr(13,10)
s+= "hRBuVB63nE9FX8R5yfagB/QqG47xldOoA/5jAkDmFUc3f2nAHU/IkP8Ah1xns22b"+chr(13,10)
s+= "DMiM3+YqCf1oHg7oUKFAgURFHQoA4IoRXVERTGcxQo6FAHJFN7tvOBTmiNAHYEUd"+chr(13,10)
s+= "FR0hAo64ZgBJMCmlriundiiXrTMCBtDqTJ5CJoAfUVChFAAoqOKAoAKgKMmo3ivF"+chr(13,10)
s+= "renEsQWPw2wRvYmYx0XBljjFADHxPxi7pRbuKlu4rNsZCSrljlShyIwZwYweQJEf"+chr(13,10)
s+= "ev37/qui5atAFvLtuAcQf3j7lZiRPpWFGQ00xOq3E6i+wmDt/CgnkoPT9TzPSoPU"+chr(13,10)
s+= "+IblyVtoPKQAEMxG5QAIYyDHsD+dYevwtPHnp3xi+WFyzb1iW7JZVW0Wi2ZHqUNt"+chr(13,10)
s+= "k28OTBI5YM1HPprVvfvdbyMBBCbNvMbQcb5WOkSFI54g+IcYe5da4wIiFVba7EA5"+chr(13,10)
s+= "fT5ikTqXuNBPy5xPeTk85mq8fH1rZ18aSH40tu4iDeRcG5izZ9KEhY6dRntPyqwe"+chr(13,10)
s+= "DvE37EDYuJutli8qRKloB2Enay4B2kgjMFpAFP119bZJ6n0AAclULH9ZpGzq5Mbg"+chr(13,10)
s+= "ROc9e81twg5JmljN+0PG9NeAKXrZkhdpYK4ZhIRkaGVo+6RNSdectNqyjq4JBXkR"+chr(13,10)
s+= "G5cgys4GQD9K0C39pLfs7L5bNqIIRwo8oySA7ru3KQIJXkTyInE3LRyXwtedlys8"+chr(13,10)
s+= "SJ1j2p9AQKB/5igO5mOq3FHPmp96m6xjR8U1KX7LliqvqFZrsIGK3bq7w6idqEH6"+chr(13,10)
s+= "Dryi88e45vm1ZaV5O4PP+BT27nry7msrWYqHLwV4xxRrreRYMgnaxBjceW0Honc9"+chr(13,10)
s+= "YPQGZfTWE01nJwoLu0cyBkx9IA7ACozwpohsF8j4x+7B6L+L6/0A7038Z8RA22Ae"+chr(13,10)
s+= "1y5HOAfQv1YFv5PemL14Vrjmpe8W/HddLS5nbvcWxHeN0Y5wDzJrUEWAB2x+VZ34"+chr(13,10)
s+= "d04uaq12AN0gycKPSc8odkNaLupIdfwOjoiaFMwHQoUKABRGjojQBzQo6FABUVHQ"+chr(13,10)
s+= "oAOjFFR0DKL484kirA1NncoINkkli5G4FlTdkASNwAHOc1m9nVNcc7sZzBxJ5yVm"+chr(13,10)
s+= "TP0qa8Rh1v3mVvMRrtw+YMg8jlZ5KSUkY9BOKa6ZfMb94FQBd2F2YPVQTn61pJHV"+chr(13,10)
s+= "xz16PtNxK7pmD2b7s20C5uLXA6/dEP8AhLN8pPSnR8Q6hm3/ALTdLHthB/Ioj6wa"+chr(13,10)
s+= "hfLC3N87lkgA9O0/T+ld37wt+qOcwOnvPf5Vv5RtxPuE9ovFesTneRxmQ6yPzAVv"+chr(13,10)
s+= "1pxq/GeqYQGt2/dE9X+ssP0qqFlJl/ujbECOZMnvz5fL5U4s6F7kbLV55wNisV/0"+chr(13,10)
s+= "iPrNL5RFzP8ABTUa65cYF3u3GBBUl2kNIgoD8J6YipTQaRbe+5cMuf8AmMTJ9rak"+chr(13,10)
s+= "84/7+1NeEaEg7tsRIzkKBguT16gf96a8W1+47QYtpgnuT8vvGpW0+kaSBxHWNeaB"+chr(13,10)
s+= "hFwB0/37/wD3TXRkFj8JEQrdAY52xyMTEnGORnCdtPMZQ58u2ecqxAX8TAZI9h+v"+chr(13,10)
s+= "KpTiOle3as3VYOl4BVx8N2Moc8hDGeqgnpWlmd+D1aVvVae211bSOfMMglmYLJiN"+chr(13,10)
s+= "xHX/AC/lXFoixde1JLiCGHLepkGGBMRIINXx3taLSsrBGuXVlw4mQw9RucvlHaI6"+chr(13,10)
s+= "1Rv/AMe1DPbuC2baXpe23JFG4qbY2/C2cKenL2U30bVJMj9Re8y4YXcffkP5f99K"+chr(13,10)
s+= "kl4Rqmt27q2HuJcJW2VKBSy7pUeoR8JAEZ6VZvC/ghbt1i6braM1t2ZV9R/du0A9"+chr(13,10)
s+= "Cp2COUtJkVqzaO2Qi7RFshkAEKpAKiAMYBMCtLkedEb5e+jzhrrD23ZHBS4hg2mB"+chr(13,10)
s+= "BUwDDZIODPXBxXekuRABAJMe3zn+/Y1pn2i+HVS4mssKFdybd3YILO3qtXDH3t42"+chr(13,10)
s+= "TzJdO1UrUW0e2jKihxcu+Y3W5uQ3Vdh8gV94rU1r7KxWpMa6dTc/dqS24hcdQxiZ"+chr(13,10)
s+= "PYHlWi+HeFeexEt5Qcs7E5Kn4EBAABZQpMDAPSQazvgena6+y2Qpcld5EhBEFjkQ"+chr(13,10)
s+= "NrMSZwAT0rXRxu1p0TT6VGuvhU+6GY9S0ZJy0gbYBMgDEl03hLmrWWW4620LGFRF"+chr(13,10)
s+= "JPIBVUfoABWXa5nvMXYw1xmZu4nbtUd9qhU/l+dWjxdrnFi3pn2G7e2+ZsnaqAy0"+chr(13,10)
s+= "TmDBUE888qrjWycA5Jgf3P5daCcL9J3wNYm7euGMJbRY6Szlh7fClW7UX1RSzGAO"+chr(13,10)
s+= "Z/QAdyTiKrHgpVtae7dchVa67A9kCqPn8W4x3OI5Uw4zxV7pYwQBItp7kQC38Z69"+chr(13,10)
s+= "h6RzbczOay5cN1gvWluhSoaSAYmJIBwYyBP1p3TbR6cW7aWxyRFUfygD+1OaDIKO"+chr(13,10)
s+= "ioUAHQoUKAOTQrqiIoAI0VHRUAGKq/jmxut22YblVzKn4SWUwWHWII/mq0xTPimi"+chr(13,10)
s+= "F609smNwwezAyp+hAoGnj0oWuCGyL1tURkTaygbZSVBXAjGCPl71WOKLbFsXkY7l"+chr(13,10)
s+= "2hkZiZVvTAxgSFyPmetWbS/C9lxE7lYdmypH0P8Aaq/d0pNu7bY/Arch6sZUjv1g"+chr(13,10)
s+= "R0rK6Z1b+kZZcvtAiJmf7VI6zTgbZmBEtgiDHI9D8+tPtf4ROlVbnnC4tx0W2UBT"+chr(13,10)
s+= "BVrhZhuP3UgQes091/h83ry29PCny3LAn0lUQfFjq7IsxIDE5iqu/wAB8iw48J2r"+chr(13,10)
s+= "bOHFvzUOxLwZVcoWwGCySq7uoERM+138Ua7yrW0Nta5IJHNbYE3HxnAIUEci6018"+chr(13,10)
s+= "JInrHlBHtwsFFFxAwypI6ErOCQeYkEGoTxZqC965iUTYvPG22wZhA/FcYKf8g7VO"+chr(13,10)
s+= "mRS+qITWcR9Bt2xtZ43A/cVZjdyiATIE5xOatXg7wv5cX7y+r/CRuaA83f8A8xv9"+chr(13,10)
s+= "IxzmmHgXgvmn9tvZDMWsr0IBxcI7Ylfluz6SNCpJBd/iGHFOGW9Qm24sxlSPiU91"+chr(13,10)
s+= "P9uR61nev01zR3dlxh5NudSMSrtbi2uwdGPmBSvy9p1Oqt9oWltvo3ZwNyMhQ9QW"+chr(13,10)
s+= "uIpj5gx9abW9GYpp4Zfq9Y2ouG7dwo9QX2EmW7nHLpWsazhT/sdtLQU3rKA2gxIU"+chr(13,10)
s+= "v5TIQxHQhmz3g9KyvTIHuW0PJ7tq2fk1xFP6Gt0rVTnRrkeNDPhOgFiyloGdiwWP"+chr(13,10)
s+= "Nm5sx9yxJ+tPTQqn+LOMAn9ltuABnVODGy3GLW6fS7yPks8pFImu2N/FHGFv2nt2"+chr(13,10)
s+= "oKc9/Rrlttysv8KuqkN94gdAd2WaswouD7yQB2Mumf5En6mrRxniltbbBIMqBaAH"+chr(13,10)
s+= "7vb6R5pPIgTCr3A5TIqCf/zoDJy7SeiLIUD5+sxQvcOriWJkp4dFtLxVnA2qRAks"+chr(13,10)
s+= "zlo9A5bjtGTyFbDwHhKWV81tpuMs7plVQwdqt16Et1jsABhekvsgYxubdjMDCgEs"+chr(13,10)
s+= "ecSCakbvivXXAmmF5lQKF/d+klQst6viYAAgZiAMVn77wxfG32XC7rf2m/d1AB2/"+chr(13,10)
s+= "Bbn8I6+0wuO+6lEAUFm5AGflBLn+350y4My27KqSo2yI7lYMD5sR+VIcWvM9slcA"+chr(13,10)
s+= "KQo6kgHPtLMv509Fn4Sum4p5tm2iKVQSwGMuzFixj3JgdOfMjavwy15mps2wJAbz"+chr(13,10)
s+= "G/y2/VP1cKKjdDZW3aVV5xGO3I/U/oKs3gexJu3PwkWgYjMBnjuMoB/loM10i3kU"+chr(13,10)
s+= "YFHQpkgUKFCgAqOhQoAFCiJoUAFQijoUAHQopoA0AUrxjoTbddUg9LFUux0bCo/y"+chr(13,10)
s+= "OEPvs9zUBrrY3C6MAiG7H3P+8TWnanTpcRrbqGR1Ksp5FSIIP0rONXon07tprpLK"+chr(13,10)
s+= "wJtXD99OWf4hMN7wcbhSaLcdfg/tXPM0LWW+PSFHWck2QTDfS3vT5r71YPDmjADX"+chr(13,10)
s+= "j8T+keyIWGPm0n3AXtVG4Nrm094MRO0FHHPfaYgmO5BAP09607h62xatizt8sIot"+chr(13,10)
s+= "7fh2BQFC+0RRhi9XQrsAJaBJABMZIEwCewk/mazG7abUXlsgmL5G8gmQGLXLpB5j"+chr(13,10)
s+= "0loPeK0+98LfI/0ql+DdADqLl4jFu3atL7O6Lcufp5f5mk/UEPE2XKzaVFCqAqqA"+chr(13,10)
s+= "ABgAAQAPaKWoUK0YCqnfaVejTIn/AIl1Z9lRXuT/ANSqPqKuNZF4p4nd1d68HOzT"+chr(13,10)
s+= "WWe3bgGbjqxR2DdTvQjpgY7lpazfHLquiAs39m14BKuLgAPMowZRPSdvP3rZvDet"+chr(13,10)
s+= "e/prN+5tm6vmQoICq5LIuckhSoJ6kE4BisKfUnKKpw2O/IYnpnvUnwbxZqNHcQC4"+chr(13,10)
s+= "1y2CQbO9tgUg4BeQoBgyAIg4gxW7n9K8katRq3jLxANHYLLm7c9NpYn1Rlo6hRn3"+chr(13,10)
s+= "O0dayV9VcKgKRJZyQZ3eYST5t9uW6ZO3oZJkxSHGuJXdU76y8WKqRsQFtijCxaB6"+chr(13,10)
s+= "L8ZJiSPkKZWtehUBWUwG3ZHqJ/GCCD8sVy3TfhXh4pX/AK9GrXWclS7Fm2pM5mQi"+chr(13,10)
s+= "wBgAT0qV1hVrgRFCoAV9MwWIMtzPOk+E8La7/wDtKu4IzAgSAH2wrMerA5AHsSe3"+chr(13,10)
s+= "V3Tm2SwbHqJPLmGfaT1INtRHuavxrrTbWIrrXiCZ5zJ/r09zVj4Jo2SGuH13AGVf"+chr(13,10)
s+= "w2gd0mMbi/l45gL71BalALzn7isJ98CAPnz+tS+h4ixuhnU7hKkHoHPvMH4DnlBF"+chr(13,10)
s+= "TsmmWQoMR8RIE9syx+dJaq+Am77m9M5z+8lj8iTH0pRiFJdjAAA+v+4qJ4rqyRsj"+chr(13,10)
s+= "Bj5d+ft07n5VmWJrS46S4ly1Kkbj6VjmWJAgd2JgD5itB4Vpjas27ZiURFYgQCwU"+chr(13,10)
s+= "Bm+prBOG6y+rLctSos72DSBLQZwQQxCk4jEgkiaumg+0m6q+tLd3sSTaeffarI3+"+chr(13,10)
s+= "mqaiNw34apQrPOB+KLupu7G1KWT8UOttQRMFLStLOe53YkHrFaFNCek2mnjDo64D"+chr(13,10)
s+= "gyARI5+3zrumIFCiJo6ABQoUKABQrnrXVAHNCgKOgACozjnCU1Voo2GHqtvElHjD"+chr(13,10)
s+= "DuOhHUE1KUKAMh1Nl9zWbg2X7X5MOjKfvKR1/oQQJnwj4hFpxYunajtCT/h3CfhP"+chr(13,10)
s+= "8Dk47Mf4vTa+PcBt6tRPouL/AMu4B6l9j+JT1X+hzVA4pwZ0by7qhbhB2tzt3R12"+chr(13,10)
s+= "nv3U59sg0iyatYzVmWQRTHg/DxYt7ZBJJZyORYxy9gAAPYCq74T8S7iNLqSVurhG"+chr(13,10)
s+= "Y/GOiknm3v1+fO5UyTTXTBR0KFAgqx3xpYOl1T2gCLN8m8o5KdzTdUOZhvMJbHIO"+chr(13,10)
s+= "uOU7FVD+1sINGlxiA6XVFvlksrAr+Xqx1QU5eM3x1lGS6nUBbhQECIOJIMconPWZ"+chr(13,10)
s+= "MH+xWSh57jcJUIoU7mlvU2VgiAQADJYjoKNRtt7IMt6rhGOckAkdYwKnuFajy4uG"+chr(13,10)
s+= "Z3KqEyBkH0oY6BQD8wcxUuTkO/jhsjU1RYc/SBGZiB37jv3+ppLiF4usMwYf4fPc"+chr(13,10)
s+= "G7COQ545cvp1fstse420SQXQ4JYnJSJg7uhP9ac29H6FcwJkCT8KgFj9SAakl+lm"+chr(13,10)
s+= "tWCXCbbrZzda211idkt8IyH9Jgz8pxzzhPUnaUQmVB3sD1Amd0d+09I709GkkFrr"+chr(13,10)
s+= "XFkDykGGjpPUD2qI4hql+7uZnhdzRMcgABgc/wCtdM8izESuMkX0mnQE37gMv6ra"+chr(13,10)
s+= "ZwOjMeQwMAcvbBpHh6B7jEcg7PjrDmF/Mr/0+9SvGLJW3p3ONy+WZ5eYjbdvy9Iq"+chr(13,10)
s+= "v6EvNwDBJM5zMtgd8zPyqa7TZJzjUlif97ccRuRMdCPMJ6+4APfNJtwZbfxoA3PY"+chr(13,10)
s+= "wJABBOVOOR5RSWg1Ktp9onfN1rh/ExK/+0CpnVaoXLisS59LQAAYmeXXm3KDmKlV"+chr(13,10)
s+= "YVmE0V/VXla2wV4IARF+FfWt0OGEdwmcR7yKjNPcdR8Mie8Ed5EVK3tAy3AGYB/u"+chr(13,10)
s+= "HaYCjDTPYxy69ab8a05S62wuyBtu9olm3XAqmObFU6D+oqq7WEK/xoGp1TIqynXB"+chr(13,10)
s+= "MdJ6diDz5Z70/wCH8evKvlrfu2rfNkViqQOw+6O4WAes1C2mIMgR3Y9PYDv7VJae"+chr(13,10)
s+= "yblm5ccxbTAYgbmuN6Vtpt6ScnkAD8q18YgbT7Zb+B+NLujHlNplcOPMDSbRYt2h"+chr(13,10)
s+= "WUqAIx/WatfD/tB09x0S5be2XIUMxXZuJAAnBIk84xzMCSMbuWLcAoGRh1H/AMTS"+chr(13,10)
s+= "1zUuY+FoYE9JiNu0dOWTzmn80jD45Z6RBnlR1gGk426bUtXrlkLhbbMWtzI+FD6V"+chr(13,10)
s+= "OOUitC4N46toFs6pXtwAvml/MUnAm5J3rJ65HuKNJVxVK0v1CkbN5XUMjKynkVII"+chr(13,10)
s+= "PyIpamTBQoVzNAB0dEKOgAUVHQoAKaba3R27yFLiB1PMH9COoI6EZFOq4oAoHG/C"+chr(13,10)
s+= "t1R6VOotAyokJqLfQbXiLijsYOBzrrgPi5rRFnUl3iBuKlb6e1203qb5ruPfvV+p"+chr(13,10)
s+= "HUaVLgi4iOOzKGH6ilhv61YzrT6hLihkYMp5EGRS1R2k4RYtOblu2EYiDtLBSOxQ"+chr(13,10)
s+= "Hb+mKX1uutWV33biW1H3nYKP15mmYHBMZNYX454/+231ZAPKtqRbDP8AF6jN3btG"+chr(13,10)
s+= "2V29yBHuKsPjXxuupttpNGtxvMw90bk9IYFkQAbmDKCpOMHrmKLqtK1lbdvaohGu"+chr(13,10)
s+= "3WEktcbmpJWQFUAAHAljzMlNrwvxcb3RTRkFgu4uk7sjYLlyBJycKokAT7wJNL63"+chr(13,10)
s+= "ihJC7QEBhAxHP5jE8650YeFSbZYknbJ8xUYCWbaIAPp9JM5mIE13r7y27bIhIFwQ"+chr(13,10)
s+= "QSsDBBPTmCZ9jHWp/Lb09DVM6jji1y2tlJeX39BgmQWknOIHflUno+IqbIiNykbf"+chr(13,10)
s+= "ShCMQQrkPOJgz3JzUDwrTadgbl/zCBmFRmUTGSfr2qUt8Jtb2FtjbxuDKwKMp6iY"+chr(13,10)
s+= "k+w5ii5xBDfonxTilxUIGwn1biBnd13E5JzzqOGlslotF7kqjXcfD+8HpEkDOD1y"+chr(13,10)
s+= "TAgYf8R4SLci5dVgRgoMlvfdGMf9qa8Iu+W3pxslsFszCk5MzyB9orM1k9DpbS0c"+chr(13,10)
s+= "8UullFu4Phclu4LXg309ORUTduTfciF3fEBmDLAifoKndXrDc9KJbQKFZxA9ZkBp"+chr(13,10)
s+= "nJOMmqprEZHZRjcxz1AiCCepw1ahb0c/K0qTJHgjbg0EDfdhZ6SPyipm8gt3EzIU"+chr(13,10)
s+= "R9R/QxNQPCpXbEfETHPpGRT+5cnmZ/3A/vSqezU1koX1+qDET+IKOf32VjB58lPz"+chr(13,10)
s+= "qE1GqcNtLZUyIbPJRuZgecKOuMjnNOXTc6byQmZPWT+AdWChY9z2mmty6b9wBFFt"+chr(13,10)
s+= "FkIMmB1Zj95zzLdccgABSF4iFvaOUfE5MA88Ko9qn7tq4dHbtvdXYsHywkMoVlmD"+chr(13,10)
s+= "u9Rz7SVpNuHqiIpQbly9zzGb1DoLYUBFGPxMD1pnf1RubgpIUAgd/SDkAfNj/PVm"+chr(13,10)
s+= "v6Ez0/omuD/Z/q9UnmIbKrI+O66tlVYYW2/3WHOKkn+y/XL8Lac/K9cB/I2oq+fZ"+chr(13,10)
s+= "3dL6VmwZuHI5GEtg/qCPpVsrCbOd20zz/rvCevsg79K5XPqULcGASWm2xIGDzA/W"+chr(13,10)
s+= "o3Qobhw5cn/DXazlUWSd0g7IEYzI616SrLftX4E+5NZZVVCKwvFSquSWUI3QuZMY"+chr(13,10)
s+= "k8qK/wAikcr3GVjg/Eblh11dlT5atuZTdZi6ZBVgqmDHKD0WQRitl4XxhL+ACGK7"+chr(13,10)
s+= "gDBlQQCVKkyASJ5HIxmsE0JOwANctYUgFWaNiKrXCGBmWkBQQMjlE1p/2VaFW0iX"+chr(13,10)
s+= "3tBbqvcRX5MyAwQxHxANuQT0Re1YWj5kvS/0IrqhWjnBQoUKABQoUKACNFXVN9S7"+chr(13,10)
s+= "KjMihiASFMiSOmAefyoAXqv8f8UWdJ6WO+7Ei2pyAeRc8lH6noDRnxGhtuQIuhGa"+chr(13,10)
s+= "3bLLF0hCyi04O1wwEgYaMkCsu4DcTWO9y4VuM37xma4iqW9JO9J37YkQoMQoE9M1"+chr(13,10)
s+= "SlaV4+P6eMkuI+Ktdd9SO6Anaq2/SoJiBJBZzBBnl8qrTIblwvfe9dfHqYGQJG4b"+chr(13,10)
s+= "nmBiMdalLviCwWZBfQjcZC2yqyIUkeuWwBmQce4jjW6BiFc3LW1lLIfMEsvQwGPM"+chr(13,10)
s+= "z0qX3T96PQjj41+DBdcqCFG0AkyvqeN0gF2P4cYInPel0uXUcLbJYRt35BCwMsA3"+chr(13,10)
s+= "MDGZ+Vc6bh1ud1wJAIGLisZ27uXIRI+sjnUTxDiCl38u3LAlEbcdqST8C8iffOfl"+chr(13,10)
s+= "WplUx1SkV0SC5cJCosEkFQ0tu6BFgDl7c8mIAba/VlLxe2BI5F0kocCQjAqDOQTP"+chr(13,10)
s+= "MHnmpHRJbtoTcALNtCh7QaMSDtYyQR2jpVe1N3dcI6Sfynl+ldHyksJW8lIV0oSF"+chr(13,10)
s+= "34XcoYjbuC9WEieWakNNvK+WzNCsQ0IzBLYj97gztkn8h3pu6L5akKQwyCQGU5xI"+chr(13,10)
s+= "5e2aX4VrtqhNxBUR0/UHDA+//ap8mz4Ee5odu0WBVHttE4BnIOIx1GQRj+lPNNoI"+chr(13,10)
s+= "QX/uhXRguWDSBleY5GpPTa9ATcdEc8pW365HaCBBH3ZIwMVEcU1z+Z5gLoWHIyDH"+chr(13,10)
s+= "THQRy9orn108Rbz0ZX9SVhlOZAHvuMEH9KGpso0kkg+nI5ErkGOhGR9TSRYPzHUH"+chr(13,10)
s+= "GDIM/L9KS1WtCyFEnmScge3uf0FWlMhyNZ2KIWtuuRnAYY6ciKWe9u5d8e9MmuFk"+chr(13,10)
s+= "WFlySRywFBJOcQPyxS9jkDB5fXPOe3am5JzXeDrWMAggZVG+hchd35k/6OlK+GbS"+chr(13,10)
s+= "h52lzzgY6dT0HemF/VrsdF9TPtExgAMCY9hAA947U74VqTbWAMnmcY+tW456HL/y"+chr(13,10)
s+= "1k94k2IkK5JKN0AG5gRgDpJA5yczVUT03FXnCCfbcxP/AKStO+I+ffDXURzatx5l"+chr(13,10)
s+= "wzs3EYBYDGOuAJGciY3QPF31c3B7+0CTzwAZ9qf8Rm7+q6Np+ya8g0hshiWt3LjM"+chr(13,10)
s+= "IIChrjbRP3jAn61fKzD7I7stfjkOfz3QD9QDWm7qm/Tlr0i9Vx7T22dGeHtwCsHe"+chr(13,10)
s+= "xKqw8sR+8ww+Gc4rN+JC1qLty9rLpbc0IgKhbS/4aKROZiZOTMDNaFxfw3ptUwe6"+chr(13,10)
s+= "r7gu2UuXLcrMgN5bANBmJmJrrhnhzSaeDbsqGX4XYs7iecPcJYfQ0jU0pWr0x+z4"+chr(13,10)
s+= "a1l26ESxeG5oDvae1bVeXmNvAgASdoya2vgvDV01i1YUlltqFDN8RjmT8zT4Guqb"+chr(13,10)
s+= "bYVbr0FChQpGAUKFCgAUKFCgAjQo6FAGe+MeA+dbOp0gS6A25rYAcFgZLIO85ZBE"+chr(13,10)
s+= "5POd2Q39MnMK5jzAyepbiorJbV7oHUm50GeUVuXHtM2nZr6s622y7oYey2Zc4Ie0"+chr(13,10)
s+= "SSSGBCmTyMrTOM+HtVqrgvLft3iBI3Ao0Bg4kW5BWZwBtO44kCM6kWhvCialEaxb"+chr(13,10)
s+= "W3kICDKjDkkncwtz1+EuwFNA91/QzkbLfpUSJW3bDBR7lBPv9at6+GL3+Je0AiWA"+chr(13,10)
s+= "a4A6vLlWggGRu+EiDFMV4JcLtaW/bL21lth3L5Yti2LitmfSArctuOmaJS8SLL6v"+chr(13,10)
s+= "EQ7cPdPLO8vvEkB5wWYLt3fFIXdIpxp+HyRO4KJYyCTgSORwrEHM4n85P/htu2g3"+chr(13,10)
s+= "3AbgUNb3AkQCBtcH4lP8PKDHKAw4hxBVR7aAKvm7kXJP1JzAUxjnVpnF2V+VC2hj"+chr(13,10)
s+= "xHV+ZcbYIXaMbidoAIgkmcc/rHKmtq3GFyaJsyROTJJxJ9hUjpOC3HAZtwU9FGQP"+chr(13,10)
s+= "c9D7c6RB33rGV5FB2tdJPXPp+QAmaR8kD4d30Qj+1Wqxw+3bQbVgzkASTPWetK3d"+chr(13,10)
s+= "O4ANxSFnB+fQ9qMF9FVtNdAPJV7tifpGaTdrhMAh/wDLMfU1Mam6gueoSArgCDEn"+chr(13,10)
s+= "bGOp/wB9qe/8PRLdt96FrgwIkDJ3ECcQM57VnEikp0vSui3c6naPr9ae+VbtiZ3Q"+chr(13,10)
s+= "AZ6T0jvTx9OC4DhpjkSQQsnECAOZrnhXCzfQkq7JG0bQfj7iB93A+fyrTkVP5/6R"+chr(13,10)
s+= "jsGjEZJPcn36R7Uem0ty8wS2jvPwqglm94HT3OBVj0XhK85CmFXkXIIJHeGWAfzr"+chr(13,10)
s+= "ReFaS1pk8u0gUfeI+Jj3dubH50EXX8KpwH7N2ZQ2suFAc+VaIn5XLhkT7KPrVjt+"+chr(13,10)
s+= "AeGqZ8p597t0/wDuqWF0nvUfrOP2LaybiOZ2lbbK7z19IacCjsz2x9qNJprGkvWw"+chr(13,10)
s+= "irZNu6bgkmQUO4sWJJMDv0FYTw7SliSMFWDHPIFzuiOvL86sOt4hduEhtQQb3/Mt"+chr(13,10)
s+= "ZZiyn0gqgMD2kYGQabrcGlQi5bMufhK3FYkzBJb0lIPTMgTzNaSLRx53RffspKqd"+chr(13,10)
s+= "QAIc+VIODtG8f1/qO9aRvrLvsy1KDU3Wd1U3babFJiWlmcKD/CEx8+xrVIBGKxXp"+chr(13,10)
s+= "G1lMTNyh5lBkrkIaRg7FylUNIqlLgRSEdUKFCgAUK5U11QAKFChQAKFChQARql8Y"+chr(13,10)
s+= "8IupNzQuLZmTZOLU9TbwfLPtBHbbk1daKk1o02vDL9fxriWmRmu2roCKWZhb3qAo"+chr(13,10)
s+= "ksXG9Rj+IVR9b4kv6q55rnaQjIGgLCPEztAzAGP/AJr0M0RBioBvCPDiCP2OxBJP"+chr(13,10)
s+= "wAGTnB5r9K1CUvSs8ud4Zd4W8HXdapcOEsqxXe+5ierBEwD7kkZJ5was3EPA/DtI"+chr(13,10)
s+= "pv6h71xjCqCULMYgIlvbBMD+9Xq15VlFt21VEQQqqIAHYVVOJ8GOovtevXXIEi0i"+chr(13,10)
s+= "gAInaWn1HmTj8gK06bMu3T7KYOHWy24oEQGUt+j09txVRJ+QFPW1AIKopMD7qkwP"+chr(13,10)
s+= "kBip9OBWVPwFv87Fv0Jj9KW1GmYW2W3tVohZwoPfAoHpUdFYj1nphQeQ9/n0pPiW"+chr(13,10)
s+= "slHAdV2oWnaXjkB6VyTJHyyemZuzwXpcdiMDavpGOk84qt8VVWO8qVtBjbtIgBll"+chr(13,10)
s+= "JG4ifjYzk8gRRmlOOft4iO4L5LbkuOwc7YfsYJYkR+KR+VONHat20uXnD+WvoRiS"+chr(13,10)
s+= "R5kzyHIcucCaJ+Dqp9aESAXfcCLQ3btg6m4QqLI6Nc9qP/hxNlrlu5CK/qRsAesq"+chr(13,10)
s+= "jCT6iSs+2OdaZ2LfM8Ihn3j0lyxlE27TJeQQZ5tJEQeczWkcEuS91UhbSC3btIOQ"+chr(13,10)
s+= "C+Zuf+YmPkoPWqTw+27X19U3GuF2PUs+7KwIHqYfKR2q+cP0nlyo+6qIY5SNzyP5"+chr(13,10)
s+= "bij6GlT7w4uTt6PyaQ1WrW2huNyH5k8gB7k4pZrTdqr/AB1bjXFAt3GRF3DahIZz"+chr(13,10)
s+= "IzHYf+o0m8MJaM9bqbl6GuKHUzFrftthefq/Ef4iJ5kbRIMDr+HLttW7a+WzFjdh"+chr(13,10)
s+= "2ci2G9IAPP4lVSck5+Uk2k1TkxYuZ6sUQfq24/lT/wAH8N3XXuXMC2SIncCySBJH"+chr(13,10)
s+= "Y7jjHKp612yixeDy14X0trTuty3+8a2Juv6nDMN4FstyImNwjl7E1UtPqWtgWrlp"+chr(13,10)
s+= "kturPZQmRsLO0Z+NYO2Y5ietX19Sl0sbgVrWVAO6GzlomTuOAOoB6GoDxaitbDhQ"+chr(13,10)
s+= "CGVjcYzcJkLEAQq7egMYFEU0zaedEb4Y0Ye/aF1D5F43GtzE3QqEQYJIUZ7Eg1tn"+chr(13,10)
s+= "Dj6QqgKqgBQIAAGAAByA7Vl3gixvP7xJGnAWy5XAL7txVpydu0EdJPetT4dbIWTW"+chr(13,10)
s+= "6/2c/I9Y9oGkNVqUtoXdgqiJJ6SQB+pFMtPxa3cVmCvChWgjJ3LugKDMjqPymsky"+chr(13,10)
s+= "SDV3TLTatLi7lIGQpBiVYx6TBicgYJo72pRV3SDMhQCJdoPpT8TGDAFADyhTXR6g"+chr(13,10)
s+= "XEDqCJnBEEEEqQR8wacUAcA13XNAUDFKFEDR0CBQoUKABXJauq4K0AJuaRfPWl2S"+chr(13,10)
s+= "uQlMY0fTzTa5pu1Smyk/IoHpDnS0m+mqYOlk8zXD6E9DT0NIJ9OBWX6sGzrdrqyo"+chr(13,10)
s+= "bz3FDAkFS5Mqo5jcD7mB0itju6I9qpHjfhjXAiiyzbd1w3FUF7art+AkznHpGSAe"+chr(13,10)
s+= "1NMrxX80RniVkCkqzbHQMjGPWTgseyxgAe/LrWNBrU2yW9Vu4GCMSu4esqwwfxGR"+chr(13,10)
s+= "jnXV8eZsDakXAYW3Lwp5YLMfQOmfYdaitFw67rLkWjBgQMyF/ExX4R7/AEzWksnD"+chr(13,10)
s+= "s5OXHqH2k4gfPQqsubg2qMzPJfq4Wtf4Zo2S2oYlmiXc/ec5dz82JP1qr+D/AAAN"+chr(13,10)
s+= "PcW/duB7qyVVRFtSQRuM5doJ7Ae8TWhWkrLe9nDd/TGgsUlc0vM1Li3XX7LPQUtM"+chr(13,10)
s+= "aVrU22VWIEkAkfMAmqJoOKW7di3aRy9x0DMEDvc2wJJCgmSQJPyrXm4aGGcTSOi4"+chr(13,10)
s+= "DatLttqiL2VQBSfZqbwzm1o9bdxasi2MBWvN5eI6IoZl6YZR+lSVr7OLt0D9p1WN"+chr(13,10)
s+= "wbbbtwZGRLuzT/0itEs2UT4Rnv1pXcaSWeA+SiL4VwK1p0VEX0ryHPMySSckkyST"+chr(13,10)
s+= "UsaOhQT0Qv2Q6lWEgwfqCCP1AqNXg6o1y4m7c7i5AiTESvrlT1KzETgjJqaoUAVe"+chr(13,10)
s+= "14ec2ypbbvS6pUkts3sSu31QrgMRuEgZjnU5b0igAN6tpDLIUQQABG0DlTyk2FAC"+chr(13,10)
s+= "Wls7ARgks5n2Z2aP9VOIrgV1NAHNc11QpjOVelQabPzpS30pCFqFCioAOhSc5FKU"+chr(13,10)
s+= "AChQoUAcMKKKUojQAnFKVxRimMJkmmV2yZPWpCk7gpAZxq/st0T3CyNetgmSiFCv"+chr(13,10)
s+= "uF3qWUfXHSrTwzw7Y09vy7NtUXrGSx7uxyx9zU0ok0sgp6N0xnZ0mOWKcDTil6FI"+chr(13,10)
s+= "ycLbArqKOhQBw1cE123KuKYwUKFCgBRTXVJClaQgUKFCgAVy1dVw1ABUKFCgD//Z"+chr(13,10)
var dc=Base64Decode(s)
savefile("lostzerling.jpg",dc)
dim as single w,h
getsize("lostzerling.jpg",w,h)
screenres w,h,32
dim as any ptr win
screencontrol 2,cast(integer,win)
 SetWindowTheme(win," "," ")
 windowtitle "Zerling"
pload("lostzerling.jpg")
sleep


 
deltarho[1859]
Posts: 4310
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by deltarho[1859] »

Lost Zergling wrote:is that it is perfidious, therefore English. :-)
Image Image
Lost Zergling
Posts: 538
Joined: Dec 02, 2011 22:51
Location: France

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by Lost Zergling »

@dodicat : I'm honored by your interest ! I think I perhaps found one small error in your code : windowtitle shall be 'zergling' instead of 'zerling'.
@deltarho(1859) : of course joking, referring to the 'perfide Albion', so far Psion(English) opl (not named Basic) shall not be forgotten in 'hall of fame', (even if very annoying).
eekee
Posts: 5
Joined: Oct 24, 2021 17:50

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by eekee »

dodicat wrote:Not much is mentioned of BBC basic.
http://www.bbcbasic.co.uk/bbcbasic/history.html
This was the most used basic in schools and universities back in the time in the UK.
It is still a neat version of basic, there are many examples on the Rosetta code site.
As from July this year seemingly the windows version is not for sale in the EU.
I did prophecy in 2016 that the EU would turn on us with a vengeance, but I didn't think a compiler was on their hit list, probably the BBC bit that did it.
I hope you'll pardon me resurecting this thread. I've been tinkering with BBC BASIC for the last couple of years, and I'd be surprised if BBC BASIC for SDL isn't a good replacement for BBC BASIC for Windows. It's free, by the same author. Here's a difference page.

I don't like BBC BASIC, myself. The included Teletext and BBC gizmo simulations are incredibly nostalgic to me, and it would be lovely to use the same language on my phone and desktop, but I'm not going to use a language which doesn't report where errors occurred. That's the biggest sin a compiler or interpreter can commit; absolutely not okay! ;) I also really don't like having to enter PROC or FN for every call of user-defined routines.

A few weeks ago, a friend told me about QB64, so I tried that. I like that it gives you a graphics window with no fuss, and I like the included IDE in which I can set a good font with 1 setting instead of 100, but I hate its sloooow compiler. Why does it compile via C++, of all languages? I feel much happier with FreeBASIC's design, and some comments in this thread have strengthened that feeling.

So, having known of FreeBASIC for years, I looked it up, compared it quite thoroughly to QB64, decided I liked it, and started using it tonight. Now I just need to start using USING, but that's another topic.

Having read this thread, I might try Oxygen Basic because I really do want an interpreter, (assuming it is an interpreter; info is scarce,) but I'm busy with FreeBASIC for now.
aurelVZAB
Posts: 666
Joined: Jul 02, 2008 14:55
Contact:

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by aurelVZAB »

is not JITTER
Last edited by aurelVZAB on Mar 13, 2023 8:21, edited 1 time in total.
jj2007
Posts: 2326
Joined: Oct 23, 2016 15:28
Location: Roma, Italia
Contact:

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by jj2007 »

aurelVZAB wrote:is not interpreter than native + JIT 32/64 bit windows compiler
IIRC it's pure Assembly under the hood
eekee
Posts: 5
Joined: Oct 24, 2021 17:50

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by eekee »

aurelVZAB wrote:is not interpreter than native + JIT 32/64 bit windows compiler
Yes. What I meant to say was an interactive Basic.
Lost Zergling
Posts: 538
Joined: Dec 02, 2011 22:51
Location: France

Re: What is the relationship between FreeBASIC, ThinBASIC and OxygenBASIC?

Post by Lost Zergling »

I think an idea of evolution or extension could be a small "runtime" (include execute.bi ?) or a dynamic compilation option but just on a targeted subset of the language: test, loops, standard datatypes, basic function on strings and access to the filesystem. Just to get the functionality (ie function execute '"code")), usefull sometime. On the other hand, it would be a lot of work, and it would not necessarily represent a "clean" way of coding, don't know.
Post Reply