Version 1.11.0.0 to 1.11.2.0

<< Click to Display Table of Contents >>

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

Version 1.11.0.0 to 1.11.2.0

Date

Module

What

ID

Description

Thanks to:




 



2019/12/31

 

 

 

--- thinBasic version 1.11.0.0 to 1.11.2.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.0.2

 

 

Core

Compiler

 

thinBasic Core engine is now compiled using PB10.04

 

 

UPX

 

 

All thinBasic executables and modules are compressed with UPX 3.95

 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

 

 

 

 


 

2019/12/29

thinAir

NEW

 

Right clicking inside editor after a sub/function/type definition jump, will allow to return to previous cursor position just before the jump

 

 

thinAir

NEW

 

Right clicking inside editor over a sub/function/type name will allow to jump directly to its definition

 

2019/12/28

MMF

NEW

 

<cMMF>.FileSeek property added

 

 

MMF

NEW

 

<cMMF>.MemoryPtr property added

 

 

MMF

NEW

 

<cMMF>.FileHandle property added

 

 

MMF

NEW

 

<cMMF>.FileSize property added

 

 

MMF

NEW

 

<cMMF>.FileName property added

 

 

MMF

NEW

 

<cMMF>.Status method added

 

 

MMF

NEW

 

<cMMF>.Close method added

 

 

MMF

NEW

 

<cMMF>.Open method added

 

 

MMF

NEW

 

<cMMF>.Create method added

 

 

MMF

NEW

 

Added cMMF class used to instantiate new MMF objcts

 

 

MMF

NEW

 

Added new module named MMF working on Memory Mapped Files

 

2019/12/27

File

NEW

 

FSO_DeleteByAge function added

 

 

File

NEW

 

FILE_GetAgeInDays function added

 

2019/11/19

Core

NEW

 

NewCom CLSID ...

 

2019/11/10

Core

NEW

 

Added Shell_CaptureOutput function

 

2019/09/26

AppConfig

NEW

 

<cAppConfig>.SetKey method added

 

 

AppConfig

NEW

 

<cAppConfig>.KeyExists method added

 

2019/09/13

UI

NEW

 

Loading dialog from resource file is now able to create the following visual controls: Listbox, Treeview, RichEdit

 

2019/09/10

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Style

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.ExStyle

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.User

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.TextW

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Text

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.H

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.W

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Y

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.X

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.CW

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.CH

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Colors

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.ForeColor

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.BackColor

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Handle

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Parent

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Id

 

 

UI

NEW

 

Added Listbox property GET/SET: <ListboxName>.Name

 

2019/09/03

thinAir

NEW

 

Added a classical resource editor ResEdit under \Tools\ menu able to edit and save .RC files

 

 

UI

Improved

 

Dialog New ... improved to be able to load a full dialog window from a resource file with all its controls inside already created both as visual elements and programming objects

 

 

UI

NEW

 

Loading dialog from resource file is now able to create the following visual controls: Button, Textbox, Label, Listbox, Checkbox, Radiobutton, Frame

 

 

UI

NEW

 

