Version 1.10.5.0

<< Click to Display Table of Contents >>

Navigation:  What's new > 2018 - Version history >

Version 1.10.5.0

Date

Module

What

ID

Description

Thanks to:




 



2018/10/15

 

 

 

--- thinBasic version 1.10.5.0 ---

 

---

TBGL

Updated

 

Module updated to the latest version available on thinBasic SVN server.

Introduction of large arsenal of functions for state-safe programming, see more in TBGL help file

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:

created with Inno Script Studio 2.2.2.32

compiled with Inno Setup Compiler version 5.5.9

 

 

Core

Compiler

 

thinBasic Core engine is now compiled using PB10.04

 

 

UPX

 

 

All thinBasic executables and modules are compressed with UPX 3.94

 

 

 

 

 


 

2018/10/08

AppConfig

NEW

 

<cAppConfig>.ProgId property added

 

 

AppConfig

NEW

 

<cAppConfig>.ErrorDescription method added

 

 

AppConfig

NEW

 

<cAppConfig>.ErrorPresent method added

 

 

AppConfig

NEW

 

<cAppConfig>.ErrorCode method added

 

 

AppConfig

NEW

 

<cAppConfig>.LoadString method added

 

 

AppConfig

NEW

 

<cAppConfig>.Load method added

 

 

AppConfig

NEW

 

<cAppConfig>.GetKeyName method added

 

 

AppConfig

NEW

 

<cAppConfig>.GetKeyCount method added

 

 

AppConfig

NEW

 

<cAppConfig>.GetKey method added

 

 

AppConfig

NEW

 

New AppConfig module added. It will allow handling application parameters using simple XML file structure implementing cAppConfig module class

See example at \thinBasic\SampleScripts\AppConfig\

 

2018/10/04

Core

NEW

 

Dynamic string STATIC elements in UDT can now have default value.

Example:

Type MyType

  static lValue1    as long    = 1234

  static lValue2    as Double  = 5678.901

  static sValue1    as string  = "ABCD"    '<<<

  static sValue2    as string  = "EFGH"    '<<<

  

  sName as String

  

  Function _Create()

    Me.sName = "Random Name " & Timer    

  End Function

  

  Function ToString() as String

    Function =  "   sName=" & Me.sName & 

                "   lValue1=" & Me.lValue1 & 

                "   lValue2=" & Me.lValue2 & 

                "   sValue1=" & Me.sValue1 &

                "   sValue2=" & Me.sValue2

  End Function

  

End Type

ReneMiner

2018/10/02

Core

NEW

 

Numeric STATIC elements in UDT can now have default value.

Example:

Type MyType

  static lValue1 as long    value 1234     '<<<

  static lValue2 as Double  value 5678.901 '<<<

 

  sName as String

  

  Function _Create()

    Me.sName = "Random Name " & Timer

  End Function

  

  Function ToString() as String

    Function =  "   sName=" & Me.sName & 

                "   lValue1=" & Me.lValue1 & 

                "   lValue2=" & Me.lValue2

  end Function

  

end Type

ReneMiner

 

Core

NEW

 

Introduced WString and WStringZ data type to be used only when declaring external functions with DECLARE ... statement.

When such data type is used in DECLARE parameters, thinBasic will automatically convert strings from UTF8 to Unicode.

 

A big thanks to Dale Yarker from PowerBasic forum who kindly developed an UTF8 to Unicode function: https://forum.powerbasic.com/forum/user-to-user-discussions/programming/775004-utf8tounicode?p=775209#post775209

Dale Yarker

2018/09/24

Core

NEW

 

CallDWord function added

 

2018/08/24

Core

Improved

 

Now function improved with new output formats. Also fixed default behaviour when no format passed

 

2018/08/31

thinDebug

Improved

 

Numeric scalar STATIC variables are now reported in thinDebug when inspecting values inside UDT.

 

2018/08/20

Core

NEW

 

EXPERIMENTAL

