Version 1.14

<< Click to Display Table of Contents >>

Navigation:  What's new > 2024 - 2025 Version history >

Version 1.14

Date

Module

What

ID

Description

Thanks to:




 



2025/08/11

 

 

 

--- thinBasic version 1.14.0  ---

 

 

TBGL

Updated

 

Module updated to the latest version available on GitHub: https://github.com/ThinBASIC/thinBasic_TBGL

Petr Schreiber

 

Oxygen

Updated

 

Oxygen module updated to the latest version available on GitHub: https://github.com/Charles-Pegge/OxygenBasic

Charles Pegge

 

Inno SetUp

Setup

 

thinBasic Setup application:

compiled with Inno Setup Compiler version 6.2.2

 

 

Core

Compiler

 

thinBasic Core engine is compiled using PB10.04

 

 

UPX

 

 

All thinBasic executables and DLLs modules are compressed using UPX 4.2.4 64bit

 

 

Scintilla

thinAir

 

Scintilla editor control updated to Scintilla 4.4.6.0: https://www.scintilla.org/

 

 

CURL



Curl.exe updated to version 8.14.1


 






thinBasic version 1.14.0


 

 





 

 





 

 





 

 





 

 





 

 





 

 





 

 





 

 





 

 




2025/09/27

thinDebug

Improved


Started to show data inspections for internal thinBasic classes


2025/08/25

thinDebug

Improved


Single variable preview value textbox is now font Courier New, 12



StringBuilder

NEW


<cStringBuilderArray>.Init added


2025/08/13

Core

NEW


<cDateTime>.Days added



Core

NEW


<cDateTime>.InitFromISO added


2025/08/10

Core, thinAir

NEW


#Section added. Similar to #Region



Core

NEW


<cDateTime>.InitUTC added



Core

NEW


<cDateTime>.InitFrom added



Core

NEW


<cDateTime>.InitNow added



Core

NEW


<cDateTime>.Locale added allowing to specify locale ID that will effect month name and day of week name output



Core

NEW


<cDateTime>.ToStringFormat added allowing to return a string using a format that can accept a .NET / Java-style format string and return the date/time in that format, supporting placeholders like yyyy, MM, dd, HH, mm, ss, fff, tt, dddd, MMM, etc.



Core

Improved


<cDateTime>.ToString improved with new numeric formats


2025/08/09

Core

NEW


Added #Section pre parsing directive. Similar to #Region but without an #End...



Core

FIX


Randomize is now a function (was a subroutine) that will return the calculate seed value

Randomize function not always working if used without ()


2025/08/07

AppLog

FIX


Fixed <cAppLog>.Console.WaitKey
If no console window was on screen (maybe no log output done since the waitkey) application would crash. Now if WaitKey will be executed and Console is not visible, it will be forced to be visible.



AppLog

NEW


<cAppLog>.TextFile.FileNameAuto added


2025/08/01

OS

NEW


OS_ProcessesKillAllByName function added

Erbolario

2025/07/25

Core

NEW


IsNotNull function added



Core

NEW


IsNull function added



Core

NEW


Triple quoted strings can be added to script for documentation purpose



Core

Improved


$ interpolation function will now convert singles quote char into double quotes char inside StringExpression


2025/07/21

UI

FIX


Win_GetForeground returned always zero

gddeluca

2025/07/15

Core

FIX


Wait function improved with a better time precision calculation

Petr Schreiber


Core

FIX


Fixed SDK thinBasic_Init function when used more than once in the same process

gddeluca

2025/07/01

Core

FIX


Variable definition syntax described in help was not working correctly when [scope modifier] is used:

{Variable Type} [scope modifier] VarName[(subscripts)] [AT Address] [ {VALUE | = | VALUE =} InitialValue ]

Now it is working as expected

TheInsider


Core

FIX


thinBasic_DirectPtrToDataPtr Core engine API now accepting a pDirect pointer variable as described in thinCore.Inc but a pVariable pointer fixed

gddeluca


Core

NEW


thinBasic_VariablePtrToDataPtr Core engine API added

gddeluca

2025/06/18

thinBundle

NEW


#BUNDLE MUTEX ... option added


2025/06/06

Core

NEW


Added Wait function. Differ from Sleep function. Wait will not stop message pump in case script is using an UI



UI

NEW


Added <dialogName>.DoEvents method


2025/04/22

Core

NEW


SHA256 function added


2025/04/16

UIAdv

NEW


<CWebBrowser>.Dom.GetElementInnerHtmlById(sElementId) method added



UIAdv

NEW


<CWebBrowser>.Dom.SetElementInnerHtmlById(sElementId, sValue) method added



UIAdv

NEW


