|
<< Click to Display Table of Contents >> Navigation: »No topics above this level« Last Changes & Updates |
Last Changes and Updates
20.10.2025
Added Lots of LMS. - Command (LM-Studio)
Added extensive DTO. - Date/Time Operations - Section
Changes in:
CBR., CPC., DMP. DTI., FTP., GEC. HIT., IIK., ILC., IRC.,
LVI.,SAV., SIK., SRG., SSP., SYT., WBR., WIK., XOR.
ARR.Unpack Array from File Delimiter ...
09.10.2025
3 More STR.Replace Commands
Reworked GEP.
SPRE-Coding Tab will now also display Macros.
Moved several Block-Commands from STR.-Section to the new BLO. - Block-Command.
STR. - is getting too large.
ATU. & UTA. reworked.
SDL.-Command
I have removed all Stable-Diffusion Features from the help-file because they are already outdated.
STR.Clone - Removed, is now -> Str.Repeat
STR.Repeat - new (Paramater-Order changed!)
STR.String - new Command similar but repeats only characters
ARR.-Commands tested and reworked.

Rework and Test of many Array commands.
Complete Rework of Array-Sort!!
ARR.Pack Array File Delimiter fixed.
STR.Grab Between - removed - was duplicate from STR.Grab Nested
3 new STR.Find nt' occurrence Commands.
STR.FIND - updated.
STR.Grab Delimited -> STR.Parse Any
STR.Grab Single -> STR.Parse
STR.FIND ANY enhanced
STR.Find Best Match updated
STR.Count - tested
STR.CiContains / STR.Contains updated now allows 63 items to check for
STR.CiInstr - improved
STR.Retain - updated now makes sense
New:
STR.CiRetain
Updated and new:
STR.Delete / STR.DeleteTo
LMS. - works is used to connect to LM-Studio
CAX. - completely revised, new features added: MIN(x,y ...), MAX(x,y ...) and much more.
CAX. is internally used by the Formula-Solver of the MCP-Server and has been completely rewritten with new functions.
It may not be compatible to the old version.
PUS. changed.
RPL. - updated
GRA. - updated
ACH. + BCH. Updated
22.07.025
New Command:
TCP. - Network Client Commands
MCP. - MCP-Server Commands
Many new FIL.DIRectory-Commands
CPR. and KPN. - renoviert
Complete Set of HTTP-Commands to call any API you want.
Includes a complete MCP-Server and TCP-Commands.
The included "HTP.SetDebug|1" Option enables you to debug any connection at the lowest level to find out if problems are from you or from the server.
JIC. - Jump if Contains - Single Line Variant of IVC.
Help-File:
IXX. - commands moved from Variable-Section to IXX.-Section
New Set of Block Commands

These are useful for AI-API Calls.
01.07.2025
The new release has so many new features that I will not be able to test everything prior release.
Possibly there will be a release and I will fix things later.
AIU. works and enables the user to use possibly all "OpenAI compatible Endpoints with the SPR.
New Command: Added GPP. - Get Path Part
this is an Alternative to GFT. which is a bit complicated to use.
$$FIL=c:\Folder\Filename.pdf
GPP.fullpath,nameonly|$$FIL|$$PAA|$$NAA
' $$PAA will return: "c:\Folder\"
' $$NAA will return: "Filename"
also new: PJO. - Path Join Command
this command helps to Join Pathes and not worrry about \.
Fixes and Improvemens:
STR.GrabBetween was repaired
FEF. - Pattern was repaired.

The current version of the Smart Package Robot is excellent for creating RTF files using artificial intelligence.
This raises a practical question: can I create smaller files that I can later combine into a larger file? Technically, it's not straightforward, as it involves more than just appending files; many factors need to be considered.
Therefore, we now have two new files, rtfjoiner8 and rtfjoiner9, designed specifically for this purpose. You can find them in the Utility directory. Both files come with German and English user manuals.
Essentially, these files are invoked with the names of the RTF files, allowing you to combine them—rtfjoiner9 operates more autonomously, while rtfjoiner8 requires you to specify two or three file names—to create larger documents.
#SmartPackageRobot #RTFfiles #ArtificialIntelligence #FileCombining #UtilityTools
As GFS. is difficult to use we will keep it for special purposes and have new commands:
GPS. - Get positive Filtered String -> Keep all characters given in P2, inside P1 remove all otehr characters from P1/P3
GNS. - Get negative filtered String -> Opposite Remove all given characters from P1/P3, keep the rest.
Help for GFS. updated.
SRT.-Command: Switched Sorting order
Introduced $pip$ -> | that will evaluate to a | Symbol.
While being normally a Parameter-delimiter, this way you can use it as a parameter in String commands.
ACH. and BCH. - Commands got a rework. Should now accept negative indices also.
TXT.Find Line with was repaired.
FEF.was repaired (using a wild card was broken, wildcard-matching was broken is now repaired).
IIC. / NIC. got a P3 Parameter for case insensitive search.
JIU./JNU. exchanged Conditions
GVT. - fixed, result was wrong
STW. / CFW. could fail when the Window-Title Text was longer then 260 character. The limit is now 4096 characters.
-> 2 Testing Apps repaired
-> Pattern-Recorder repaired and new Pattern Recorder V.2 added.
STR.GetNested was repaired.
New Commands:
CLB.Trim - Trim Characters directly in the Clipboiard
CLB.Clip All - Trim Characters and words directly in the clipboard
New FIlesystem commands:

New commands to find out if something is a File or a directory.
New Samplescript: Picture-Resizer uses these commands.
New Series of AID. - Commands to use DeepSeek via API.

DeepSeek AI is supported out of the box.

Neue Implementierung der OpenAI - API (ChatGPT & Co.)

Support for Grok/ X-API out of the box.

Support for Google AI via API
6 new Mouse Click Commands and changed organization in help.
NEW: - MEL. / MER. / MEM.
- MIL. / MIR. / MIM.

Full featured JSON-Parser to enable you to call and analyze any API you want.

