Version 1.11.6.0

<< Click to Display Table of Contents >>

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

Version 1.11.6.0

Date

Module

What

ID

Description

Thanks to:




 



2020/04/20

 

 

 

--- thinBasic version 1.11.6.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 now compiled using PB10.04

 

 

UPX

 

 

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

 

 

Scintilla

thinAir

 

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

 

 






 






thinBasic version 1.11.6.0

 

2020/04/19

thinAir

FIX

000560

Indent error when using "right click/insert code block" functionality

DirectuX

2020/04/18

thinAir

Improved

 

thinAir templates (File / New) will now have personal templates tree expanded

Petr Schreiber

 

thinAir

Improved

 

Only Process monitor and Runtime error checking tabs left in output window.
Others will come when there will be a real need

 

2020/04/17

thinAir

FIX

 

thinAir themes names fixed.

In case of names containing points, names were not correctly detected.

DirectuX

2020/04/16

thinAir

Improved

 

General reduction of window flickering when resizing

 

2020/04/13

thinAir

Improved

 

Added code browser indentation level value in default theme in key:

codebrowser.options.indent.level

Indent level specify number of pixels to indent code browser items.

New default value is 10 pixels

 

 

thinAir

NEW

 

Added "View/Maximize Edit" menu command or F12 keyboard accelerator key in order to hide/show thinAir MenuBar/Toolbar/StatusBar/Output and give the maximum vertical size to edit window.

 

Use F12 to switch from hide/show state. Following image show thinAir in Maximize edit mode

Primo

2020/04/12

thinAir

Improved

 

Process window reduced to the minimum.

Added a button to enlarge/reduce size.

By default Process Monitor will be enlarged/reduced automatically before/after script execution. It is always possible to enlarge to see last execution results

 

Primo

 

UI

NEW

 

Win_DrawFrameControl function added

 

thinBasic version 1.11.5.0

2020/04/08

UI

Improved

 

Control Append Text ... is now UTF8 aware

Primo

 

thinAir

NEW

 

Click area above output window to expand or reduce it.

 

 

 

 

thinAir

NEW

 

thinAir is now able to kill a script process in case programmer loose control of it.

Added toolbar button to kill current running script

 

2020/04/03

thinAir

NEW

 

thinAir is now able to monitor script execution reporting information like process cpu usage, process memory and script duration.

 

 

Process monitoring is performed using a Web Browser embedded Control whose layout can be changed using html/Javascript templates present in \thinBasic\thinAir\ProcessMonitor\Html\

 

Programmer can copy one of the templates and personalize it.

Inside template you can find the list of place holders you can use to set where to show process info.

 

To change Process Panel layout and parameters go into default Theme and change one or more of those parameters:

 

<panels>

  <options>

 

    <item name = "process.monitoring.active">true</item>

    <item name = "process.html.template">

ProcessMonitor\Html\ProcessMonitor_Template_1Chart.htm

    </item>

    <item name = "process.monitoring.sampling.points.max">30</item>

    <item name = "process.monitoring.sampling.delay">900</item>

      <!-- DO NOT GO BELOW 500 -->

 

    <item name = "process.onstart.maximize">true</item>

    <item name = "process.onstop.minimize">false</item>

 

  </options>

</panels>

 

 

2020/04/01

thinAir

Improved

 

It will not be possible to close thinAir if there is a running script started by thinAir

 

 

thinAir

NEW

 

Added new Screen Ruler thinAir tool under Tools\User Tools menu.

It can be used to calculate screen dimensions.

Program developed and released to the public by Gary Beene in Power Basic forum

 

 

UI

FIX

 

Fixed DIALOG UNITS output variables were inverted

 

2020/03/30

thinAir

NEW

 

Added autocompletion for Statusbar named control

 

 

thinAir

NEW

 

Added autocompletion for Listbox named control

 

 

thinAir

NEW

 

Added autocompletion for Progressbar named control

 

2020/03/29

thinAir

Improved

 

You may know that SHIFT + ENTER let's triggers auto creation of blocks like Function ... End Function, If ... End If, Type ... End Type.
Now position of the cursor after triggering auto blocks is improved thanks to the placeholder "$Cursor" inside "\ThinAir\Syntax\thinBasic\thinBasic_StartEnd_AutoClose.ini" file