<CWebBrowser>.Dom.SetElementAttributeById(sElementId, sAttribute, sValue) method added



UIAdv

NEW


<CWebBrowser>.Dom.GetElementAttributeById(sElementId, sAttribute) method added



UIAdv

NEW


<CWebBrowser> class object added



Core

Improved


Return can now have optional seconds to wait before returning


2025/04/03

UIAdv

NEW


WebBrowser_Doc2_GetElementAttributeById function added



UIAdv

NEW


WebBrowser_Doc2_SetElementAttributeById function added


2025/03/30

CJSon

 





CJSon

Improved


<CCJSon>.Path.Value function now automatically Unescape string data using JSon_StrUnEscape$



Core

NEW


JSon_StrUnEscape$ function added



Core

NEW


JSon_StrEscape$ function added



ADODB

NEW


ADODB_Connection.LookUpJSon added.


2025/03/26

Core

NEW


Retain$ function added


2025/03/25

Core

FIX


Utf8ToAnsi$ fixed. In some cases string was truncated


2025/03/13

Core

NEW


Base64_Decode$ function added



Core

NEW


Base64_Encode$ function added



thinBundle

NEW


#BUNDLE Loading ... option added


2025/03/04

Core

NEW


ClipM$ function added



Core

NEW


ClipR$ function added



Core

NEW


ClipL$ function added


2025/03/03

HTTP

NEW


URL_UnEscape$ function added



HTTP

NEW


URL_Escape$ function added


2025/02/26

Core

Improved


cDateTime.DateString added format specifier.



Core

NEW


cDateTime.BOMonth method added. Set beginning of month with optional month offset



Core

NEW


cDateTime.EOMonth method added. Set end of month with optional month offset


2025/02/25

ADODB

NEW


ADODB_Recordset.GetRows added.



Console

FIX


Console_ProgressBar GPF when PID (Progress Bar ID) was outside 1 to 255 boundaries.



Console

Improved


Console_ProgressBar added new parameter to speed up loops where progress bar is included. Inside long loops, drawing progress bar takes significant additional time. To reduce it, new parameter can be used to update progress only to some intervals.



Console

Improved


Console_ProgressBar Y coordinate can be -1 to indicate current row


2025/02/19

Examples

NEW


Added HTTP module example on how to query a GraphQL API:

\thinBasic\SampleScripts\HTTP\HTTPS_Rest_Api_GraphQL.tbasic



OS

Improved


Modified OS_Shell function using different approach in order to bypass limitation of maximum number of bytes passed on command line

TheInsider

2025/02/19

Core

NEW


Added <cOptions>.HashPtr method


2025/02/14

thinBundle

Improved


Increased the AV control wait time from 2 to 5 seconds.

Some AV systems take longer to scan the bundled executable.



thinBundle

Improved


Reduced problems related to high dpi monitor/resolutions with different scaling factors



thinBundle

Improved


Completely rewritten the logic used to define resource names inside bundled executable.
It is now possible to include module files different from standard thinBasic DLLs.


2025/02/10

Curl

NEW


Added Curl_Cert_Exists function



Curl

NEW


Added Curl_Cert_FullName function



Curl

NEW


Added Curl_Cert_Path function



Curl

NEW


Added <cUrl_Http>.UserAgent property



Curl

NEW


Added Curl_Exe_FullName function



Curl

NEW


Added Curl_Exe_Path function


2025/01/02

Core

NEW


Added ARRAY TRANSPOSE Array



Core

NEW


Added ARRAY COPY Array1, Array2

Can copy single or mufti dimensioned string or numeric arrays.

Can copy string to number or number to string arrays making necessary conversions.

Tested with up to 10 millions LONG array takes less than 0.5 second


2024/12/28

UI

NEW


Added MLGrid GET property:: <MLGridName>.Sheet(n).ID



UI

NEW


Added MLGrid method: <MLGridName>.Sheet(n).GetRight



UI

NEW


Added MLGrid method: <MLGridName>.Sheet(n).GetLeft



UI

NEW


Added MLGrid method: <MLGridName>.Sheet(n1).Swap(n2)



UI

NEW


Added MLGrid GET/SET property: <MLGridName>.Col(n).Width


2024/12/27

UI

NEW


Added MLGrid GET/SET property: <MLGridName>.Sheet(n).Name



UI

NEW


Added MLGrid GET property: <MLGridName>.Sheets.Count



UI

NEW


Added MLGrid method: <MLGridName>.Sheet(n).Select



UI

NEW


Added MLGrid method: <MLGridName>.Sheets.Add(sName [, nRows [, nCols]])


2024/12/26

thinDebug

NEW