New CLB.-Commands
Unicode Handling with the SPR is not yet intuitive, yet we work on it in small steps.
CLB.wfs|$$CLP -> speichert ein WString der in einer Variable ist in das Clipboard
CLB.wts|$$CLP -> holt ein WString aus edm Clipboard nd speichert diesen in Variable
New Pattern-Recorder
Now we deliver 2 Versions of the Pattern Recorder.
- One (the old design) was fixed,, it had some resource-leaks in the past
- second is the new 2.0 Version it can record much more Pattern-Sizes yet is a bit more complicated.
Changes with the
AIC. and AIK. and AIM. - Unicode commands
New Datastructures: 2D-Array and Associative Array
Implementing a lot of new data types like Associative Arrays, Queue's Stacks Lists etc.
All of them Auto-Dim. Some of them support multiple Data types like Integer, String (Text) or Extended Precision FP.
They are in the new section "Data-Structures".
Also the new section "Collections and Fast-Arrays" is in this Section.
A lot of new Data-structures

ARM. - Mutidimensional Array

These are 2-Dimensional Arrays with a numeric Index and the second Side can be 64-bit INT, FP-Extended or String

Dynamic Autodim FP, 64-bit INT and String-Arrays these have been moved here from Variables.

Unlike ARR. - these new ARS. - Arrays are native Arrays and they are unlimited in number (ARR. is limited to 32 Arrays)

ASA. - Associative Arrays, named Arrays - also Autodim and native, dynamic

Dedicated LIST-Datatype, native, Autodim and unlimited

Native dynamic, Auto-Dim Que-Datatype

Native dynamic Auto-Dim Stack Datatype
New STR.-Commands for removing multi-character delimiters from a string.
This was not perfectly safe possible using VBT./VRT. and VLT.
For removing single character delimiters prefer using VBT. etc.