CodePtr function added.

It allows interaction between script functions and external library callbacks.

What CodePtr does is to create a compiled proxy function able to talk with external library callback calling and script source code function.

 

This will open a complete new set of developing possibilities

 

2018/08/10

ADODB

NEW

 

<ADODB_Command>.CommandType property added

 

 

ADODB

NEW

 

<ADODB_Command>.CommandText property added

 

 

ADODB

NEW

 

<ADODB_Command>.ActiveConnection property added

 

 

ADODB

NEW

 

ADODB_Command class added

 

2018/08/08

ADODB

NEW

 

<ADODB_Recordset>.CursorType property added

 

 

Core

FIX

 

If an UDT variable is defined with absolute memory allocation using Dim ... At ... its constructor and/or destructor (if present) are not executed.

UDT variable allocated with absolute memory allocation they are supposed to be used just as a placeholder.

Petr Schreiber

2018/08/02

thinAir

FIX

 

Fixed theme white space colors

 

 

thinAir

NEW

 

Added new theme: Default DOS

 

2018/08/01

Core

Improved

 

SWAP can now exchange UDT and UDT array elements

Petr Schreiber

2018/07/31

Console

FIX

000541

Console module was not anymore able to write on the standard output due to switch from WriteFile API to WriteConsoleW API. Now reverted to WriteFile

MBuckingham

 

thinAir

NEW

 

Added new theme to thinAir: Candy Land

 

 

Core

 

 

UDT_ElementByte and UDT_ElementOffset will no more generate runtime error if UDT element does not exists but instead will return a negative number.

 

 

thinAir

NEW

 

Added "text.case" option to editor.style nodes in thinAir templates.

This allows to set text case letters for any specific style. Mainly to be used for keywords.

Possible values: 0=mixed (as typed), 1=upper, 2=lower, 3=camel

 

2018/07/30

thinAir

NEW

 

thinAir will now save all source files with UTF8 Code Page BOM (Byte Order Marks: https://docs.microsoft.com/it-it/windows/desktop/Intl/using-byte-order-marks )

 

 

Core

NEW

 

UDT_ElementExists function added

 

 

Core

NEW

 

AnyType pseudo type added to be used in Function parameter when the kind of UDT is only known at runtime. Usage example:

 

Function AnyUdt_QSort(ByRef T1() As AnyType, ...)

 

2018/07/20

Core

Improved

 

TypeOf can now be used to determine types of UDT elements.

 

Example:

 

Uses "Console"

Type tMyType

  MyLong   as Long

  MyString as String

End Type

 

dim MyType as tMyType

 

Printl TypeOf(MyType.MyLong)

 

string sFieldName = "MyString"

Printl TypeOf(MyType.(sFieldName))

 

 

 

Core

Improved

 

UDT elements when used to get or set values can be indicated as a string expression including element name into a (). thinBasic will evaluate what's inside () as a string expression and will search for the resulting element name.

 

Example:

 

Type tMyType

  MyLong   as Long

  MyString as String

End Type

 

dim MyType as tMyType

 

string sFieldName = "MyString"

MyType.(sFieldName) = "ABCD"

 

sFieldName = "Long"

MyType.("My" + sFieldName) = 1234

 

 

 

Core

Improved

 

Dim ... Like ... is now able to work in conjunction with TypeOf and UDTs

 

 

Core

Improved

 

Dim ... Like ... is now able to work in conjunction with TypeOf

 

2018/07/13

SDK

NEW

 

thinBasic_ParseStringZ SDK function added

 

 

SDK

NEW

 

thinBasic_ParseWStringZ SDK function added

 

 

SDK

NEW

 

thinBasic_ParseWString SDK function added

 

2018/07/12

Core

NEW

 

PARSECOUNTF function added

Petr Schreiber

 

Core

NEW

 

PARSEF$ function added

Petr Schreiber

 

Core

NEW

 

GRABF$ function added

Petr Schreiber

2018/07/05

Core

NEW

 

RightF$ function added. Fast version of Right$ function

 

 

Core

NEW

 

LeftF$ function added. Fast version of Left$ function

 

 

Core

NEW

 

LenF function developed. Fast version of Len function

 

2018/06/19

ADODB

NEW

 

<ADODB_Recordset>.Expand method added

 

2018/05/01

UI

NEW

 

Win_GetDeviceCaps function added

 

2018/04/25

thinAir

NEW

 

Added first thinAir theme options using theme xml files in \thinBasic\ThinAir\Themes\

Use right click over editor to change theme

 

2018/04/15

thinAir

thinAir

 

Definitely switched from CodeMax control editor to Scintilla control editor

 

2018/03/25

ADODB

NEW

 

<ADODB_Connection>.LookUp method added

 

2018/03/17

 

NEW

 

Let statement added

 

2018/03/09

Core

FIX

 

Using$ was adding format char at the right of the formatted string when using strings and "&"

dco045

2018/03/07

Console

Improved

 

Console_SetStdHandle fixed and documented

EmbeddedMan

 

File

NEW

 

FILE_Attr function added

EmbeddedMan

2018/02/10

Core

Improved

 

Array Sort ... can now sort arrays of fixed strings or arrays of UDT

dco045

2018/02/09

thinAir

FIX

 

thinAir Save and Backup was saving backup files with month/day inverted in file name

dco045

2018/02/08

UI

NEW

 

Canvas_GetSize function added

 

2018/02/07

COMM

NEW

 

COMM_DeviceInfo(n).Class function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).Guid function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).FriendlyName function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).Description function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).Manufacturer function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).Driver function added