thinDebug: added menu option to enable/disable automatic calculation of dynamic string arrays total data size.

By default it is disabled in order to speed debug execution.

It can be enabled but it can slow down debug execution when big dynamic string arrays are present.



thinDebug

FIX


thinDebug: dynamic string array/matrix total memory size non correctly calculated



Core

Improved


PARSE can now handle more than one array or matrix when dealing with rows and columns delimiters. Single or multiple data columns can be extracted in single array or matrix. Some columns can be ignored. More columns can be grouped into a matrix using array span.


2024/12/23

Core

Improved


PARSE can now handle numeric matrix output when using rows and columns delimiters

Before only string matrix were allowed.


2024/12/18

UI

NEW


Added <ControlNme>.Class read only property


2024/12/13

thinAir

NEW


Added Control Spy versions 5 and 6 in thinAir\Tools\User Tools menu

 
Control Spy is a tool to help developers understand common controls, the application of styles to them, and their response to messages and notifications. With Control Spy, you can see instantly how different styles affect the behavior and appearance of each control, and also how you can change the state of each control by sending messages.

 

Two versions of Control Spy are available, one for Comctl32.dll version 5.x and one for Comctl32.dll version 6.0 and later. ControlSpyV6.exe has an application manifest built in so that it uses the newer, themed controls, whereas ControlSpyV5.exe does not and therefore defaults to the older version.


2024/12/10

thinAir

Improved


Improved thinAir speed during application opening when more than 4 script file was opened



thinAir

Improved


Improved thinAir speed during application closing when more than 4 script file was opened


2024/12/02

Core

NEW


System.Monitor.Primary added



UI

Improved


Alternate syntax for MENU NEW POPUP



UI

Improved


Alternate syntax for MENU NEW BAR



UI

NEW


Added <dialogName>.Add.Menu ... method


2024/11/30

UI

NEW


Added <dialogName>.Add.WebBrowser ... method



UI

NEW


Added <dialogName>.Add.Treeview ... method



UI

NEW


Added <dialogName>.Add.Trackbar ... method



UI

NEW


Added <dialogName>.Add.Statusbar ... method



UI

NEW


Added <dialogName>.Add.Richedit ... method



UI

NEW


Added <dialogName>.Add.Progressbar ... method



UI

NEW


Added <dialogName>.Add.Option ... method



UI

NEW


Added <dialogName>.Add.Listview ... method



UI

NEW


Added <dialogName>.Add.Listbox ... method



UI

NEW


Added <dialogName>.Add.Frame ... method



UI

NEW


Added <dialogName>.Add.Combobox ... method



UI

NEW


Added <dialogName>.Add.Checkbox ... method



UI

NEW


Added <dialogName>.Add.MlGrid ... method



UI

NEW


Added <dialogName>.Add.Textbox ... method



UI

NEW


Added <dialogName>.Add.Button ... method



UI

NEW


Added <dialogName>.Add.Label ... method



UI

NEW


Added <dialogName>.Add. ... method to allow adding form controls directly from a form object. This syntax is equivalent to CONTROL ADD ... syntax but without the need to indicate control parent window handle because form object already knows its handle.


2024/11/28

UI

NEW


Added <controlname>.Font(FontName [, Points, Style, Charset, Pitch])



UI

NEW


Added MLGrid property method: <MLGridName>.Cols.Width


2024/11/21

OS

Improved


OS module recompiled under a new compiler version



OS

NEW


Shell_OpenFolderAndSelect function added


2024/10/21

HTTP

NEW


cHTTP_Client class object added



HTTP

NEW


New HTTP module provides methods and properties that establish an HTTP/HTTPS connection between files or objects on different Web servers. Ideal for calling REST API


2024/10/16

Console

Improved


WaitKey parsing improved.

Some source code writing could bring to script a runtime error. Valid syntax:

  WaitKey
  WaitKey 0
  WaitKey 0, "Test" In %CCOLOR_BCYAN
  WaitKey (0)
  WaitKey(0, "Press a key to continue")
  WaitKey 0, "Press a key to continue"
  WaitKey "Press a key to continue" In %CCOLOR_FGREEN
  WaitKey 3, "Wait 3 secs or press a key to continue"


2024/10/07

UI

NEW


Added MLGrid method: <MLGridName>.Get



UI

NEW


Added MLGrid method: <MLGridName>.Put


2024/09/24

LibXL

NEW


LibXL_Book_Load_FromBuffer function added



LibXL

NEW


LibXL_Book_Save_ToBuffer function added



File

Improved


Added %FILE_SAVE_BINARY encoding to File_Save function



File

FIX


Fixed File_Save when no encoding. It was using ansi encoding event when no encoding was passed



File