Added Dialog loading from resource file (see #Resource) able loading forms

 

 

Core

NEW

 

Added #Resource directive

 

2019/08/26

File

Improved

 

FILE_Append  will now work with UTF-8 strings

 

 

Core

NEW

 

ChrToUTF8$ function added

 

 

Core

Improved

 

Save_File  will now work with UTF-8 strings

 

 

Core

Improved

 

Load_File  will now work with UTF-8 strings

 

 

File

Improved

 

FILE_Save  will now work with UTF-8 strings

 

 

File

Improved

 

FILE_Load  will now work with UTF-8 strings

 

 

File

Improved

 

FILE_Exists  will now work with UTF-8 strings

 

 

ADODB

Improved

 

<ADODB_Recordset>.CollectD(FieldName [, ShowTime]) improved. Added an optional value that will allow to return also Time part of a DateTime database field

 

 

ADODB

Improved

 

<ADODB_Recordset>.Fields(Name | lIndex).Value improved. In case of DateTime field, also the Time value will be returned and not only the date

 

 

UI

Improved

 

MENU SET TEXT ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

MENU GET TEXT ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

MENU ADD STRING ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

MENU ADD POPUP ... statement will now work with UTF-8 strings

 

2019/08/25

UI

Improved

 

DIALOG NEW ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

CONTROL_GetText function will now work with UTF-8 strings

 

 

UI

Improved

 

CONTROL GET TEXT ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

CONTROL_SetText function will now work with UTF-8 strings

 

 

UI

Improved

 

CONTROL SET TEXT ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

DIALOG GET TEXT ... statement will now work with UTF-8 strings

 

 

UI

Improved

 

DIALOG SET TEXT ... statement will now work with UTF-8 strings

 

2019/08/24

Core

Improved

 

ASC function will now work with ASCII and UTF-8 strings.

 

 

Core

NEW

 

CHRW$ function added.
While CHR$ function is used to return ASCII characters, CHRW$ is used to return UTF-8 characters
Useful for multi language UTF-8 strings where each character can be 1 or 2 or 3 or 4 bytes length.

 

2019/08/20

Core

NEW

 

Utf8ToChr$ function added

 

 

Console

NEW

 

Console_ReadCharsFromScreen function added

 

 

iNET

NEW

 

INET_DeleteUrlCacheEntry function added

 

2019/08/19

iNET

Improved

 

INET_URLGetString will now remove the file associated with the source name from the cache, if the file exists.

 

 

iNET

Improved

 

INET_UrlDownload will now remove the file associated with the source name from the cache, if the file exists.

 

 

Core

NEW

 

MIDW$ function added.
While Mid$ function is used to return a portion of a string in bytes, MIDW$ is used to return a portion of a string in characters.
Useful for multi language UTF-8 strings where each character can be 1 or 2 or 3 or 4 bytes length.

 

 

Core

NEW

 

RIGHTW$ function added.
While RIGHT$ function is used to return right most bytes from a string, RIGHTW$ is used to return right most characters from a string.
Useful for multi language UTF-8 strings where each character can be 1 or 2 or 3 or 4 bytes length.

 

 

Core

NEW

 

LEFTW$ function added.
While LEFT$ function is used to return left most bytes from a string, LEFTW$ is used to return left most characters from a string.
Useful for multi language UTF-8 strings where each character can be 1 or 2 or 3 or 4 bytes length.

 

 

Core

NEW

 

LENW function added.
While LEN function is used to calculate string length in bytes, LENW is used to return string length in characters.
Useful for multi language UTF-8 strings where each character can be 1 or 2 or 3 or 4 bytes length.

 

 

iNET

NEW

 

INET_Internet_SetOption function added

 

 

iNET

NEW

 

INET_Internet_QueryOption function added

 

2019/08/18

UI

NEW

 

<Textbox>.Text property now able to set/get UTF-8 strings

 

 

UI

NEW

 

<ButtonName>.Text property now able to set/get UTF-8 strings

 

 

thinAir

NEW

 

thinAir Notes (special comments starting with '[ in script source code) are now UTF-8 compatible

 

2019/08/16

UI

NEW

 

XPRINT_SetFont function added

 

 

UI

NEW

 

Canvas_SetFont function added

 

 

UI

NEW

 

Control Set Font ... function added

 

 

UI

NEW

 

Font_End function added

 

 

UI

NEW

 

Font_New function added

 

2019/08/14

thinAir

NEW

 

Added sub menu "Open explorer in Tool path ..." under menu /Tools/User Tools/.

 

2019/08/12

thinAir

NEW

 

thinDownload: a new thinAir tool under menu /Tools/User Tools/.

thinDownload will connect to thinBasic web site in order to determine the list  of thinBasic versions available for download. User can then choose what to do: just list to be informed or download a specific thinBasic version.

thinDownload is developed using thinBasic and is also available as thinBasic source code.

 

 

thinAir

NEW

 

thinClippy: a new thinAir tool under menu /Tools/User Tools/.

thinClippy will help users to find thinBasic syntax errors and avoid as much as possible syntax errors at runtime.

thinClippy is under development at: https://github.com/petrSchreiber/thinclippy

Petr Schreiber

2019/08/08

Core

NEW

 

Added a FreeBasic class called thinString that mimic thinBasic OLE32 BSTR strings. This class is in \thinBasic\Compilers\FreeBASIC\FreeBASIC-1.06.0\inc\thinBasic\thinStrings.bi

To use it just add the following line inside a FreeBasic piece of code:

#include Once "thinBasic/thinString.bi"

 

Class is still under development.

 

 

 

thinAir

NEW

 

Added Tools/User tools menu in order to load external tools interacting with thinAir script.

Configuration file is \thinBasic\thinAir\Tools\thinAir_Tools.ini

Every tool can have a menu name and a command line.

Command line can have some place holders like thinBasic path, thinAir path, current script full path name.

This will allow to add more and more interesting tools to thinAir

 

2019/07/30

thinAir

NEW

 

Added editor.style.margin.folding.highlightblock option in XML theme file allowing to enable/disable the highlight folding block when it is selected: block that contains the caret will be highlighted.

 

2019/07/28

UI

Improved

 

Canvas_BitmapSave now support the following image type: .png .jpg .jpeg .gif .bmp .tif

See example: \thinBasic\SampleScripts\UI\Canvas\Canvas_LoadImageToBitmap.tbasic

 

 

UI

Improved

 

Canvas_BitmapLoad now support the following image type: .png .jpg .jpeg .gif .bmp .tif

See example: \thinBasic\SampleScripts\UI\Canvas\Canvas_LoadImageToBitmap.tbasic

 

 

thinAir

NEW

 

thinAir now uses Scintilla code editor control version 4.2

 

 

Core

NEW

 

Switch function added

See example in \thinBasic\SampleScripts\General\Switch\

 

 

Core

NEW

 

Switch$ function added

See example in \thinBasic\SampleScripts\General\Switch\

 

2019/07/24

UI

NEW

 

Canvas_BitmapSaveImageFile function added

Petr Schreiber

 

UI

NEW

 

Canvas_BitmapLoadImageFile function added

Petr Schreiber

2019/07/16

OS

FIX

 

OS_GetCommand fixed when script or bundled executable contains spaces

xLeaves

2019/07/05

Core

NEW

 

Crt_CAlloc function added

 

 

Core

NEW

 

Crt_MAlloc function added

 

 

Core

NEW

 

Crt_ReAlloc function added

 

 

Core

NEW

 

Crt_Free function added

 

2019/07/02

Core

NEW

 

Global_ReAlloc function added

 

 

Core

NEW

 

Global_Free function added

 

 

Core

NEW

 

Global_Alloc function added

 

2019/06/24

Core

NEW

 

thinBasic Core engine will generate a thinBasic classical runtime error in case of errors during FreeBASIC compilation

 

2019/06/15

Core

FIX

 

Runtime error didn't show any error description when script is executed from Bundled exe.

 

2019/06/12

Core

NEW

 

FreeBasic errors during compile step will now report absolute line number inside ThinBASIC script allowing thinAir to position cursor at exact script line where error occurs

 

 

Core

NEW

 

Compiled_LastCompile_Output function added.
Will return a string containing output from FreeBASIC compilation

 

 

Core

NEW

 

Compiled_LastCompile_Result function added.
Will return a LONG number:

0 means no errors

any other value means error.

 

2019/06/01

thinAir

NEW

 

F1 help key while cursor inside #Compiled ... #EndCompiled block will try to open  FreeBASIChelp manual

 

 

Core

NEW

 

Compiled_DLL_FileName function added. This function will return the name of the DLL that will contain compiled FreeBASIC code.

 

 

Core

NEW

 

#Compiled ... #EndCompiled block will be used to define what code is FreeBASIC and will be automatically compiled upon script execution into a DLL

 

2019/05/30

Core

NEW

 

FROM THIS VERSION ThinBASIC will install a complete FreeBASIC distribution, in order to allow ThinBASIC to use this separate application to create DLLs, which can be directly used from ThinBASIC interpreted code.

 

FreeBASIC - A multi-platform BASIC Compiler

Copyright (C) 2004-2019 The FreeBASIC development team.

FreeBASIC is distributed under GNU GPLv2+ license.

 

thinBasic distribute FreeBASIC under the following circumstance:

https://www.gnu.org/licenses/gpl-faq.en.html#GPLInProprietarySystem

 

FreeBASIC in installed into the following directory:

\thinBasic\FBCompiler\FreeBASIC-1.06.0\

 

 

2019/05/28

UI

NEW

 

Canvas_BitmapSet_ByPtr function added

 

 

UI

NEW

 

Canvas_BitmapSet_ByRef function added

 

 

Core

FIX

 

VarPtr was not working for dynamic numeric arrays inside UDTs.

It was returning memory position inside the UDT Instead of returning array data pointer

 

2019/05/27

thinAir

NEW

 

Pressing SHIFT + ENTER keys on a line starting with the following starting structure:

 

Function ...

Sub ...

Type ...

For ...

If ...

#Region

While ...

 

will insert the corresponding closing structure:

 

End Function

End Sub

End Type

Next

End If

#EndRegion

Wend

 

To be able to know starting/ending structures, thinAir uses 2 Configuration files. They are is located in \thinBasic\thinAir\Syntax\thinBasic\ path.

 

Files are:
 

thinBasic_StartEnd_AutoClose.ini
distributed with thinBasic and alays replaced at every thinBasic install
 

thinBasic_StartEnd_AutoClose_Usr.ini
User defined file. Never replaced by thinBasic installation. Can be used to personalize blocks