thinBasic Facebook page: Vinod Kc

 

thinBasic version 1.11.4.0

2020/03/28

UI

FIX

 

Dialog_BrowseForFolder didn't returned trailing "\"

DirectuX

 

UI

Improved

 

Event functions for Dialogs and/or Controls can now have dotted (.) or underscored (_) notation.

For example if programmer needs to react on OnLoad event for a dialog named frmMain, just create one of the following callback function:

frmMain_OnLoad

frmMain.OnLoad

 

Dotted notation is preferred one.

 

 

 

thinAir

NEW

 

Call Tips Key nodes can now have new child nodes in CallTips XML file:

Events

 

This node will be used to indicate Event names for those keys that have events like Dialogs, Controls, ...

Example in \ThinAir\Syntax\thinBasic\thinBasic_CallTips_Module_UI.xml

 

 

 

thinAir

NEW

 

thinAir editor is now able to parse script UDT elements and show autocompletion of declared variable/sub/functions  when using ME. inside an UDT to udentify current UDT

 

thinBasic version 1.11.3.0

2020/03/25

thinAir

NEW

 

Call Tips Key nodes can now have new child nodes in CallTips XML file:

Properties

Methods

 

Those 2 new nodes can be used to add autocompletion to module classes defined inside modules like cDateTime. Example in \ThinAir\Syntax\thinBasic\thinBasic_CallTips_Module_CDateTime.xml

 

2020/03/24

thinAir

NEW

 

thinAir editor is now able to partially parse script UDT elements and show autocompletion of declared variable/sub/functions inside the UDT

 

So far this is very experimental:

still many bugs to fix for correct parsing

still to remove unwanted code from element list

still to manage extended UDT

still to manage multiple declaration

still to make it local to the script and not global to all the loaded scripts

still to improve speed for large script

...

 

You know ... just a beginning of a new thinAir usability we hope.

 

 

File

NEW

 

FILE_COPYEX function documented. It now uses CopyFileExW Windows API function.
Still to understand how to stop/resume file copy operation. Behaves seems different from one documented in MS docs

 

2020/03/23

thinAir

NEW

 

During programming, having too many Call Tips on the screen can be disturbing. For this reason, the "showlevel" attribute has been added to the "key" node within the "\ thinBasic \ Lib \ ThinAir \ Syntax \ thinBasic \ thinBasic_CallTips * .xml" files. This new attribute can have a value from 1 to 9 where 1 indicates the maximum importance level while 9 indicates the minimum importance level.

 

In this way, each user can set the level of importance of Call Tip he wants to work by hiding or showing the most appropriate level according to his needs

 

<Key Name = "Dim" showlevel = "3"></Key>

 

 

2020/03/22

thinAir

NEW

 

Code Tips can now be divided into different XML file thanks to "source" attribute of <Module> node.

 
For example the following <Module> node instruct parser that Code Tips for TBGL module must be loaded from the external file named thinBasic_CallTips_Module_TBGL.xml:

 

<Module name = "TBGL" source = "thinBasic_CallTips_Module_TBGL.xml"></Module>

 

 

 

thinAir

NEW

 

Call Tips of script user defined functions a automatically generated at runtime

 

 

 

thinAir

NEW

 

Call Tips Key nodes in \thinBasic\Lib\ThinAir\Syntax\thinBasic\thinBasic_CallTips.xml file can now have linkto attribute in order to link a key to another key. This can be useful to avoid double writing of keys that has the same meaning.

 

Example: "CallBack" key is empty but it is linked to "CallBack Function" key

 

<Key Name = "Callback" linkto = "CallBack Function"></Key>

 

 

 

thinAir

NEW

 

Moving mouse over text inside a script will activate Call Tips window on keywords under the mouse

 

 

thinAir

NEW

 

Call Tips Key nodes can now have new child nodes in XML file:

Description

Syntax

Parameters

ReturnValue

Remarks

Example

 

Example of a Key node in \thinBasic\Lib\ThinAir\Syntax\thinBasic\thinBasic_CallTips.xml file:

<Key name = "WCon_SetFont">

  <Description>Set WCon font.</Description>

  <Syntax>WCon_SetFont FontName, FontWidth, FontHeight</Syntax>

  <Parameters>FontName: String\nFontWidth: Long\nFontHeight: Long</Parameters>

  <ReturnValue>None</ReturnValue>

  <Remarks>IMPORTANT: Execute as first script WCon command</Remarks>

  <Example>WCon_SetFont "Consolas", 10, 18</Example>

</Key>

 

And this is how it will appear:

 

2020/03/21

thinAir

NEW

 

Added insert #Region / #EndRegion block in right click menu "Insert code block ..."

 

 

thinAir

NEW

 

Call Tips are now able to show function help of script functions.

 

 

thinAir

NEW

 

Added right edge vertical line to mark lines that exceed a given length. Settings are inside default theme

 

 

WCon

NEW

 

Added GET/SET WCon_CursorSize property

 

 

WCon

NEW

 

Added WCon_CursorHide command

 

 

WCon

NEW

 

Added WCon_CursorShow command

 

 

thinAir

NEW

 

Added possibility to highlight some block of codes to improve script readability. Scintilla editor control call this "Indicators". They are used to display additional information over the top of styling.

Actualy the following blocks are "indicated":

#REGION

FUNCTION

SUB

CALLBACK

TYPE

 

To change configuration for each indicator, please refer to default theme and search for "indicator". There is an indicator for each block and configuration can be setup separately.

 

Some example:

 

 

 

 

thinAir

NEW

 

Added a new node in default Theme to allow style settings for new Call Tips.

It is possible to change font and colors.

 

Authors of themes can inherit "calltip" node in their themes and change as needed.

 

 

thinAir

Improved

 

thinAir CodeTips INI file \ThinAir\Syntax\thinBasic\thinBasic_Codetips.ini and corresponding Urs (user) version are now DEPRECATED and has been removed.

 

CodeTips are now replaced with new Calltips XML file \ThinAir\Syntax\thinBasic\thinBasic_CallTips.xml and relative Usr (user) file. Using XML notation will allow more easy change and implementation in future.

 

CallTips are used to show information/help about keywords while typing code in the following way:

 

2020/03/20

WCon

NEW

 

Added WCon_Refresh command

 

 

WCon

NEW

 

Added WCon_PaletteSetBase command

 

 

WCon

NEW

 

Added WCon_PaletteSetColor command

 

2020/03/19

WCon

NEW

 

Added WCon_PaletteGetColor command

 

 

WCon

NEW

 

Added WCon_SetFont command

 

 

WCon

NEW

 

Added WCon_Box command

 

 

WCon

NEW

 

Added WCon_Frame command

 

2020/03/18

INet

FIX

000627

INET_GetIp fixed. Item number zero was returning and empty value instead  of to return number of ips found

justin045

 

WCon

NEW

 

Added WCon_RowColToPixel command

 

 

WCon

NEW

 

Added WCon_OnPaintLast command

 

 

UI

NEW

 

Added Win_Ellipse function

 

 

UI

NEW

 

Added Win_CreateSolidBrush function

 

2020/03/17

Core

NEW

 

Added property GET/SET <cDateTime>.UnixTime
Because a Unix time stamp is always expressed in UTC, this property expects that current <cDateTime> is in local time because internally it makes temporary conversions from local to UTC to local time.

 

2020/03/16

Core

NEW

 

Added property GET/SET <cDateTime>.SystemTime

 

 

Core

NEW

 

Added property GET/SET <cDateTime>.FileTime

 

 

Core

NEW

 

Added SystemTime predefined UDT

 

 

Core

NEW

 

Added FileTime predefined UDT

 

 

Core

NEW

 

Added DateInterval predefined UDT

 

2020/03/15

Core

NEW

 

Added method <cDateTime>.TimeDiff

 

 

Core

NEW

 

Added method <cDateTime>.DateDiff

 

 

Core

NEW

 

Added method <cDateTime>.Diff

 

 

Core

NEW

 

Added method <cDateTime>.Copy

 

 

Core

NEW

 

Added method <cDateTime>.DaysInMonth

 

 

Core

NEW

 

Added method <cDateTime>.DayOfWeekString

 

 

Core

NEW

 