NEW


File_Save_Binary function added


2024/09/11

LibXL

NEW


Libxl_Book_ErrorMessage function added



UI

NEW


MLGrid_FormatColEdit function added


2024/09/03

thinAir

FIX


Fixed thinAir If/End If false code block error when If was immediately followed by an open parentheses

paravantis


 

Improved


Improved Manifest files for all thinBasic executable and Bundled Exe produced with thinBundle.


2024/09/02

thinAir

FIX


thinAir Code Browser treeview selection not changing current source code line when tree node was already selected.



thinAir

Improved


Find dialog now stores searched text as last searched text allowing Find Next command (F3) to work properly.



thinAir

NEW


CTRL + F1 can now be used to show context sensitive menu, usually visible with mouse right + click

 

 


2024/09/01

UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Headers.BackColor



UI

NEW


Added MLGrid method: <MLGridName>.Headers.Redraw



UI

NEW


Added MLGrid method GET/SET: <MLGridName>.Redim



UI

NEW


Added MLGrid method: <MLGridName>.Redraw



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Style



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.ExStyle



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.User



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.TextW



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Text



UI

NEW


Added MLGrid method: <MLGridName>.Anchor



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.H



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.W



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Y



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.X



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.CW



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.CH



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Colors



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.ForeColor



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.BackColor



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Handle



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Parent



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Id



UI

NEW


Added MLGrid property GET/SET: <MLGridName>.Name



UI

NEW


Added MLGrid named control


2024/08/28

Core

Improved


Run-time Error Window has now a Time-Stamp info



UI

NEW


<DialogName>.ShowModeless method added



UI

NEW


<DialogName>.ShowModal method added



Console

FIX


Console_ReadLine was adding an additional line on screen. Removed this behavior.

paravantis

2024/08/27

Core

Improved


Static elements inside an UDT can have a default value.

 

Example, SX is assigned value 10:

 

Type tTest
  Static SX as Long = 10
          X as Long
          Y as long  
End Type

 

Trying to assign a value to NON static elements will generate a run time error.

 

To assign a default value to UDT elements can be achieve adding UDT constructor using _Create() function in the following way:

Type tTest
  X as Long
  Y as long
 
  function _Create()
     me.x = 10
     me.y = 20
  End Function
  
End Type

 

Dim a as tTest

 

When a  new variable of type tType will be created, constructor function will be automatically executed:

Petr Schreiber

2024/08/26

Core

Improved


String arrays with no declared number of elements will automatically dimensioned when initialized with default data.

 

For example, the following array will have 3 elements:

 

dim S() as String = "A","B","C"

paravantis


Core

Improved


Numeric arrays with no declared dimension will automatically dimensioned when initialized with default data.

 

For example, the following array will have 8 elements:

 

dim N() as double =
                     0.508210507 ,2.271638259 ,0.76078255 ,0.957525991,
                     -2.387695394,0.795957904,0.693785993,-1.188321733

paravantis

2024/08/19

UI

NEW


MLGrid_Set_Focus function added


2024/08/18

UI

NEW


LibXL_Sheet_ReadNum function added


2024/08/16

UI

NEW


MLGrid_Sum_Range function added



UI

NEW


MLGrid_Get_Col_Count function added



UI

NEW


MLGrid_Get_Row_Count function added



UI

NEW


MLGrid_Sheet_Tab_Color function added



UI

Improved


MLGrid_SetGridColors added highlight color option


2024/08/13

UI

NEW


MLGrid_Sheet_Delete function added



UI

NEW


MLGrid_RedrawHeaders function added



UI

NEW


MLGrid_FreezeCol function added



UI

NEW


MLGrid_FormatColText function added



UI

NEW


MLGrid_FormatColNumber function added


2024/08/09

thinAir

FIX


Added standard File Open Dialog in "File\Open" Menu and Toolbar under CTRL+O accelerator in order to help blind disabled people to use standard dialogs they are used.

 

Moved under "File\Open Recent" menu with CTRL+1 accelerator and Toolbar new Open Recent html/css/js File Dialog

CodingBlind

2024/07/29

Core

Improved


Now new format 31: YYYYMM



Core

Improved


Date$ new format 31: YYYYMM


2024/06/26

UI

FIX


Combobox Add ...  adding data from string array sometimes had problems

KF4GHG


UI

FIX


Control Add Combobox ... adding data from string array sometimes had problems

KF4GHG


UI

FIX


Listbox Add ...  adding data from string array sometimes had problems

KF4GHG


UI

FIX


Control Add Listbox ... adding data from string array sometimes had problems

KF4GHG

2024/06/24

File

Improved


Dir_ListArray can now have multiple source paths where to search for files