New Trim-Commands for multi-character delimiter sequences
The Pixel-Change was reworked to work with Browser-Windows.
RRA. - changed
IRA. - changed
WRA. - changed
New command
WRN. - Wait Rect Not altered
Important: General Rework of the Collections. They are not more compatible with earlier versions.
Collections are now able to store Binary data, there is no more the limitations of the NULL Character as before.
Also collections are now also Fast-Arrays.
There are multiple commands letting you treat these 1025 Collections (0 - 1024) like Arrays.
02.10.2024
Changes in the Auto-Update Program to remove ADS-Parts from downloaded large files.
22.09.2024
The old "Editor-Hang when too many DBP.-Commands" Problem was now removed. The Editor will not more hang.
03.09.2024
Autopdate-Option activated! You can now update your System sing the Autopdate Tool.
GFS.-Repaired and Help improved.
12.07.2024
Added Sample Script in Collections. Improvements in the SPRE.
12.07.2024
AIK. - use Anthropic AI now implemented.
- AIK.Set Key: Bug fix with Set-key
- AIK.Ask Claude will now enable to use Anthropic A and even the newest Models, also this command supports sending of Pictures.
- AIK.Ask Chat will enable you to make use of all features that the Anthropic Claude 3.5 AI offers. From analyzing pictures, comparing pictures, making dialogues.
- Bug Fixed with AIx.Set Key-Command. External Key may not have been found.
Preprocessor Update
- Added #OREM Option to #ONCE / #OEND
- Added Option to nest #ONCE / #OEND
- Added #VARD - Preprocessor Variables
- Added #IFVA / #ELSA / #EIFA - Conditional Compile-Option for Preprocessor (Can use Preprocessor Variables, and evaluate Calculations in (..))
- Added #SCSA / #CASE / #CSEA / #ENSA - Multiple Select Case Conditional Compiling for the Preprocessor. Useful if you want to make many Versions of a Script. (Can use Preprocessor Variables, and evaluate Calculations in (..))
19.06.2024
- ANA.Mix_Colors und Add_Colors
have been Speed-optimized, several ANA. Commands were not recognized using the Long Command-Form, this should work now.
ANA.Logic has been repaired
ANA.Insert - new command to Insert a watermark into a picture.
MOD.New has been changed. Instead of generating an error Message it will just switch to that existing Module.
ANA.From Clipboard has been changed.
30.05.2024
- AIC.Generate Image-Command repaired.
Added "Twitterbar Advanced" to Sample-Scripts.
- Added PIS.SetToolTip
This will add Tool tips to the Buttons of Plugin01.
![]()
Twitterbar - use AI-Functions in your social Media.
25.05.2024
- WFV./PRV.-Command repaired.
- #prc# and #pri# repaired
- Added Watchdog-Script-Sample in Parallel Robot Operation
Modules are now copied into a new starting Parallel-Robot.
Therefore any new Parallel-robot also has all Module-Spaces from the Main-Robot.
17.03.2024
- ARR.-Command revisited.
New:
ARR.Get Dim|(Array-No.|$$RET
Will return the number of the last Array-Element. The number of Elements is higher by +1 as w can also fill Array-Position "0" with an Element.
ARR.Show|(Array-No.)[|$$RET]
ARR.Show INT|(Array-No.)
ARR.Show FP|(Array-No.)
These are Commands that will be useful for Debugging. They will list all Array-Elements in a Console Window.
Changed:
ARR.Unpack Array From Var Delimiter|(Array-No.|$$RET
This is useful for restoring the state of an array that was previously packed using ARR.Pack Array to Var but can also be used for Lines from CSV-Files see this Sample:
$$TST=Hallo;wie;geht;es;dir
ARR.Unpack Array From Var Delimiter|0|;|$$TST
ARR.Get Dim|0|$$RET
MBX.Array Dimension: $$RET
ENR.

You can also unpack delimited/packed Data into multiple Array and this way duplicate the whole Array in one Task.
17.03.2024
- FEC. - For Each Collection-Item. Enumerate Collection Items.
- IIC./NIC. - IF ... Collection-Item.
- GMD. got new Option "l" to calculate the Checksum that is used in Type 2 Collections and FEC.
12.02.2024
- New Commandset for Application Testing:
TST. - Test Commands

ITS./NTS. - Conditional Statements for Testing, can test validity of an IBAN.
Besides the documented commands the following experimental commands are implemented and can be used:
• ITS.Is DHL Tracking|P1
• ITS.Is Deutsche Post Tracking|P1
• ITS.Is 4PX Tracking|P1
• ITS.Is FedEx Tracking|P1
• ITS.Is DPD Tracking|P1
• ITS.Is China Post Tracking|P1
- New Commands with Collections:

New Collection Commands
05.02.2024
Corrected Proxy-Settings with AI-Commands.
22.01.2024
- New Command:
MOD. - Modulspaces.
Assume that you have several already made Scripts that you want to put together.
As the Variables with the SPR are not very long, you may have used often the same Variables.
Like $$INP, or $$TXT. and $$FIL.
Now there is a solution - Modules. From this update, you have Modules for "global Variables".
All variables in a Module-Space are permanent to this Module-Space - unless explicitly deleted.
Labels are NOT local to Modules, because they have no limit in length.
Using Modules, current Local Variables §§XXX may be useless (much slower) and may therefore be removed in a later version, also they are not part of a Module.
You can Import and export Variables from any Module to any other Module, "as copy" (similar to BYVAL) or "move" (similar to BYREF).

07.01.2024
- New Command:
BIT.Swap Byte Order|$$NUM[$$RES]
will swap the Byte order of both 16-Bit Words in the 32-Bit DWORD (Numeric Parameter, Numeric Result).

Also these new BIT.-Commands.
STR.Swap Byte Order|$$STR[$$RES]
will swap the Byte order of a complete String that is assumed to contain UTF-16 Data: String Parameter, String Result.
- OGS. and OGT. Got a new Option. You can now put all the Labels into a second Variable.
OGS./OGT. now supports a "Second Parameter Variable" because this way you can do split the Line instead of using a Single very long line:
VAR.$$JMP=But_Dictate|But_Dict_Rework|
$$JMP+But_Dict_Rhyme|But_Rework|But_Pos_Comment|
$$JMP+But_Neg_Comment|But_Funny_Comment|But_to_Schiller
$$JMP+|But_to_Goethe|But_to_Roth|But_to_SamHawkins|
$$JMP+But_to_Busch|But_to_Rhyme|But_Switch|SetLan|ToEng|ToGer|
$$JMP+ToSpan|Undo|DoPIA|DoPIB|WhatIs|DoCommand|DumpASC|Test|enz
' And use this in OGS.
OGS.$$BNU|$$JMP
- IDC.-Command got more Options to compare dates, supports now "P2"
- TCA.Command has now more Options, see there. For example it can now convert a Timestamp like this:

- STR. - Commands sorted and some new commands added.
- removed Bug with the new Open AI TTS-Commands.
- moved the CLP. - Command into the new Clipboard-Commands Section
New Command VAU. to assign Unicode to a variable.
VAU.$$UNI=ff fe 3e d8 37 dd 0d 20 42 26 0f fe 57 00 65 00 6e 00 6e 00 b4 00 73 00 20 00 73 00 6f 00
CLB.Set Text|$$UNI
CLB.Show
02.12.2023
New Command: CLB.
This is a group of new clipboard commands that helps to post Unicode and other content using AI into websites and social networks.

New Command: OGS. and OGT.
OGS. - ON x GOSUB - this command can be used to jump using GSB. to up to 40 Label depending on the given Value in P1.
OGT. - ON x GOTO - this command can be used to jump using GTO. to up to 40 Label depending on the given Value in P1.
New Command: RIV. and #aiv# as a special variable.
They belong together.
RIV. will set #aiv# to "0" and each call to #aiv# will increase the value returned by #aiv#.
This makes it perfect for situations where you need increasing numbers.
To be able to use #aiv# also for Loops like DOL. .. OOP. we now also have #anv# which contains the value of #aiv# but will NOT auto-increment.
' FOR - Loop construction using #aiv#.
RIV.1
DOL.(#aiv#>5)
$$NUM=#ain#
' ...
LOP.
Using RIV. you can specify the starting value P1 and also optionally a Step-Value P2:
RIV.[P1][|P2]
' Sample:
RIV.1
$$NUM=#aiv#
PIS.$$REA|sBt|$$NUM|$$NUM. Dictate
$$NUM=#aiv#
PIS.$$REA|sBt|$$NUM|$$NUM. Dict.Rh.
$$NUM=#aiv#
PIS.$$REA|sBt|$$NUM|$$NUM. Rework
$$NUM=#aiv#
PIS.$$REA|sBt|$$NUM|$$NUM. P. Comm.
$$NUM=#aiv#
PIS.$$REA|sBt|$$NUM|$$NUM. N. Comm.
We have 5 new AI Commands that help using Emojis in social Networks and with foreign Languages.

Also new:
AIC.Dictate Letter Unicode
AIC.Call Whisper (was undocumented)
AIC.Call Whisper Unicode
We can us LM-Studio (Local AI) also with the SPR, there is a new Page explaining how to do that using.
In short it looks like this:
$$ENP=http://localhost:1234/v1/chat/completions
AIC.Set Chat Endpoint|$$ENP
$$PRO=How are you?
AIC.Ask Chat|$$PRO|$$RES
MBX.$$RES
AIC.Set Key|file
AIC.Set Chat Endpoint|
$$PRO=How are you?
AIC.Ask Chat|$$PRO|$$RES
MBX.$$RES
ENR.
20.11.2023
At the Open AI DevCon several new Features have been revealed and most of them (all but the Assistants API) are now available with the Smart Package Robot.
This includes the new TTS (Text-to-Speech) which is much less costly then Elevenlabs (but also got a Caching System) and includes also the Vision-System, where you can feed Pictures to the AI and get a description.
During the Implementation of the new features for "AIC.Ask Vision" I made several changes with the Temp-File Generation, which is necessary if the File to upload is not in the right Format.
I hope this will not break Compatibility with older Commands, we will see.
Lots of new AI-Commands:
AIC.Ask Vision - Send a Image to OpenAI's Vision GPT and receive a description.
AIC.Ask Multi Vision - Send multiple Images to OpenAI's Vision GPT and receive a description.
AIC.Set Vision Model - Currently there is only one Vision Model so this may be needed in the future.
AIC.Get Any Value - return technical Process Values from the AI like "Used Tokens".
and much more.
IVV. / JIV. got the % (Modulo-) Operator
04.11.2023
Loop-Section in the Help got updated.
New Loop-Command: RRC. - RCL. - Loop.
Until now the RRC. and JOR, did not for a real Loop together as they needed a Jump-Command for completeness.
Now the RRC. got an alternative Partner, the the RCL.- "Repeat Counter Loop".
This Command is optimized for Speed, it will execute similar to the time of an commented line.

Executing an empty Loop from 1 to 5000.000 the RCL.-Command shows its strength and does it in 5 Seconds (in EXE-Run Mode).
RRC. and JOR. got improved
SIF. and VIF. these are also multiple choice commands and therefore have been added to the multiple choice section in the help file.
SCN. - repaired, will be best with CAN.
SCS. will be best with CAS. and CFP.
CAN. - now supports multiple Numbers like this:
CAN.5,7,8.5,$$RET,7,8,9
Helpfile:
Lots of Changes in the Help for that the right page opens when you press F1 at a specific new command.
Added the Section "Speed Considerations" to ! Variable Commands
There you can see which commands are fastest for which task.
SPR-Editor:
Debugging: The yellow Mark in the SPRE-Editor is now on the proper Line.
New CAT. - Command to significantly improve Concatenation Speed of larger Strings

The new CAT. - Command is optimized for Speed. Here you can see the Speed advantage (4770 <> 962 Ticks).
Improved Pattern-Search: Added "MinDist" and SFP.MinDist:
During usage it showed up that using higher Color-Tolerances, the Pattern-Search tends to return 2 results from nearly the same place.
Now Results that are only +/-1 Point near another result will be removed. The distance that is used is "MinDist". Generally it is set to "1".
If needed you can set it to higher values to eliminate more nearby results.
Change: All Loop-Commands have been updated: FOR. / NEX. as well as DOL. ... OOP.
Generally Leaving any Loops with the GTO. in the past, left the Loop in an "running state".
This means that if the Script would later touch the same loop, it would assume that the loop is still running and just continue this loop from where you have been jumping out.
This was especially a issue with FOR. NEX. - Loops.
With the new modernized Loops, the Loop will recognize if the Line before the Loop was the "NEX." and in that case "do the Loop".
Coming from any other Line, the FOR. will assume that this is the first touch of the Loop and initialize the Loop Parameters from new.
Therefore, while we have now BRK. and CON. you can also "Jump out using GTO. anywhere from even nested Loops.
And the Script will always be in perfect state.
New Commands:
CON. (Continue) and
BRK. (Break) Commands with these Loops.
The BRK. - Commands can also accept a Label to jump to this Label instead of ending the Loop at the end of the Loop.
Change: Variablenauflösung für numerische Parameter
This change may speed up resolution for numeric parameters. Repaired Variablenauflösung für POINT-Variablen.
Also improved: VAO.
Added: SIF. and VIF. - Sort of Choose/IIF - Command.
SIF.$$NUM|$$RET|$$SSA|$$SSB
Depending on $$NUM is 1 or 2, $$RET will be $$SSA or $$SSB.
You can specify up to 25 Strings for this command.
VIF. is the same, but supports all datatypes, keeping the datatype of $$SSA in $$RET.
Updated TRIM-Functions: VBT. / VLT. / VRT.
If you specify:
VBT.$$TXT|All
VLT.$$TXT|All
VRT.$$TXT|All
then all characters from ASC 0 to 32 and $CR and $LF are trimmed from the specified Border of the Textstring.
New Compiler-Behavior:
- Hide/Unhide -Algorithm changed, improved. Due to this these commands that use these are not more compatible to earlier versions.
1. API-Keys are now automatically included
If the API-Keys for AI-Use are in the Project Folder, then they will automatically be included into the executable.
If you do not want the API keys to be automatically included into the executable, then you can use the new compiler directive for this.
#SPI:NoAPIKey
This new compiler directive will automatically prevent any API key to be included in a compiled executable.

If you do not specify the new Compiler-Directive, then the API-Keys will be included into any new Executable.
Help-File:
•Improved the Starting Guide Section.
•Improved "See " Topics for the DIC. - Commands.
•Improved Plugin01-Behavior
Enhanced the COP. - File Copy Command
The command will now take a check sum from the source and target file and compare these to make sure the file are identical.
While this will make file-copying a bit slower, you can still use SHF. for "Normal file copy".
Most often the number of files to copy is low, but safety is most important. This feature will make sure the newly created file is identical and is accessible.
•New String-Commands.
Our latest update introduces a suite of advanced string commands designed to outperform most traditional BASIC languages in both speed and functionality. These new commands are engineered to handle a wide range of scenarios, allowing you to accomplish most tasks with a single command.
Dual Implementations for Versatility
For some of the most commonly used BASIC string commands—namely MID$, RIGHT$, and LEFT$—we have now implemented two distinct versions to offer you greater flexibility:
•Function Version: This version (Name similar to the BASIC Names) returns the manipulated string as a value, which can be stored in a variable or used in further computations.
•Statement Version: This version (name starts with "Set") directly modifies the string variable it operates on, eliminating the need to store the result in a separate variable.
By providing both a function and a statement version for these essential commands, we aim to give you the tools you need to write more efficient and streamlined code.
Advanced Find and Replace Commands: Case Sensitivity and Beyond
Our new string command suite includes an array of sophisticated find and replace commands, each available in both case-sensitive and case-insensitive versions. This feature allows you to tailor your search and replace operations to the specific requirements of your project.
Flexible Character Counting and Positioning Options
In addition to the standard functionality, some of our new commands offer enhanced flexibility through multiple variants:
•Character Count Variant: This variant allows you to specify the number of characters to be considered in the operation, providing you with precise control over the string manipulation.
•Last Character Position Variant: This option enables you to define the position of the last character involved in the operation, offering another layer of control.
Negative Positional Numbers:
For even greater flexibility, our commands also support the use of negative positional numbers. When used, these numbers are interpreted as positions calculated from the end of the string, counting backwards.
By incorporating these versatile options, our advanced string commands are designed to meet a wide range of programming needs, making your coding experience more efficient and intuitive.
Removed Trimming from STR.Commands.
Many STR.-Commands had internal Trimmings which prevented their use if $sp$/chr(32) was used as delimiter. This should now work.
However the Trimming of the Input-Strings was removed therefore you need to do that separately, and also watch out that there are no invisible Spaces in the Line.
For example:
'If there are spaces behind the ">" they will not more trimmed away using these commands!
$$XYZ=>

The Smart Package Robot got a lot of new String-Commands, that will beat all BASIC Languages out there.
Korrekturen:
- GAI. geht jetzt.
- Many changes in the Help-File.
AI-Support:
The SPR supports now all major AI-Systems:
1.Open AI CHatGPT
2.Open AI Dalle 2 (and possibly 3)
3.Stable Diffusion local and Server
4.GPT4All Local AI (also supports CHatGPT from Open AI)
5.DeepL - Translations
New command:
STR.FindBestMatch
This command will take a list with text, for example, apple, oranges, coconuts, and you put a number in front of each element, for example, 1 apple, 2 oranges, 3 coconuts. So now you can have another text, for example, pebbles, and you feed the list and the word you are searching for into this new command, STR.FindBestMatch, and it will not return you the word apple, because pebble is near to apple, but it will return you the number in front of the apple. So what is good for, imagine you are using the new AI features, for example, the Whisper speech to text, and you have commands, you have a list with commands, and now you can make a keyword, you can say command, do this and that, and now you get a return from Whisper, which may be perfectly accurate or not. And then using this FindBestMatch, it will take this command and will find the best fitting command and not return the command, but just the number, which will make your scripting process much easier.
'*************************************
' STR.FindBestMatch
'*************************************
VAR.$$LIS="1. apple,2. orange,3. banana"
VAR.$$TAR="orenge"
STR.FindBestMatch|$$LIS|$$TAR|$$RES
DBP.Best Match: $$RES
' Result is 2
ENR.
FIL.-Commands were updated.
New Command:
FIL.Generate next numbered Name - Generates a sequentially numbered file name and checks for its existence, incrementing the number until a non-existing file name is found.
This will make it more easy to store lots of AI generated pictures "numbered". Also the command has much more features.
Many new FIL.-Commands, to make File-Operations easier and safer.
These new commands do not support NTFS-Direct, yet they have another safety feature.
These commands work often on temporary files and rename files after the operation.
This makes these Operations mostly safe against crashes, while sometimes a bit slower.
Especially the "FIL.Append to File" will get much slower on large files, as it works for each append on a copy of the original file.
Its therefore recommended to use it only for tasks where highest safety is required.
FIL.Append to File
FIL.Copy to File
FIL.Prepend to File
FIL.Append to File
FIL.Insert in File
FIL.Replace in File (with many options)
FIL.Replace in large File (with many options) - uses overlapping chunks to work with unlimitted filesizes.
FIL.Generate Unique Filename - to verify an Filename is unique, if not he will be added a number

Many new. AI-Commands:
SDL. - this Group of Commands will use "Stable Diffusion Local"
SDO. - this Group of Commands will use "Stable Diffusion Online"
AIL. - this Group of Commands will use "GPT4All" as Local AI.
AIS. - this Group of Commands will use Speech Synthesis through Elevenlabs.
As GPT4All can also use Open AI API, you can also call Open AI Models through this command.
AIC.: This "Artificial Intelligence Command" makes the worldwide most advanced LLM (Large Language Model) available for your Scripting!
The AIC.-Command has lots of Subcommands, so please see there. In the picture below are just some of many more.
AIC. can access the DALLE V2. Model to generate pictures. It can access GPT-3.5 and GPT-4 Large Language Models.
AIC. can access the WHISPER Open AI "Speech to Text" Model.
More to come.
Moved: Data-Blocks.
Data-Block Commands have been moved to the Variables-Section as Sub-Section,
you will also find the new ARRAY-Commands there.

Arrays and Data-Blocks are now Sub-Sections of Variables.
New Command: ARR. - Array Operation
Lastly we got the new AI-Operations and due to this the Implementation of ARRAYs was needed.
The ARR.-Command will solve this issue and implement Arrays of String, Integer or Floating Point Type.
Arrays can mix the Types they store, means you can store in the same Array Strings, Integer or FP.
Arrays have an automatic Redim, yet we recommend to Dimension then before use for Speed Reason.
Also added:
Samples how the 1D-Arrays can be used as 2D- or 3D-Arrays using Macros.
Also new: Arrays can be packed into a Variable or saved to disc as a file.

New Commands: VFP, VIN.
These new commands will safely generate "Type 4" (INT) and "Type 5" (FP) Variables.
As they are also faster, you should use these if you define (and declare in one step) such Variables and their value..
Improved commands:
IVS. - kann jetzt testen ob ein String leer ist.
IVS.$$TES=
MBX.String is empty
EIF.
Improved commands:
VAR., VAS.,VAB.,VAF.,VAV.,VAO.,VAI.:
These commands receive a new "concatenate" Option. Also the handling of spaces has been changed.
Example:
' Until now
VAR.$$TXT=Hallo
VAR.$$TXT=$$TXT Peter
' Result is "Hallo Peter"
New:
' Now you can write instead:
VAR.$$TXT=Hallo
VAR.$$TXT+ Peter
' Result is "Hallo Peter"
This will make coding for Prompts easier. The + Sign works as an concatenation operator for Strings.
Then we have an "Inofficial feature". This will also work, but i do not recommend to use it, because if the Text would start with a "=" Sign, the result would be wrong.
Thats why i recommend to generally specify an Operator.
Yet, if you leave it away the Commands will do a concatenation, just as if there would be a "+" Sign. Anyway you can do this, and it will work.
See:
VAR.$$TXT=Act as a System Programmer.
VAR.$$TXT Write my code.
VAR.$$TXT Do it step by step.
VAR.$$TXT Ask me if you have questions.
' Just leaving away the "=" will also work as concatenation
' But (see line below) this will lead to problems as the + Sign will be taken as Operator,
' and will be missing on the right side.
VAR.$$TXT +* and - are the signs.
New commands:
GEC.: This command got a new Option "s" - "Scramble Result". If you use it to encrypt a Text, File, Key or a Password,
the result of the Operation will be unpredictable. And will never be the same. Means, if you start the same Script again.
You will get another result. Therefore the result will be even more safe even against Brute Force attacks.
HIT.: This command also got a new Option "s" - which means "Super-Hide". If you use it to encrypt/hide a Text or a Key or a Password,
the result of the Operation will be unpredictable. And it will never be the same. Therefore the result will be to some degree safe even against Brute Force attacks.
JIO./JNO.: "Jump If Online". This command has multiple usage, the shortest form it can tell if you are connected to the Internet.
IOL. / NOL.: If Online - this command can be used to make sure the robot can reach the Internet.
It can also be used to test if a specified WEB-Server is Online.
IPI. / NPI.: If PING succesful. This is a IPv4 PING Commands.
These commands have been added to support the Usage of the new AI-Commands.
Because these will need to be online to be able to connect to the AI-Provider.
Help-File:
Many new Illustrations and improvements in the Starting Guide.
Added several Libraries here:

Added the correct Flags for the Findpattern Commands:
About the P5 - Parameter ("Debug Flag"):
The Flag-Parameter meanwhile can do a lot more then just help Debuging.
1 - Enable Debug-Output in Console Window
2 - Snap last used Window again if not found
4 - Use "Difference Map Search"
8 - Disable Filtering (if set)
16 - Use "Invert Pattern"
32 - Use "Complement Pattern"
64 - Use "Extended Search" (takes longer, makes more evaluations)
SPR-Editor:
Removed a nasty bug in the SPR-Editor that was there for quite a while.
It could lead to a unexpected crash of the Editor when loading a lot of Subscripts. Now the bug has been removed.
Breakpoints in Subscripts have been repaired.
GPX-Korrektor
Improved "GPX-Korrektor.exe", it has now a "Overview" Button.
Improved "GPX-Korrektor.exe", it can do Satellite View in 2 Modes.
SPR:
Changes: TXT.glx / CPC.f
Lots of Tests.
13.03.2023
Added new SFD. / Set File Date - Command (untested).
Added new Component "GPX-Korrektor.exe" in an Subfolder.
There is an own Chapter for this new Tool in the Help-File.
Update to the XML-Command. Internal Searches start now from (Pos+1). This may affect old Scripts that use XML-Commands.
What is a Timestamp?
A Timestamp is a Time-Value in the Format: HH:MM:SS or HH:MM:SS.mmm
Using these new TCA. and more new Time-Stamp Commands you can work easily with Timestamps.
TCA.Add|P1|P2[|P3]
TCA.Dif|P1|P2[|P3]
TCA.Div|P1|P2[|P3]
TAC.Between|P1|P2[|P3]
TCA.Split|P1|P2|P3
TCA.Make|[P1][|P2][|P3]
TCA.Ovl|P1|P2[|P3]
also new:
IAT. / NAT. If After Timestamp
IBT. / NBT. If Before Timestamp
Using these new commands, TImestamps like "HH:MM:SS" can easily be Added, Subtracted (Time-Difference),
Divided, Split into Parts, Constructed and you can get the Timestamp between two Timestamps.
28.11.2022
New Command: GetGradientColor will calculate the Gradient color between two Colors with given Steps.
Error removed with
ANA.Color_Diff_MIN|$$C01|$$E05|$$ERA
Added Section with Graphical Subprograms (Macros).
These Subprograms can be used for Picture Processing.
24.09.2022
ANA.ReplaceColorT und ReplaceColorD have been improved.
Normally these Commands will replace a given Color with another color if the color fits the Color specification P2 (+Tolerance).
Now there is the Option to prefix P2 with an ! which make the Command switch to "Negative Mode", means it will replace all Colors that do NOT fit the specification in P2.
27.08.2022
Bugfix with DTV.
During the enhancement of DTV. to understand US-formatted Date's, there has been a little Bug which has now been removed.
New Chapter "Cleaning Scanned Writings" in the help-File.
You can use the SPR to clean-up bad scannings.
For this there are new Commands

These commands read and write the Colors of up to 8 Pixels in one run and therefore can speed up execution times of such Scripts.
03.08.2022
Added new commands:
DIC.Set_Multiple|$$RET|$$DEL|$$IND|$$VAL
DIC.Set_Value|$$REF|$$DEL|$$INX|$$VAL
DIC.Format_Numeric|$$LIN|$$DEL|$$IND|$$FMT|$$RES
These commands can be used to quickly change the Value/Data of one or more Cells of a csv-File or other delimited Data.
Changed:
VDF. - Verfiy Date Format
Using this command, you can verify if a Variable contains a valid date. The command will now also convert a US-formatted Date like "2022/12/31" into a European type Date,
that can be used with the other Date-Commands like DTV. and others. This was useful because in csv-Files there are often US-formatted Dates.
23.05.2022
Some smaller Corrections. Tests show that the SPR can handle csv-Files that are larger then Excel can handle.
A csv with more then 1.000.000 Lines can be processed using the SPR in less then 15 Seconds, while Excel will not accept it anymore.

22.05.2022
Added many more commands to the TXT.-Command, and also also the commands have been sorted by Type.
Some commands that are time intensive have been updated for Speed.
For example the TXT.Sort-Commands have been tested with a File with 354000 Lines and do their sort within a second or two.
Therefore the TXT.-Commands are now an own Category, not more in the String-Category.
PRT. Command improved. Can now print much larger Texts in one run.
Help for TXT.glp corrected.
Excel-Function "Excel_LetterToNumber" and "Excel_NumberToLetter" have also been added to the DIC.-Command.
These have been changed internally and replaced by native programmed versions that will NOT call the Excel API.
This way these functions are much faster and do not rely on an Installation of Excel anymore.
New STR.-String Commands (Sort of Mulit-Instring):

New DIC.-Commands

Many new commands for TXT.
These will complete the TXT.-Command-Set in a way that it can also be used as a virtual , multidimensional Array with Sorting capability.
It can be used as a Que, or as a Stack as well.
TXT.itas and TXT.insert_text_at_start
TXT.ilas and TXT.insert_line_at_start
TXT.itae and TXT.insert_text_at_end
TXT.ilae and TXT.insert_line_at_end
TXT.itap and TXT.insert_text_at_pos
TXT.ilap and TXT.insert_line_at_pos
TXT.itbl and TXT.insert_text_before_line
TXT.ilbl and TXT.insert_line_before_line
TXT.ital and TXT.insert_text_after_line
TXT.ilal and TXT.insert_line_after_line
TXT.sbcl and TXT.sort_by_column_letter
TXT.sbci and TXT.sort_by_column_integer
TXT.sbcf and TXT.sort_by_column_float
TXT.fic and TXT.find_first_in_column
TXT.flc and TXT.find_last_in_column
TXT.gcb and TXT.get_column_block
and much more.
30.04.2022
New Command:
TXT.set_text_lines|$$LIA|$$LIB|$$REP
Lines $LIA (from Begin of the line) bis $$LIB (until end of this line) will be removed/replaced with the content of $$REP
Change: TXT.frv is now TXT.fov as it was documented.
Sample:
:Lab_Remove_Cols
$$FIK=?exeloc\Test.txt
$$LIA="Q","M","K","I","H",F"
TXT.toc|$$BAK
TXT.Load_pure_Text|$$PAA|$$FIK
TXT.Delimited_Items_Remove|;|$$LIA
TXT.Get_pure_Text|$$PAA
TXT.fov|$$BAK
TXT.Get_Line_Count|$$NUL
RET.
24.04.2022
These commands are useful for Excel- and CSV-Files. You can remove Columns, Insert Columns, or Swap Columns.
In real life many stuff is in Excel-Files, and often we have to work with these.
It was possible using SBD. before but now it becomes really easy.
Added:
TXT.crp / TXT.cr_to_crlf
TXT.lfp / TXT.lf_to_crlf
TXT.crr / TXT.crlf_to_cr
TXT.lfr / TXT.crlf_to_lf
TXT.gtls /TXT.Get_Text_Lines
TXT.gtb / TXT.Get_Text_Block
TXT.gdi / TXT.get_delimited_item_from_line
TXT.gda / TXT.get_any_delimited_item_from_line
TXT.gdit /TXT.get_delimited_item_from_text
TXT.gdat /TXT.get_any_delimited_item_from_text
These 3 are also new. They will process not just a Line but the complete TXT.-Buffer.
TXT.Delimited_Items_Insert
TXT.Delimited_Items_Remove
TXT.Delimited_Items_Swap
More new Command:
DIC. - Delitimed Item Command
DIC.Swap|$$DEL|$$LIN|$$INA|$$INB|$$RES
DIC.Insert|$$DEL|$$LIN|$$IND|$$RES
DIC.remove|$$DEL|$$LIN|$$IND|$$RES
DIC.Get_in_Order|$$DEL|$$LIN|$$IND|$$RES
DIC.Get_Fields|$$DEL|$$LIN|$$IND|$$RES
These commands can be found here.

24.04.2022
Many Changes and Bug Fixes with the Pattern-Search.
There were Bugs that could make the Patternsearch crash if used extensively (WFP. ?).
These Bugs have been removed.
Also Pattern-Search is now faster and has more Options like X-Ray and Extended Search.
Even searching for 5 Patterns at the same time will be in a second with an actual CPU. Its amazing fast.
Internally the Engine can already search 6 Patterns at the same time, but we did not make a command for that at the time of this writing.
Added lots of new Pattern-Sizes that are not yet supported from the Pattern-Recorder (HE-Recorder).
Looks like a completely new Pattern-Recorder would be fine.
There are no more "Bad Patterns". If its a Pattern, you can use it. All Patterns are now fine.
Searching for more then 1 Pattern will now generally use IR 0 for the Target Bitmap, and IR 1 ... IR (number of Pattern to search for) for the Patterns. This is a general rule for a "Multi-Pattern Search Commands".
Therefore these "Multi-Pattern Search Commands" commands will overwrite IR 0 and the following IR's.
If you use these IR's save them somewhere (ANA.ToVar) or move them into higher IR's (ANA.Move)
that are unused - for example IR 10 and following.
09.03.2022
New Command SYT. (Systray-Icon) mostly completed.
You can now add an Systray-Icon, also a Tool-Tipp is supported, but not yet any menu.
You can also change the Icon (make it blink).

The new SYT.-Command can be found under "OS & Software".

02.03.2022
New Command DTI. (Desktop-Information) completed.
This command will give all needed Information on number of visible Desktops, coordinates, DPI-Scaling etc.

14.02.2022
In this Update i have revisited the "Plugin_01.exe" the Buttonbar.
The help was incomplete and is now completely documetned:
.
New: PIS.GetMouseButtonHandle
New: PIS.attach - lots of more Options on how to attach the Buttonbar
Bei den PIS.Befehlen gab es Änderungen, bitte die Hilfe beachten, wenn etwas nicht geht.
PIS.inv -> PIS.Hid
PIS.vis -> PIS.Sho
PIS.SetVertikal -> PIS.SetVertical
PIS.SwitchTopMost->PIS.SetTopMost
Improved:
Help for PIS. has been updated and improved. Many new help-Pages.
Efficiency of the running Butonbar is improved (needs less CPU).
Behavior when Target WIndow was minimized has been improved.
PIS.SetButtonBackColor
now works properly and can permanently change the Button Color.
Buttons in the Buttobar (Plugin_01) do not have any default Text by now.
Also you can now remove any Text using:
PIS.$$REA|sBt|1|
for Example if you want to display a Picture, using
PIS.$$REA|SetPicture|1|$$FIX|32|5
this command has been Improved.
It can now Scale the pictures to any size, if P4 and P5 are specified. This way you can use any pictures for the Buttonbar, just specify the size they should have on the Button.
New feature:
If Size or distance is specified with "zero" then the previous value is preserved.
For example:
PIS.$$REA|SetButtonsHVSize|270|0
Here the Y-Size of the Buttons is not changed.
11.02.2022
1. Lots of Changes in the Help-File.
2. Undercover Graphics (UCV.) moved to Image Processing Topics.
3. Helpfile is now available as E_Book (PDF-Format) in the "E-Book-Helpfile" Folder.
27.01.2022
Added: ANA.ColorDiffMap-Command
This commandcan be used to generate Outlines, it will find borders of an Object.
20.01.2022
Lots of Image Processing Options have been added:

Also there were changes and addition with the Logic Operations that can be used to combine Images (IR's).

And there is a bunch of RGB/ HSL-Operations

The SPR can now be used to snaphot, convert, resize, cut and process pictures in Brightness, Color and Contrast.
I have tested Image resolutions up to.10200x6800 Pixels*, which is a good resolution even for commercial pictures..
Using the SPR for commercial Pictures? Yes, is possible. Here is an example.

I have set this Picture for Sale on Dreamstime, see: "Color Wheel Background".
You can do all sorts of automated Image Processing using the SPR.
More examples:
- Remove or Add Artefacts or Watermarks
- Clean Up Pictures
- Change Color and Brightness
- Change Resolution
- Cut Borders of pictures
- a very strong side of the SPR is the ability to Combine Pictures
You can combine up to at least 20 Pictues in any logic way.
Using very fast commands like ANA-Logic, or use a Pixel-based Script using any of the other commands.
If the pictures do not originally have the same resolution, use ANA.EqualRes to stretch one of the IR's to the Target resolution.
Here is an overview over the current Help-File Sections that are mostly new..

The following examples are from ANA.Logic and ANA.Mask.
, 
For more details please see the command descriptions.
27.11.2021
Improved:
- GFP. and SFP. got new Option "LH", "LastHits" which returns the number of Pixel-Hits from the last find.
WTP.$$PAA|$$PAB|30,40|60
GFP.LH|$$PAT
MBX.Pixelhits: $$PAT
- GFP. and SFP. got new Option "FA", "FlagA" which will set the internal "Flag A" to a value that is currently 0,1,2 or 3.
This will influence the behavior of the Fuzzy Logic during the Pattern-Search. The higher the number, the more Pixels will be evaluated, and therefore Patterns will be recognized.
Fixed
GFP.LastPattern|$$PAT
Now you can find out which of multiple Patterns was found for example with
WTP.$$PAA|$$PAB|30,40|60
GFP.LastPattern|$$PAT
MBX.$$PAT
26.11.2021
- Fixed: Patterncommands LTP. / WTP. etc. with Multiple Patterns when Patternsize was not 8x8
- Fixed: DMP.-Command since last change Numbers were not recognized
17.11.2021 Added:
- ANA.CutRect
- ANA.FromClipboard
- ANA.ToClipboard and ANA.ToClipboardRect
These commands place pictures in the WindowsClipboard.
######################
Release Date for Free and Visual Version
These Versions do not have all upcoming Updates.
######################
16.11.2021 Compiled Free/Sample Version
Therefore all Improvements after this date are not added to the Free-Version, as it will only be updated once a year.
07.11.2021
Improved Color-Analyzer in SPRE and HE-Recorder.
06.10.2021
Added new Option:
Inline-Data using VDA. and VDE.
New Option for Pattern-Search: "ID:" for direct use of Inline Data.
New Option for Pattern-Search: "IR:" for direct use of Image Register.
Changed:
SCS. now for String-Data and use SCN. now for numerical cases.
New:
CFP.-Command for SCS. Multiple-Choice
ESL. - ESL. - End SELECT Loop
Changed/Repaired:
NFC., NWC., NDC.,NLC. have been changed/repaired.
SPR-Editor: Problems with closing the Editor when using "auto-loaded files" solved.
Added SPRE:
Many new Commands and
VDA.-VDE. to the SPR-Editor. It can be folded.
SPRE also:
Floaterbar got several new Buttons:
D - Datamaker / Q - Quadrant-Analyzer / H - HE-Recorder
U1, U2,U3 - for User-Scripts
Floaterbar is now resizable.
Improved Editor-Recording should work now.
SPR: New Commands:
IFP. - If FInd Pattern .. EIF.
NFP. - If Not FInd Pattern .. EIF.
ITP. - If Two Pattern
NTP. - Not If Two Pattern
LFP. - Locate FindPattern
LTP. - Locate Two Pattern
CFP. - CASE FindPattern
JFP. - Jump FindPattern
JTP. - Jump If any of Two Pattern
JTN. - Jump If none of Two Pattern was found
SFP. - Set FindPattern Parameter
GFP. - Get FindPattern Parameter
WFP. - WFP. - Wait For Pattern
WTP. - Wait For ANY of Two Patterns
JNP. - JNP. - Jump NOT FindPattern
Added several Multithreaded versions of Office- and Browser commands.
AVF. - similar Command like AMS. for Browser and Office
AFF. added to AFT.
AGF. - added to AGR.
New Mousecommand:
MDL. - Mouse Drag Left - Drag Items with the Mouse
MRM. - Mouse Move Right Click - Faster Mousemove and Right Click
Several changes around Screen DPI Settings.
Robot should now generally record and replay in 100% Mode.
New Keyboard-Commands:
Faster:
KBI. - Keyboard Input-Buffer Commands, all options from KBC. but typing is faster because characters are directly placed in the Input buffer.
SDH. - Send Key Hex-Code,easily access all hidden characters of a font using the "Alt-NumPad" Trick
SDA. - Send Key ANSI, Faster Typing using new Technology yet still compatible Engine
SDU. - Send Key Unicode, Faster Typing using new Technology yet still compatible Engine
Improved KBC.H-Paste-Over supports now Parameter to Paste over
KBC.h-paste over|$$TXT
New Conversion Commands:
ATI. - Convert ANSI to UNICODE
UTA. - Convert UNICODE to ANSI
14.072021
MAP. - Command changed so its compatible with MMV.
ANA.Snapfind1 Command is not the Simplest way to locate a Pattern in a window.
GAI. - did not work properly - now should work.
GFS. - neu codiert noch nicht alles getestet.
30.06.2021
Added "Human-Eye-Recorder"- Using this Tool you can make Snapshots of Patterns for use with the Find-Pattern Commands.
There is also a new Option "Use Distance" that will prevent "Mouse Over Effects" becauseyou Record while the Mouse is "far away".
The new Tool is currently lo0cated in the Main Folder.

There are multiple changes and enhancements with the ANA.-Command.
31.05.2021
Changes:
Changed to BSC: and BCS. Now these commands do have more Clicking-Options.
Additions in the Helpfile to these Commands.
ANA.-Command offers a lot of Options to recognize GUI Elements that could not have been recognized until now. In fact, ANA. con now find anything.
Added: ?pattern\ as equivalent to "?path\Pattern\". This is the default Path for Search Patterns, if no other path is given. It is used for example with the ANA.Load Command.
Added: ANA.findpclick
This command is complete package that will do all the work when you want to click whatever
on WEB-Sites. You just give the Pattern, and you say the details (how often to clock, how to click etc.).
And let it run.
Known Problems:
Robo-Diff:
Using Robo-Diff will only work on minimalistic Systems, with just Windows and the Application to watch.
Due to the 32 bit-Architecture of Robo-Diff, the program can currently not handle the large Data Amount of heavily loaded 64 bit Systems.
This could only be changed if the Program would save its data while processing, and this would make the whole process much slower.
So there is currently the advice to use Robo-Diff only on minimalistic Systems with just Windows and the program to record.
Editor:
- Running a Script that uses a Macro-Library. Under some circumstances the Editor will switch into a library Macro File and show this file instead of the Script file that is executed. In such case close the Editor and load the Script file new.