EmbeddedMan

 

COMM

NEW

 

COMM_DeviceInfo(n).Port function added

EmbeddedMan

 

COMM

NEW

 

COMM_GetDevices function added

EmbeddedMan

2018/02/06

COMM

NEW

 

COMM_TimeOut function added

EmbeddedMan

2018/01/23

thinBundle

FIX

 

It may happen that thinBundle is not able to create executable file because it is used/executed by the OS. Now this situation is checked before bundling

dco045

 

Core

NEW

 

App.Process.Memory.WorkingSetSize added

 

 

Core

NEW

 

App.Process.Memory.PeakWorkingSetSize added

 

 

Core

NEW

 

App.Process.Memory.PageFaultCount added

 

 

Core

NEW

 

System.VirtualScreen.Size added

dco045

2018/01/22

Core

NEW

 

System.Desktop.Size added

dco045

 

Core

NEW

 

App.Process.Id added

dco045

 

Core

NEW

 

System.Monitor(idx).WorkArea added

dco045

 

Core

NEW

 

System.Monitor(idx).Resolution added

dco045

 

Core

NEW

 

System.Monitor(idx).IsPrimary added

dco045

 

Core

NEW

 

System.Monitor.Count added

dco045

 

Core

NEW

 

Added System pseudo variable that will return System information

 

 

Core

NEW

 

Added App pseudo variable that will return System information

 

2017/12/27

SDK

NEW

 

Added thinBasic_ParsePtrToStringAndLen SDK function.

 

 

Core

NEW

 

MIDF$ function added. Fast version of MID$ function but with some limitations

 

 

Core

FIX

 

Fixed loading UTF8 NO-BREAK SPACE parsing (%HC2 + %HA0) that can be present in source code when copy/paste from a web page into thinAir (Scintilla version): https://en.wikipedia.org/wiki/Non-breaking_space

 

2017/12/12

UI

NEW

 

Added Dialog method <DialogName>.Redraw

 

 

UI

NEW

 

Added Image Callback Function event: <ImageName>_OnDisable

 

 

UI

NEW

 

Added Image Callback Function event: <ImageName>_OnEnable

 

 

UI

NEW

 

Added Image Callback Function event: <ImageName>_OnCallBack

 

 

UI

NEW

 