Added method <cDateTime>.NewTime

 

 

Core

NEW

 

Added method <cDateTime>.NewDate

 

 

Core

NEW

 

Added method <cDateTime>.ToUTC

 

 

Core

NEW

 

Added method <cDateTime>.ToLocalTime

 

 

Core

NEW

 

Added method <cDateTime>.Today

 

 

Core

NEW

 

Added method <cDateTime>.NowUTC

 

 

Core

NEW

 

Added method <cDateTime>.TimeStringFull

 

 

Core

NEW

 

Added method <cDateTime>.TimeString24

 

 

Core

NEW

 

Added method <cDateTime>.TimeString

 

 

Console

FIX

 

Extra space printed in front of Console_Write and Print when more that one comma separated strings were printed. Now it is removed

 

2020/03/14

Core

NEW

 

Added method <cDateTime>.DateStringLong

 

 

Core

NEW

 

Added method <cDateTime>.DateString

 

2020/03/09

Core

NEW

 

Added method <cDateTime>.Now

 

 

Core

NEW

 

Added method <cDateTime>.AddYears

 

 

Core

NEW

 

Added method <cDateTime>.AddSeconds

 

 

Core

NEW

 

Added method <cDateTime>.AddMSeconds

 

 

Core

NEW

 

Added method <cDateTime>.AddMonths

 

 

Core

NEW

 

Added method <cDateTime>.AddMinutes

 

 

Core

NEW

 

Added method <cDateTime>.AddHours

 

 

Core

NEW

 

Added method <cDateTime>.AddDays

 

 

Core

NEW

 

Added method <cDateTime>.SecondsToDate

 

 

Core

NEW

 

Added method <cDateTime>.DateToSeconds

 

 

Core

NEW

 

Added method <cDateTime>.ToString

 

 

Core

NEW

 

Added property GET <cDateTime>.mSecond

 

 

Core

NEW

 

Added property GET <cDateTime>.MilliSecond

 

 

Core

NEW

 

Added property GET <cDateTime>.Second

 

 

Core

NEW

 

Added property GET <cDateTime>.Minute

 

 

Core

NEW

 

Added property GET <cDateTime>.Hour

 

 

Core

NEW

 

Added property GET <cDateTime>.DayOfWeek

 

 

Core

NEW

 

Added property GET <cDateTime>.IsLeapYear

 

 

Core

NEW

 

Added property GET <cDateTime>.Month

 

 

Core

NEW

 

Added property GET <cDateTime>.Year

 

 

Core

NEW

 

Added property GET <cDateTime>.Day

 

 

Core

NEW

 

Added cDateTime Class able to manage dates and time

 

2020/03/05

UI

NEW

 

Added TreeView property: <TreeView>.ImageList

 

 

UI

NEW

 

Added TreeView method: <TreeView>.InsertItem

 

2020/03/03

UI

NEW

 

Added TrackBar named control handling

 

 

UI

NEW

 

Added ProgressBar named control handling

 

2020/02/26

WCon

NEW

 

Added WCon_Inkey$ command (wait a keyboard event)

 

 

WCon

NEW

 

Added WCon_Inkey command (check and return key state without waiting)

 

 

WCon

NEW

 

Added WCon_Locate command

 

 

WCon

NEW

 

Added GET WCon_Cols property

 

 

WCon

NEW

 

Added GET WCon_Rows property

 

 

WCon

NEW

 

Added WCon_OnTimer command

 

 

WCon

NEW

 

Added WCon_Cls command

 

 

WCon

NEW

 

Added GET/SET WCon_Row property

 

 

WCon

NEW

 

Added GET/SET WCon_Col property

 

 

WCon

NEW

 

Added GET/SET WCon_Title property

 

 

WCon

NEW

 

Added WCon_Hide command

 

 

WCon

NEW

 

Added WCon_Show command

 

 

WCon

NEW

 

Added WCon_IsWindow command

 

 

WCon

NEW

 

Added WCon_PrintL command

 

 

WCon

NEW

 

Added WCon_Print command

 

 

WCon

NEW

 

Added WCon_Window command

 

 

WCon

NEW

 

Added new module: WCon

This module allows to have a special "console" like window.

 

2020/02/19

thinAir

Improved

 

