<< Click to Display Table of Contents >> Navigation: What's new > 2020-2024 - Version history > Version 1.11.3.0 to 1.12.0.0 |
Date |
Module |
What |
ID |
Description |
Thanks to: |
|
|||||
2024/02/03 |
|
|
|
--- thinBasic version 1.11.3.0 to 1.12.0.0 --- |
|
--- |
Updated |
|
Module updated to the latest version available on GitHub: https://github.com/ThinBASIC/thinBasic_TBGL |
Petr Schreiber |
|
--- |
Updated |
|
Oxygen module updated to the latest version available on GitHub: https://github.com/Charles-Pegge/OxygenBasic |
Charles Pegge |
|
|
Setup |
|
thinBasic Setup application: •compiled with Inno Setup Compiler version 6.2.2 |
|
|
|
Compiler |
|
thinBasic Core engine is now compiled using PB10.04 |
|
|
|
|
|
All thinBasic executables and DLLs modules are compressed using UPX 4.2.2 64bit |
|
|
|
|
Scintilla editor control updated to Scintilla 4.4.6.0: https://www.scintilla.org/ |
|
||
thinBasic version 1.12.0.0 |
|||||
|
|
||||
|
|
||||
|
|
||||
2024/02/03 |
Improved |
Added mouse wheel support in MDI Tabs. When cursor is above MDI Tabs,mouse wheel can be used to switch from one tab to the other and select corresponding code window |
|||
FIX |
Remove flickering when switching from one MDI window to the other |
||||
FIX |
Removed Bundle options from thinAir Options dialog. |
||||
Improved |
Added CallTips option while typing. It can be switched on/off from thinAir options dialog |
||||
Improved |
Added CallTips option for mouse over. It can be switched on/off from thinAir options dialog |
||||
Improved |
Calltips options is now working from thinAir option dialog and not from theme XML file |
||||
Improved |
File_Save now have ENCODING ... option in order to specify text encoding to be written: %FILE_SAVE_ANSI %FILE_SAVE_UTF8 %FILE_SAVE_UTF16 |
||||
2024/01/30 |
NEW |
Added File_Save_Utf16 function |
|||
NEW |
Added File_Save_Utf8 function |
||||
NEW |
Added File_Save_Ansi function |
||||
FIX |
Fixed thinAir open file dialog when script file name or path contains accented letters |
dco045 |
|||
FIX |
Fixed thinBundle when script file name or path contains accented letters |
dco045 |
|||
2024/01/27 |
NEW |
Added SHIFT+ENTER auto closing for Begin ControlId / End ControlId |
|||
NEW |
Added SHIFT+ENTER auto closing for Begin Const / End Cost |
||||
NEW |
Added SHIFT+ENTER auto closing for Enum / End Enum |
Petr Schreiber |
|||
NEW |
Added new script template when creating a new script: General\General_AppStartUp.xml |
Petr Schreiber |
|||
2024/01/26 |
Improved |
<cHash>.Get has now an optional default value to be returned if searched key does not exists |
Petr Schreiber |
||
2024/01/23 |
NEW |
Added thinBasic_TypeLibrary tool under Tools\User Tools menu. It can be used to inspect registered or unregistered COM Dll |
|||
2024/01/20 |
FIX |
Fixed menu \File\Save As ... recent file saving now reporting correct new file saved name |
|||
FIX |
FILE_GetDateTime fixed for long file paths/file names |
||||
FIX |
File/Open dialog not able to determine last file save date/time for long file paths/file names |
||||
Improved |
Improved File/Open script dialog. |
||||
2024/01/13 |
Improved |
Fixed Dir_ListArray new multiple wild cards masks removing possible duplicates |
Petr Schreiber |
||
2024/01/13 |
Improved |
<cHash>.FromJSon method accepts string elements name delimited by single quote ' too |
|||
2024/01/10 |
Improved |
Now new output format YYYYMMDDHHMMSS |
|||
NEW |
Added Fibonacci function |
||||
2024/01/06 |
Improved |
Return improved: it can now be used to Return from main script |
|||
2024/01/01 |
FIX |
Fixed a problem when script path and/or script file name had accented letters. |
justin045, dco045 |
||
2023/12/29 |
Improved |
CJson internal library from Dave Gamble https://github.com/DaveGamble/cJSON updated to the last version available so far: 1.7.17 https://github.com/DaveGamble/cJSON/releases/tag/v1.7.17 |
|||
NEW |
<CCJson>.IsValid method added for easier source code reading |
||||
NEW |
Path_Fix function added |
||||
NEW |
Path_Canonicalize function added |
||||
2023/12/27 |
NEW |
Added Enum ... End Enum statement to easily create organized numeric enumerators equates. Enum are also resolved inside thinAir for easy code completion |
|||
2023/12/15 |
Improved |
#Compile ... #EndCompile improved |
|||
Improved |
Improved \thinBasic\Compilers\thinBasic_Compilers.ini possible options. It is now possible to add other Basic compilers other than FreeBasic, for example PowerBasic in different configurations setup
User is responsible to install 3rd party compilers and configure them into \thinBasic\Compilers\thinBasic_Compilers_Usr.ini configuration file.
|
||||
2023/11/30 |
Improved |
Dir_ListArray can now have multiple wild cards masks in one single call. Programmer can now specify multiple masks separated by semi colon.
Example "*.dll;*.exe": dim sFiles() as String
|
|||
2023/11/29 |
Improved |
"{ProcId}" Process Id added in default format for Console, TextFile, Window AppLog output |
|||
NEW |
cAppLog.ProcId read only property added |
||||
2023/11/28 |
Improved |
Improved cHash.ToString by 10x |
|||
Improved |
Improved cOptions.ToString by 10x |
||||
2023/11/25 |
Improved |
Waitkey can now have a text to be displayed before waiting |
|||
2023/11/23 |
NEW |
Added <cHash>.FromJSon method |
|||
NEW |
Added <cHash>.Clear method |
||||
NEW |
Added <cHash>.Exists method |
||||
NEW |
Added <cHash>.Merge merge together one or more cHash objects |
||||
NEW |
Added <cHash>.ToString method |
||||
NEW |
Added <cHash>.Count method |
||||
NEW |
Added <cHash>.Del method |
||||
NEW |
Added <cHash>.Keys method |
||||
NEW |
Added <cHash>.Add method |
||||
NEW |
Added <cHash>.Get method |
||||
NEW |
Added <cHash>.Set method |
||||
NEW |
Added <cHash>.Init method |
||||
NEW |
New data structure object cHash added.
Similar to cOptions object but much more flexible and easy to be used. Elements can be defined and returned on the fly without the need to be declared. |
||||
2023/10/25 |
NEW |
Added SQuote$ function |
|||
NEW |
Added DQuote$ function |
||||
2023/10/17 |
NEW |
iDispatch methods and properties can now be specified using $() string interpolation allowing dynamic method / properties names be determined at runtime |
|||
2023/10/13 |
FIX |
Fix theme switching. Some settings didn't reset from previous theme. |
|||
2023/10/11 |
Improved |
<cAppConfig>.GetKey improved with modifiers |
|||
NEW |
<cAppConfig>.CaseSensitive property added |
||||
NEW |
Added <cOptions>.Merge merge together one or more cOptions objects |
||||
2023/10/09 |
NEW |
Added <cOptions>.Exists method |
|||
2023/08/19 |
Improved |
CJSon module is now based on latest version available of CJSon library so far: 1.7.16 https://github.com/DaveGamble/cJSON |
|||
NEW |
Added <cOptions>.FromJSon method |
||||
2023/08/17 |
Improved |
Improved Console_ProgressBar: added automatic Current value, Max value and percentage calculation inside the bar |
|||
2023/07/07 |
NEW |
Added App.Arg.[ArgumentName] function |
|||
NEW |
Added App.ArgV function |
||||
NEW |
Added App.ArgC function |
||||
2023/06/30 |
Added <cCSV>.Reset method |
||||
Added <cCSV>.Init method |
|||||
2023/06/21 |
NEW |
<ADODB_RecordSet>.Export.Csv method added. With few lines of code it is now possible to export a whole recordset with many CSV options specified in a single parameter. |
|||
NEW |
Added <cOptions>.ToString method |
||||
NEW |
Added <cOptions>.Count method |
||||
NEW |
Added <cOptions>.Del method |
||||
NEW |
Added <cOptions>.Keys method |
||||
NEW |
Added <cOptions>.Add method |
||||
NEW |
Added <cOptions>.Get method |
||||
NEW |
Added <cOptions>.Set method |
||||
NEW |
Added <cOptions>.Init method |
||||
NEW |
New data structure object cOptions added |
||||
2023/06/20 |
FIX |
AnsiToUtf8$ error in converting. |
|||
2023/06/14 |
FIX |
ADODB_Recordset.CollectD fixed. Some ODBC drivers consider Date only fields as string. |
|||
2023/06/06 |
NEW |
Added Stringify() function that will accept anything inside () transforming it into a string |
|||
2023/05/31 |
NEW |
HttpClient added as alias of ServerXMLHTTPRequest. |
|||
NEW |
UrlUnEscape utility function added |
||||
NEW |
UrlEscape utility function added |
||||
2023/05/29 |
NEW |
Scan of CSV files will work with any combination of text line ending: $CR, $LF, $CRLF |
|||
NEW |
Added <cCSV>.Data property added SET operation |
||||
2023/05/13 |
NEW |
Added cStringBuilderArray.Name property |
|||
NEW |
Added cStringBuilderArray.Size property |
||||
NEW |
Added cStringBuilderArray.Items property |
||||
NEW |
Added cStringBuilderArray.ToString method |
||||
NEW |
Added cStringBuilderArray.Clear method |
||||
NEW |
Added cStringBuilderArray.Add method |
||||
2023/05/07 |
NEW |
Added new class: cStringBuilderArray. This class permits fast string concatenation using internal array of strings growing as needed. |
|||
2023/05/06 |
NEW |
<StringBuilder>.VarPtr method added |
|||
2023/05/01 |
NEW |
Build$ function added |
|||
2023/04/30 |
NEW |
<ADODB_Connection>.ExecuteCmd function to simplify Insert/Update operations when no need to return an AdoDB Recordset object |
|||
2023/04/26 |
NEW |
Hex_To_Str$ function added |
|||
NEW |
Str_To_Hex$ function added |
||||
2023/04/18 |
Improved |
File_Append has now an optional parameter that allows programmer to set a retry count to retry appending text into a file in case of run-time error. Sometimes on slow or crowded shared/networking file systems appending data into files shared between multiple applications or too frequently append operations can produce run-time errors and text not appended. By default File_Append will now retry 5 times before giving up. Or will retry the number of times specified in new parameter |
|||
2023/04/15 |
UPX |
Improved |
UPX upgraded to version 4.0.2 |
||
2023/04/01 |
NEW |
Added <cCSV>.Errors property |
|||
NEW |
Added <cCSV>.Rows property |
||||
NEW |
Added <cCSV>.Columns property |
||||
NEW |
Added <cCSV>.Column.Index property |
||||
NEW |
Added <cCSV>.Column.Name property |
||||
NEW |
Added <cCSV>.Row.Buffer property |
||||
NEW |
Added <cCSV>.Row.Count property |
||||
2023/03/27 |
NEW |
Added <cCSV>.Column.Count property |
|||
NEW |
Added <cCSV>.Data property GET |
||||
NEW |
Added <cCSV>.FileName property |
||||
NEW |
Added <cCSV>.Char.Remark property |
||||
NEW |
Added <cCSV>.Char.Delim property |
||||
NEW |
Added <cCSV>.Load method |
||||
NEW |
|||||
NEW |
CSV NEW module working with CSV delimited files. |
||||
2023/03/08 |
Improved |
SQLite engine dll update to version 3.41.0 |
|||
2023/01/31 |
Improved |
$() string interpolation can now have personalized left and right delimiters |
|||
|
NEW |
Added System.Info.Environ |
|||
|
NEW |
||||
NEW |
Added System.Info.ComputerName |
||||
NEW |
Added System.Info.UserName |
||||
2022/12/27 |
NEW |
Added Path_IsUNCServer function |
|||
|
NEW |
Added Path_IsURL function |
|||
NEW |
Added Path_IsUNC function |
||||
NEW |
Added Path_MakeAll function |
||||
NEW |
Added Path_ToAbsolute function |
||||
NEW |
Added Path_IsRelative function |
||||
NEW |
Added LibXL_Book_Sheet_Count function |
||||
2022/12/18 |
NEW |
Added Win_LoadLibrary Windows API native function |
|||
NEW |
Added Win_LoadLibraryA Windows API native function |
||||
NEW |
Added Win_LoadLibraryW Windows API native function |
||||
NEW |
Added Win_GetProcAddress Windows API native function |
||||
NEW |
Added Win_FreeLibrary Windows API native function |
||||
2022/12/03 |
NEW |
Added <DialogName>.SendMessage method |
|||
NEW |
Added <ControlName>.SendMessage method |
||||
2022/11/29 |
NEW |
|
Semicolon ; is now considered like a space during source code parsing. |
||
2022/11/29 |
NEW |
|
Added #Define keyword that mimic C/C++ equivalent construct. #Define will create a global numeric or string variables depending on assigned value |
||
2022/11/14 |
NEW |
|
LibXL_Sheet_ReadStr function added |
||
|
NEW |
|
LibXL_Sheet_Name_Get function added |
||
|
NEW |
|
LibXL_Book_Sheet_Get function added |
||
|
NEW |
|
LibXL_Book_Load function added |
||
2022/09/30 |
FIX |
|
Fixed visualization of array of UDT elements |
MrHiggins |
|
|
NEW |
|
New Nord thinAir theme |
||
2022/09/14 |
FIX |
|
TBURL32 control will now open default browser |
||
2022/09/13 |
NEW |
|
Added #BUNDLE Manifest "ManifestXmlFileName" |
||
2022/09/10 |
NEW |
|
RGB_GetB function added |
||
|
NEW |
|
RGB_GetG function added |
||
|
NEW |
|
RGB_GetR function added |
||
|
NEW |
|
Win_SetWindowPos function added |
||
|
NEW |
|
Win_SetProcessDPIAware function added |
||
|
NEW |
|
cAppLog.Indent.Text property added |
||
|
NEW |
|
cAppLog.Indent.Val property added |
||
2022/09/06 |
NEW |
|
Canvas_GetClient function added |
||
2022/09/05 |
FIX |
|
CTRL + / CTRL - keyboard accelerator fix, where removed by mistake |
Primo |
|
2022/09/01 |
NEW |
|
Evaluate$ function added |
||
|
NEW |
|
Evaluate function added |
||
2022/08/30 |
Improved |
|
F1 context sensitive help key over a variable will try to give help on variable type |
||
2022/08/25 |
FIX |
|
Select Case ... Case num, num, ... not always working when Case used with multiple values |
||
|
NEW |
|
cAppConfig.Save method added ... still experimental |
||
2022/08/18 |
FIX |
|
Fixed folding false error of Sub / Functions inside #Compiled / #EndCompiled block |
||
|
FIX |
|
Fixed folding error for multiline strings. Folding was not counting $CRLF inside multiline |
||
|
NEW |
|
cAppLog.Console.WaitKey method added |
||
2022/08/17 |
NEW |
|
User can now Try before Use a script template when using "New" script.
If template has the <CanTry>1</CanTry> XML node set to 1, "Try" button will be activated and script template source code can be tested immediately from the Template dialog.
If you have nice little snippets that can be used as a template to show specific thinBasic functionality/example, please create a post in thinBasic community forum.
|
|
|
2022/08/16 |
NEW |
|
File_Load, File_Save, File_Exists are now also available in thinBasic Core engine too. |
|
|
2022/08/03 |
NEW |
|
$() String Interpolation new feature added |
|
|
2022/08/03 |
NEW |
|
<CCJson>.Print method added |
|
|
2022/08/01 |
NEW |
|
cAppLog.Window.Title property GET / SET added |
|
|
|
NEW |
|
cAppLog.Console.Title property GET / SET added |
|
|
2022/07/18 |
NEW |
|
Win_CallWindowProc function added |
|
|
2022/06/20 |
Improved |
|
Declared external functions in 3rd party DLLs can now have WString data type return data. |
|
|
|
Improved |
|
Declared external functions in 3rd party DLLs can now have WString data type parameters passed BYVAL. |
|
|
2022/03/28 |
Improved |
|
/* ... */ is now recognized as block commenting and code colored as comment |
|
|
|
Improved |
|
// is now recognized as line commenting and code colored as comment |
|
|
2022/03/16 |
Deprecated |
|
RAWTEXT deprecated. Please use multi line strings instead. |
|
|
2022/03/09 |
FIX |
|
Fixed RAWTEXT block folding |
ReneMiner |
|
|
FIX |
|
Fixed RAWTEXT block buffer loading |
|
|
2022/01/25 |
NEW |
|
LibXL_Book_Create function added |
|
|
|
NEW |
|
LibXL_BookXML_Create function added |
|
|
|
NEW |
|
LibXL_Book_SetKey function added |
|
|
|
NEW |
|
LibXL_Book_Sheet_Add function added |
|
|
|
NEW |
|
LibXL_Book_Release function added |
|
|
|
NEW |
|
LibXL_Book_Save function added |
|
|
|
NEW |
|
LibXL_Sheet_WriteNum function added |
|
|
|
NEW |
|
LibXL_Sheet_WriteStr function added |
|
|
|
NEW |
|
Added new LibXL module able to handle Excel files (both XLS and XLSX formats)
LibXL is not a free module but a module based on a 3rd library developer. It is fully functioning but a "not registered line" will be added in Excel files In order to use it without any limitation, a LibXL license must be purchased from LibXL producer at https://www.libxl.com/ and used inside thinBasic scripts.
If you have a license key, use it inside LibXL_Book_SetKey function in your scripts
|
|
|
2022/01/18 |
Improved |
|
Fixed manifest file for Bundled Exe setting correct high dpi awareness |
|
|
|
Improved |
|
Changed logic for Bundled Exe Isolation Path. Now it will include executable name and a GUID in order to better identofy those bundled exe not cleaning temp files after execution |
|
|
2022/01/07 |
Improved |
|
Now new output format 11 |
|
|
2022/01/03 |
NEW |
|
AppLog NEW module to be used for logging information during script execution.
AppLog implements cAppLog object
cAppLog object can log into the following logging targets: •SMTP
|
|
|
2021/10/31 |
Improved |
|
Revised thinBasic.exe manifest info |
|
|
2021/09/27 |
NEW |
|
NewID$ function added |
|
|
2021/09/20 |
NEW |
|
Base64_Mime_Decode$ function added |
|
|
|
NEW |
|
Base64_Mime_Encode$ function added |
|
|
2021/09/08 |
Improved |
|
SMTP_SendEmail and SMTP_SendHtml: message size improved to 1 Mega Byte. |
|
|
2021/08/18 |
NEW |
|
DISK_Size function added |
|
|
|
NEW |
|
DISK_Free function added |
|
|
2021/08/10 |
NEW |
|
App.Data.Exists function added |
|
|
|
NEW |
|
App.Data.Del function added |
|
|
|
NEW |
|
App.Data.Free function added |
|
|
|
NEW |
|
App.Data.Count function added |
|
|
|
NEW |
|
App.Data.Get function added |
|
|
|
NEW |
|
App.Data.Set function added |
|
|
|
NEW |
|
App.Data.PHash function added |
|
|
|
NEW |
|
App.Data.* functions added. A set of functions used to store/retrieve application data without the need to create global variables |
|
|
2021/07/01 |
Improved |
|
<cDateTime>.ToString can now have format options |
|
|
2021/06/30 |
NEW |
|
App.Environ.* function added |
|
|
2021/05/19 |
Improved |
|
CodePtr function can now have up to 6 32bit parameters |
|
|
2021/04/09 |
NEW |
|
It is now possible to declare and pass an UDT PTR as function parameters.
Example: Similar to pass and UDT ByRef but convenient in many situation when programmer have just a pointer to the UDT. |
|
|
2021/04/06 |
NEW |
|
Added Win_IsWindowUnicode function |
|
|
|
NEW |
|
Added SHA256HMAC function |
|
|
|
NEW |
|
Added Win_DispatchMessageW function |
|
|
|
NEW |
|
Added Win_DispatchMessageA function |
|
|
|
NEW |
|
Added Win_GetMessageW function |
|
|
|
NEW |
|
Added Win_GetMessageA function |
|
|
|
FIX |
|
CodePtr function error when passing parameters to Core engine. Parameter array declared with the wrong parameter variable type |
|
|
|
NEW |
|
Added Win_DefWindowProcW function |
|
|
|
NEW |
|
Added Win_DefWindowProcA function |
|
|
|
NEW |
|
Added Win_GetAppInstance function |
|
|
|
NEW |
|
Added Win_CreateWindowA function |
|
|
|
NEW |
|
Added Win_CreateWindowW function |
|
|
|
NEW |
|
Added Win_CreateWindowExA function |
|
|
|
NEW |
|
Added Win_CreateWindowExW function |
|
|
|
NEW |
|
Added Win_RegisterClassExW function |
|
|
|
NEW |
|
Added Win_RegisterClassExA function |
|
|
|
NEW |
|
Added Win_RegisterClassW function |
|
|
|
NEW |
|
Added Win_RegisterClassA function |
|
|
|
NEW |
|
Added Win_UpdateWindow function |
|
|
|
NEW |
|
Added Win_ShowWindow function |
|
|
2020/12/31 |
Improved |
|
Bin_To_Hex$ improved with new formatting options |
|
|
2020/12/08 |
NEW |
|
Added method <CCJSon>.ParseFile |
|
|
|
NEW |
|
Added property <CCJSon>.Path.Name |
|
|
2020/12/07 |
Deprecated |
|
Operator . (dot) has been deprecated as string concatenation operator |
|
|
|
NEW |
|
Added property <CCJSon>.Path.Ptr |
Petr Schreiber |
|
|
NEW |
|
Added property <CCJSon>.Path.Type$ |
Petr Schreiber |
|
|
NEW |
|
Added property <CCJSon>.Path.Type |
Petr Schreiber |
|
|
NEW |
|
Added property <CCJSon>.Path.Size |
|
|
|
NEW |
|
Added property <CCJSon>.Path.Count |
Petr Schreiber |
|
|
NEW |
|
Added property <CCJSon>.Path.Value |
Petr Schreiber |
|
|
NEW |
|
Added property <CCJSon>.Root |
|
|
|
NEW |
|
Added property <CCJSon>.Valid |
|
|
|
NEW |
|
Added method <CCJSon>.Parse |
|
|
|
NEW |
|
Added CCJSon Class able to manage json files and string buffers |
|
|
|
NEW |
|
cJSON_Path_GetValue function added |
Petr Schreiber |
|
|
NEW |
|
cJSON_Path_GetCount function added |
Petr Schreiber |
|
|
NEW |
|
cJSON_Path_GetPtr function added |
Petr Schreiber |
|
|
NEW |
|
cJSON_Path_GetType function added |
Petr Schreiber |
|
|
NEW |
|
cJSON_Path_GetTypeName function added |
Petr Schreiber |
|
2020/11/29 |
NEW |
|
Added DOMDocument.SelectNodes |
|
|
|
NEW |
|
Added DOMDocument.SelectSingleNode |
|
|
|
NEW |
|
Added DOMDocument.Load |
|
|
|
NEW |
|
Added DOMDocument.LoadXml |
|
|
|
NEW |
|
Added DOMDocument.ParseError.Url |
|
|
|
NEW |
|
Added DOMDocument.ParseError.FilePos |
|
|
|
NEW |
|
Added DOMDocument.ParseError.LinePos |
|
|
|
NEW |
|
Added DOMDocument.ParseError.Line |
|
|
|
NEW |
|
Added DOMDocument.ParseError.SrcText |
|
|
|
NEW |
|
Added DOMDocument.ParseError.Reason |
|
|
|
NEW |
|
Added DOMDocument.ParseError.ErrorCode |
|
|
|
NEW |
|
Added DOMDocument.SelectSingleNode.Text |
|
|
|
NEW |
|
Added DOMDocument.SelectSingleNode.Xml |
|
|
|
NEW |
|
Added DOMDocument.GetElementsByTagName.Count |
|
|
|
NEW |
|
Added DOMDocument.GetElementsByTagName.Text |
|
|
|
NEW |
|
Added DOMDocument.GetElementsByTagName.Xml |
|
|
|
NEW |
|
Added DOMDocument.SetProperty |
|
|
|
NEW |
|
Added DOMDocument.GetProperty |
|
|
|
NEW |
|
Added DOMDocument.Text |
|
|
|
NEW |
|
Added DOMDocument.Xml |
|
|
|
Improved |
|
Print and PrintL can now have multiple blocks of strings to print each of them having ...IN ... and ... AT ... options. Just put each block inside a () pairs. Example: PrintL ("Text....:" In %CCOLOR_FLIGHTCYAN)(Text In %CCOLOR_FLIGHTGREEN) |
|
|
2020/11/24 |
NEW |
|
Curl module now allows to perform requests using industry standard curl.exe tool. |
|
|
|
|
|
Procedural interface for command line like experience: |
|
|
|
|
|
Class based interface for more structured code: •Curl_Http class with methods for request and response.
It allows you to specify http method, headers, payload and more!
Browse the Curl_Http topic for more details and examples of use. |
|
|
|
NEW |
|
Console module can now have optional startup parameters that can be specified after Console module during USES clause. "noalloc": will not allocate a new console window on module startup.
Example: Uses "Console noalloc"
Programmer can then use Console_Alloc, Console_Hide, Console_Show, Console_Free to precisely control when to create/hide/show/free a console window. |
|
|
2020/11/20 |
NEW |
|
Console_X_Enable function added. It will allow to enable [X] close button in console window |
|
|
|
NEW |
|
Console_X_Disable function added. It will allow to disable [X] close button in console window |
|
|
|
Improved |
|
USES can now have optional information to be used by those modules using version 2 of thinBasic SDK and taking advantage of LoadLocalSymbols_V2 and UnLoadLocalSymbols_V2 SDK functions |
|
|
2020/11/16 |
Improved |
|
<ADODB_Recordset>.UpdateS method has now and optional field to specify to truncate updated values to match field size |
|
|
|
NEW |
|
$(StringExpression) string interpolation. String interpolation provides a more readable and convenient syntax to create formatted strings than a string composite formatting feature. See example in \thinBasic\SampleScripts\General\StringInterpolation.tbasic |
|
|
|
FIX |
|
APP.Process.Id fixed |
|
|
2020/11/11 |
|
|
|
Added RoundNM function to round a number to the nearest multiple of ... |
|
|
|
|
|
Added System.Metrics |
|
|
|
|
|
Added System.Memory |
|
|
|
|
|
Added System.VirtualScreen |
|
|
|
|
|
Added System.Desktop |
|
|
|
|
|
Added System.Monitor |
|
|
|
|
|
Documented System pseudo variable |
|
2020/11/09 |
NEW |
|
replwithoutacause |
||
2020/09/22 |
NEW |
|
DIR_GetTempFileName function added |
|
|
2020/09/03 |
Improved |
|
MD5 function now has File option used to pass a file name instead of a string buffer |
|
|
|
Improved |
|
MD5 function is now much much faster |
|
|
2020/09/02 |
NEW |
|
thinBundle will now check bundled exe file size. If AV software or other kind protection software detect something suspicious ... bundled exe file size less then 100KB can be an indication of executable corruption. |
|
|
|
Improved |
|
File_Move improved. Programmer can now specify to replace destination file if it exists |
|
|
2020/08/01 |
FIX |
|
Clicking #Include file in Code browser failed for paths over 100 characters |
|
|
|
FIX |
|
#Region / #EndRegion is now folded |
|
|
|
FIX |
|
Execution of temporary scripts works again (SHIFT+F5) |
|
|
|
FIX |
|
"With selection" / "Comment Out" and "Uncomment Out" |
|
|
|
FIX |
|
Delays blocking thinAIR on startup and some operations fixed |
|
|
|
Improved |
|
Using right click on #include, pointing to non-existing file, offers file creation |
|
|
|
Improved |
|
Tooltip for UDT variables |
|
|
|
Improved |
|
Error reporting changed from >>>>> to more specific message regarding detected block end |
|
|
|
Improved |
|
In case multiple files are missing during thinAir start, only one summary message displayed |
|
|
|
NEW |
|
Events code completion for dialog, button, label |
|
|
|
NEW |
|
#includedir context menu now opens the directory |
|
|
2020/07/22 |
NEW |
|
SMTP_VerifyFormat function added |
|
|
2020/06/22 |
FIX |
|
Do / Loop Until ... error when conditional clause was simple variables due to internal binary conversion instead of logical test |
DirectuX |
|
2020/04/22 |
FIX |
|
.HTML template files used for process monitoring and runtime errors didn't have <meta charset="utf-8"/> statement so errors having utf-8 strings were not recognized correctly |
DirectuX |
|
2020/04/20 |
Improved |
|
Named controls added with CONTROL ADD ... NAME ... syntax are now identified by thinAir. |
|
|
|
Improved |
|
Dialog names created with DIALOG NEW ... NAME WinName ... syntax are identified by thinAir. Dialog names will have dotted notation autocompletion. |
|
|
thinBasic version 1.11.6.0 |
|
||||
2020/04/19 |
FIX |
Indent error when using "right click/insert code block" functionality |
DirectuX |
||
2020/04/18 |
Improved |
|
thinAir templates (File / New) will now have personal templates tree expanded |
Petr Schreiber |
|
|
Improved |
|
Only Process monitor and Runtime error checking tabs left in output window. |
|
|
2020/04/17 |
FIX |
|
thinAir themes names fixed. In case of names containing points, names were not correctly detected. |
DirectuX |
|
2020/04/16 |
Improved |
|
General reduction of window flickering when resizing |
|
|
2020/04/13 |
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 |
|
|
|
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 |
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 |
|
|
NEW |
|
Win_DrawFrameControl function added |
|
|
thinBasic version 1.11.5.0 |
|||||
2020/04/08 |
Improved |
|
Control Append Text ... is now UTF8 aware |
Primo |
|
|
NEW |
|
Click area above output window to expand or reduce it.
|
|
|
|
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 |
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 |
Improved |
|
It will not be possible to close thinAir if there is a running script started by 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 |
|
|
|
FIX |
|
Fixed DIALOG UNITS output variables were inverted |
|
|
2020/03/30 |
NEW |
|
Added autocompletion for Statusbar named control |
|
|
|
NEW |
|
Added autocompletion for Listbox named control |
|
|
|
NEW |
|
Added autocompletion for Progressbar named control |
|
|
2020/03/29 |
Improved |
|
You may know that SHIFT + ENTER let's triggers auto creation of blocks like Function ... End Function, If ... End If, Type ... End Type. |
thinBasic Facebook page: Vinod Kc
|
|
thinBasic version 1.11.4.0 |
|||||
2020/03/28 |
FIX |
|
Dialog_BrowseForFolder didn't returned trailing "\" |
DirectuX |
|
|
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.
|
|
|
|
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
|
|
|
|
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 |
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 |
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. |
|
|
|
NEW |
|
FILE_COPYEX function documented. It now uses CopyFileExW Windows API function. |
|
|
2020/03/23 |
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 |
NEW |
|
Code Tips can now be divided into different XML file thanks to "source" attribute of <Module> node.
<Module name = "TBGL" source = "thinBasic_CallTips_Module_TBGL.xml"></Module>
|
|
|
|
NEW |
|
Call Tips of script user defined functions a automatically generated at runtime
|
|
|
|
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>
|
|
|
|
NEW |
|
Moving mouse over text inside a script will activate Call Tips window on keywords under the mouse |
|
|
|
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 |
NEW |
|
Added insert #Region / #EndRegion block in right click menu "Insert code block ..." |
|
|
|
NEW |
|
Call Tips are now able to show function help of script functions. |
|
|
|
NEW |
|
Added right edge vertical line to mark lines that exceed a given length. Settings are inside default theme |
|
|
|
NEW |
|
Added GET/SET WCon_CursorSize property |
|
|
|
NEW |
|
Added WCon_CursorHide command |
|
|
|
NEW |
|
Added WCon_CursorShow command |
|
|
|
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:
|
|
|
|
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. |
|
|
|
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 |
NEW |
|
Added WCon_Refresh command |
|
|
|
NEW |
|
Added WCon_PaletteSetBase command |
|
|
|
NEW |
|
Added WCon_PaletteSetColor command |
|
|
2020/03/19 |
NEW |
|
Added WCon_PaletteGetColor command |
|
|
|
NEW |
|
Added WCon_SetFont command |
|
|
|
NEW |
|
Added WCon_Box command |
|
|
|
NEW |
|
Added WCon_Frame command |
|
|
2020/03/18 |
FIX |
INET_GetIp fixed. Item number zero was returning and empty value instead of to return number of ips found |
justin045 |
||
|
NEW |
|
Added WCon_RowColToPixel command |
|
|
|
NEW |
|
Added WCon_OnPaintLast command |
|
|
|
NEW |
|
Added Win_Ellipse function |
|
|
|
NEW |
|
Added Win_CreateSolidBrush function |
|
|
2020/03/17 |
NEW |
|
Added property GET/SET <cDateTime>.UnixTime |
|
|
2020/03/16 |
NEW |
|
Added property GET/SET <cDateTime>.SystemTime |
|
|
|
NEW |
|
Added property GET/SET <cDateTime>.FileTime |
|
|
|
NEW |
|
Added SystemTime predefined UDT |
|
|
|
NEW |
|
Added FileTime predefined UDT |
|
|
|
NEW |
|
Added DateInterval predefined UDT |
|
|
2020/03/15 |
NEW |
|
Added method <cDateTime>.TimeDiff |
|
|
|
NEW |
|
Added method <cDateTime>.DateDiff |
|
|
|
NEW |
|
Added method <cDateTime>.Diff |
|
|
|
NEW |
|
Added method <cDateTime>.Copy |
|
|
|
NEW |
|
Added method <cDateTime>.DaysInMonth |
|
|
|
NEW |
|
Added method <cDateTime>.DayOfWeekString |
|
|
|
NEW |
|
Added method <cDateTime>.NewTime |
|
|
|
NEW |
|
Added method <cDateTime>.NewDate |
|
|
|
NEW |
|
Added method <cDateTime>.ToUTC |
|
|
|
NEW |
|
Added method <cDateTime>.ToLocalTime |
|
|
|
NEW |
|
Added method <cDateTime>.Today |
|
|
|
NEW |
|
Added method <cDateTime>.NowUTC |
|
|
|
NEW |
|
Added method <cDateTime>.TimeStringFull |
|
|
|
NEW |
|
Added method <cDateTime>.TimeString24 |
|
|
|
NEW |
|
Added method <cDateTime>.TimeString |
|
|
|
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 |
NEW |
|
Added method <cDateTime>.DateStringLong |
|
|
|
NEW |
|
Added method <cDateTime>.DateString |
|
|
2020/03/09 |
NEW |
|
Added method <cDateTime>.Now |
|
|
|
NEW |
|
Added method <cDateTime>.AddYears |
|
|
|
NEW |
|
Added method <cDateTime>.AddSeconds |
|
|
|
NEW |
|
Added method <cDateTime>.AddMSeconds |
|
|
|
NEW |
|
Added method <cDateTime>.AddMonths |
|
|
|
NEW |
|
Added method <cDateTime>.AddMinutes |
|
|
|
NEW |
|
Added method <cDateTime>.AddHours |
|
|
|
NEW |
|
Added method <cDateTime>.AddDays |
|
|
|
NEW |
|
Added method <cDateTime>.SecondsToDate |
|
|
|
NEW |
|
Added method <cDateTime>.DateToSeconds |
|
|
|
NEW |
|
Added method <cDateTime>.ToString |
|
|
|
NEW |
|
Added property GET <cDateTime>.mSecond |
|
|
|
NEW |
|
Added property GET <cDateTime>.MilliSecond |
|
|
|
NEW |
|
Added property GET <cDateTime>.Second |
|
|
|
NEW |
|
Added property GET <cDateTime>.Minute |
|
|
|
NEW |
|
Added property GET <cDateTime>.Hour |
|
|
|
NEW |
|
Added property GET <cDateTime>.DayOfWeek |
|
|
|
NEW |
|
Added property GET <cDateTime>.IsLeapYear |
|
|
|
NEW |
|
Added property GET <cDateTime>.Month |
|
|
|
NEW |
|
Added property GET <cDateTime>.Year |
|
|
|
NEW |
|
Added property GET <cDateTime>.Day |
|
|
|
NEW |
|
Added cDateTime Class able to manage dates and time |
|
|
2020/03/05 |
NEW |
|
Added TreeView property: <TreeView>.ImageList |
|
|
|
NEW |
|
Added TreeView method: <TreeView>.InsertItem |
|
|
2020/03/03 |
NEW |
|
Added TrackBar named control handling |
|
|
|
NEW |
|
Added ProgressBar named control handling |
|
|
2020/02/26 |
NEW |
|
Added WCon_Inkey$ command (wait a keyboard event) |
|
|
|
NEW |
|
Added WCon_Inkey command (check and return key state without waiting) |
|
|
|
NEW |
|
Added WCon_Locate command |
|
|
|
NEW |
|
Added GET WCon_Cols property |
|
|
|
NEW |
|
Added GET WCon_Rows property |
|
|
|
NEW |
|
Added WCon_OnTimer command |
|
|
|
NEW |
|
Added WCon_Cls command |
|
|
|
NEW |
|
Added GET/SET WCon_Row property |
|
|
|
NEW |
|
Added GET/SET WCon_Col property |
|
|
|
NEW |
|
Added GET/SET WCon_Title property |
|
|
|
NEW |
|
Added WCon_Hide command |
|
|
|
NEW |
|
Added WCon_Show command |
|
|
|
NEW |
|
Added WCon_IsWindow command |
|
|
|
NEW |
|
Added WCon_PrintL command |
|
|
|
NEW |
|
Added WCon_Print command |
|
|
|
NEW |
|
Added WCon_Window command |
|
|
|
NEW |
|
Added new module: WCon This module allows to have a special "console" like window. |
|
|
2020/02/19 |
Improved |
|
Added support for WITH / END WITH folding |
|
|
2020/02/06 |
NEW |
|
Added LARGE_INTEGER data type to be alias of QUAD |
|
|
|
NEW |
|
|
||
2020/02/05 |
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 |
Improved |
|
Code browser tree expand status will be saved at thinAir exit and reloaded when thinAir starts |
|
|
2020/02/03 |
FIX |
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 |
|
||
|
FIX |
|
Improved horizontal scroll bar handling |
ReneMiner |
|
2020/01/23 |
Improved |
|
User tools menu will now have up to 20 tools |
DirectuX |
|
|
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 |
Improved |
Key attribute inside Sentence node can now be in UTF-8 encoding |
DirectuX |
||
|
FIX |
Text inside Sentence node can now be in UTF-8 encoding |
DirectuX |
||
2020/01/21 |
FIX |
SWITCH$ and SWITCH functions parsing runtime error when used with non scalar variables |
DirectuX |
||
|
FIX |
|
New scripts didn't get the focus inside editor. |
Petr Schreiber |
|
2020/01/20 |
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 |
|
|
|
NEW |
|
Code completion will now recognize Callback functions |
|
|
|
FIX |
|
While typing inside text formatted as comment or number or string, code completion will not appear. |
|
|
2020/01/13 |
NEW |
|
Added Listview method: <ListView>.SetItem |
|
|
|
NEW |
|
Added Listview method: <ListView>.InsertItem |
|
|
2020/01/09 |
FIX |
|
NMHDR.Code is now defined as DWord. Before it was defined as Long |
|
|
|
NEW |
|
Added Listbox method: <ListboxView>.InsertItem |
|
|
|
NEW |
|
Added Listbox method: <ListboxView>.AddItem |
|
|
|
FIX |
|
RAWTEXT ... END RAWTEXT was adding an incorrect $CRLF at the end of the string |
DirectuX |
|
2020/01/08 |
NEW |
|
Added Label method: <Label>.ImageH |
|
|
|
NEW |
|
Added Label method: <Label>.ImageW |
|
|
|
NEW |
|
Added Label method: <Label>.ImageName |
|
|
2020/01/07 |
NEW |
|
Added Listview method: <ListView>.InsertColumn |
|
|
|
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
|
|
|
|
|
|
Added Listview named control handling |
|
|
2020/01/06 |
NEW |
|
Added Statusbar property GET/SET: <StatusName>.Parts |
DirectuX |
|
|
NEW |
|
Added Statusbar property GET/SET: <StatusName>.Text |
DirectuX |
|
2020/01/04 |
Improved |
|
FSO_DeletebyAge function improved with option to move deteled files into the trash |
DirectuX |
|
2020/01/02 |
FIX |
|
ThinAir was putting a NULL char as last char when saving script source files. Now removed |
Petr Schreiber |