Added Image Callback Function event: <ImageName>_OnDblClk

 

 

UI

NEW

 

Added Image Callback Function event: <ImageName>_OnClick

 

 

UI

NEW

 

Added Image control property GET/SET: <ImageName>.ImageName

 

 

UI

NEW

 

Added Image control property GET: <ImageName>.ImageH

 

 

UI

NEW

 

Added Image control property GET: <ImageName>.ImageW

 

 

UI

NEW

 

Added Control method: <ControlName>.Redraw

 

2017/12/09

UI

NEW

 

CONTROL ADD IMAGE ... new control type added

 

 

UI

NEW

 

Image control has now basic common named control properties

 

 

UI

NEW

 

ListBox control text array can now be a simple string with \n delimiters

 

 

UI

NEW

 

ComboBox control text array can now be a simple string with \n delimiters

 

 

UI

NEW

 

Check3State control has now basic common named control properties

 

 

UI

NEW

 

Frame control has now basic common named control properties

 

 

UI

NEW

 

Canvas control has now basic common named control properties

 

 

UI

NEW

 

Added Treeview method: <TreeviewName>.InsertItem

 

2017/12/03

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.User

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.User

 

 

UI

NEW

 

Added RichEdit property GET/SET: <RichEditName>.Text

 

 

UI

NEW

 

Added RichEdit property GET/SET: <RichEditName>.Options

 

 

UI

NEW

 

Added RichEdit property GET/SET: <RichEditName>.EventMask

 

 

UI

NEW

 

Added RichEdit method: <RichEditName>.LimitText

 

 

UI

NEW

 

CONTROL ADD RICHEDIT ... new control type added

 

2017/11/30

UI

NEW

 

Added Control method: <ControlName>.UnTheme

 

 

UI

NEW

 

Added Control property SET: <ControlName>.Colors

 

 

UI

NEW

 

Added ProgressBar property SET: <ProgressBarName>.Range

 

 

UI

NEW

 

Added ProgressBar property GET/SET: <ProgressBarName>.Pos

 

2017/11/29

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.ExStyle

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.Style

 

2017/11/27

UI

NEW

 

Added Control property GET/SET: <ControlName>.ExStyle

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.Style

 

2017/11/26

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.Title

 

 

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.Indent

 

 

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.LineColor

 

 

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.TextColor

 

 

UI

NEW

 

Added Treeview property GET: <TreeviewName>.Count

 

 

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.BackColor

 

 

UI

NEW

 

Added Treeview property GET/SET: <TreeviewName>.ItemHeight

 

 

UI

NEW

 

Added Treeview method: <TreeviewName>.Select

 

 

UI

NEW

 

Added Treeview method: <TreeviewName>.Selected

 

 

UI

NEW

 

Added Treeview method: <TreeviewName>.Expand

 

 

UI

NEW

 

Added Treeview method: <TreeviewName>.Expanded

 

 

UI

NEW

 

Added ActiveX property GET: <ActiveXName>.ActiveXName

 

 

UI

NEW

 

Added ActiveX property GET: <ActiveXName>.ActiveXObj

 

 

UI

NEW

 

CONTROL ADD ACTIVEX ... new control type added

ACTIVEX control let hosting of visual ActiveX objects, get object iDispatch interface in order to be able to interact with the hosted object. Example: embedding a web browser inside thinBasic applications

 

2017/11/21

UI

NEW

 

Added Dialog property SET: <DialogName>.MinClientSize

 

 

UI

NEW

 

Added Dialog property SET: <DialogName>.MinSize

 

2017/11/21

UI

NEW

 

Added the possibility to attach any function to a <DialogName> using dotted notation. Example MainWindow.AnyFunctionName(...) will be part of MainWindow named dialog.

 

2017/11/17

UI

NEW

 

Added Dialog property SET: <DialogName>.Icon

 

2017/11/15

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnSetFocus

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnKillFocus

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnChar

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnGetDlgCode

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnKeyDown

 