Added support for WITH / END WITH folding

 

2020/02/06

Core

NEW

 

Added LARGE_INTEGER data type to be alias of QUAD

 

 

Core

NEW

 

Added LONGLONG data type to be alias of QUAD

 

2020/02/05

File

NEW

 

Added File_CopyEX function able to copy files and call a callback script function in order to show progress.

See example in \thinBasic\SampleScripts\File\File_CopyEX.tbasic

DirectuX

2020/02/04

thinAir

Improved

 

Code browser tree expand status will be saved at thinAir exit and reloaded when thinAir starts

 

2020/02/03

thinAir

FIX

000608

Scintilla editor set a default horizontal scroll width of 2000: https://www.scintilla.org/ScintillaDoc.html#SCI_SETSCROLLWIDTH

Added an option in theme options to set a new value: editor.options.scroll.width

 

 

thinAir

FIX

 

Improved horizontal scroll bar handling

ReneMiner

2020/01/23

thinAir

Improved

 

User tools menu will now have up to 20 tools

DirectuX

 

thinAir

FIX

 

User tools menu will now load configuration also from personal user tool file \thinBasic\thinAir\Tools\thinAir_Tools_Usr.ini

Before only official file \thinBasic\thinAir\Tools\thinAir_Tools.ini was used.

 

2020/01/22

I18N

Improved

000596

Key attribute inside Sentence node can now be in UTF-8 encoding

DirectuX

 

I18N

FIX

000596

Text inside Sentence node can now be in UTF-8 encoding

DirectuX

2020/01/21

Core

FIX

000616

SWITCH$ and SWITCH functions parsing runtime error when used with non scalar variables

DirectuX

 

thinAir

FIX

 

New scripts didn't get the focus inside editor.
Cursor was focused on previous source code window.

Petr Schreiber

2020/01/20

UI

NEW

 

Automatic creation of numeric equates included into a resource file .RC during script execution.

For example if .RC file will contain

#define txtPassword 1004

in your script you will be able to use the equate:

%txtPassword

having 1004 as value

 

 

thinAir

NEW

 

Code completion will now recognize Callback functions

 

 

thinAir

FIX

 

While typing inside text formatted as comment or number or string, code completion will not appear.

 

2020/01/13

UI

NEW

 

Added Listview method: <ListView>.SetItem

 

 

UI

NEW

 

Added Listview method: <ListView>.InsertItem

 

2020/01/09

UI

FIX

 

NMHDR.Code is now defined as DWord. Before it was defined as Long

 

 

UI

NEW

 

Added Listbox method: <ListboxView>.InsertItem

 

 

UI

NEW

 

Added Listbox method: <ListboxView>.AddItem

 

 

Core

FIX

 

RAWTEXT ... END RAWTEXT was adding an incorrect $CRLF at the end of the string

DirectuX

2020/01/08

UI

NEW

 

Added Label method: <Label>.ImageH

 

 

UI

NEW

 

Added Label method: <Label>.ImageW

 

 

UI

NEW

 

Added Label method: <Label>.ImageName

 

2020/01/07

UI

NEW

 

Added Listview method: <ListView>.InsertColumn

 

 

UI

NEW

 

Added anchor property for all named controls: <ControlName>.Anchor

 

SET only property, it can be changed setting anchor edge with OR.

Possible anchor edges:

%Anchor_Left

%Anchor_Right

%Anchor_Top

%Anchor_Bottom

 

Usage example in a textbox named control. The following are equivalent:

txt1.Anchor = %Anchor_Left | %Anchor_Right | %Anchor_Top

txt1.Anchor = %Anchor_Left or %Anchor_Right or %Anchor_Top

 

 

 

UI

 

 

Added Listview named control handling

 

2020/01/06

UI

NEW

 

Added Statusbar property GET/SET: <StatusName>.Parts

DirectuX

 

UI

NEW

 

Added Statusbar property GET/SET: <StatusName>.Text

DirectuX

2020/01/04

File

Improved

 

FSO_DeletebyAge function improved with option to move deteled files into the trash

DirectuX

2020/01/02

thinAir

FIX

 

ThinAir was putting a NULL char as last char when saving script source files.

Now removed

Petr Schreiber