2017/11/13

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.CW (client area width)

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.CH (client area height)

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.CW (client area width)

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.CH (client area height)

 

 

Core

Improved

 

Improved string expressions handling even when they start with numeric signs (+ or -)

LechU

2017/11/07

UI

FIX

 

Canvas_BitmapRender error when X2 and Y2 were not present

 

 

UI

NEW

 

Added Dialog method <DialogName>.End

 

2017/11/06

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.Text

 

 

UI

NEW

 

Added Dialog property GET: <DialogName>.Name

 

 

UI

NEW

 

Added Dialog property GET: <DialogName>.Id

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.Parent

 

 

UI

NEW

 

Added Dialog property GET: <DialogName>.Handle

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.ForeColor

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.BackColor

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.X

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.Y

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.W

 

 

UI

NEW

 

Added Dialog property GET/SET: <DialogName>.H

 

2017/11/05

UI

NEW

 

Added Control property GET/SET: <ControlName>.Text

 

 

UI

NEW

 

Added Control property GET: <ControlName>.Id

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.Parent

 

 

UI

NEW

 

Added Control property GET: <ControlName>.Name

 

 

UI

NEW

 

Added Control property GET: <ControlName>.Handle

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.ForeColor

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.BackColor

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.X

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.Y

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.W

 

 

UI

NEW

 

Added Control property GET/SET: <ControlName>.H

 

2017/10/23

thinAir

FIX

 

Command line not passed to script when executing in debug mode

LechU

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONCLOSEUP

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONDBLCLK

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONDROPDOWN

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONEDITCHANGE

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONEDITUPDATE

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONERRSPACE

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONSELCHANGE

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONSELCANCEL

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONSELENDOK

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONKILLFOCUS

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_ONSETFOCUS

 

 

UI

NEW

 

Added Combobox Callback Function event: <ComboboxName>_OnCallBack

 

2017/10/22

UI

NEW

 

Added TextBox Callback Function event: <TextboxName>_OnKillFocus

 

 

UI

NEW

 

Added TextBox Callback Function event: <TextboxName>_OnSetFocus

 

 

UI

NEW

 

Added TextBox Callback Function event: <TextboxName>_OnUpdate

 

 

UI

NEW

 

Added TextBox Callback Function event: <TextboxName>_OnChange

 

 

UI

NEW

 

Added TextBox Callback Function event: <TextboxName>_OnCallBack

 

2017/10/21

UI

NEW

 

Added Label Callback Function event: <LabelName>_OnDisable

 

 

UI

NEW

 

Added Label Callback Function event: <LabelName>_OnEnable

 

 

UI

NEW

 

Added Label Callback Function event: <LabelName>_OnCallBack

 

 

UI

NEW

 

Added Label Callback Function event: <LabelName>_OnDblClk

 

 

UI

NEW

 

Added Label Callback Function event: <LabelName>_OnClick

 

2017/10/17

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnRButtonUp

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnRButtonDblClk

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnRButtonDown

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnNCMOUSELEAVE

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnLButtonDblClk

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnLButtonUp

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnLButtonDown

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnNCMOUSEMOVE

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnSETCURSOR

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnNCHITTEST

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnMouseMove

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnSizing

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnSize

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnMoving

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnMove

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnShow

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnShowWindow

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnActivate

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnTimer

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnClose

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnNotify

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnDestroy

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnSysCommand

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnCommand

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnInit

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnLoad

 

 

UI

NEW

 

Added Dialog Callback Function event: <DialogName>_OnCallBack

 

2017/10/14

thinAir

NEW

 

Added Find dialog when using Scintilla Control Editor.
So far only Find is working. Replace in next versions

 

 

Excel

FIX

 

Fixed Excel module: properties assignments not working

 

2017/10/10

Math

FIX

 

Permutations function fixed

 

 

Math

FIX

 

Combinations function fixed

LechU