Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

News Take Command / TCC / CMDebug / TCC-RT v30 Released

Status
Not open for further replies.

rconn

Administrator
May
13,074
195
Staff member
Version 30 of Take Command, TCC, CMDebug, and TCC-RT has been released.

Take Command 30.0:

Take Command, TCC, CMDebug, and TCC-RT are built with a new version of Visual Studio.​
The Take Command, TCC, CMDebug, and TCC-RT installers are built with a new version of Advanced Installer.​

Take Command:

Many security, performance & size improvements.​

The GUI framework library has been updated.​
The Tools ribbon has a new option to invoke the new search & replace command (see SREPLACE below).​

TCC:

Many security, performance & size improvements.​
Everything Search has been uipdated to version 1.4.1.1023.​
ES.EXE (the Everything Search command line interface) has been updated to 1.1.0.26.​
Added Python 3.12 support.​
The internal Lua has been updated to version 5.4.6.​
There is a new piping option - |&| means "only pipe STDERR".​
TCC now supports - (hyphen) as a shorter version of CON:.​

IDE / Batch Debugger:

Many security, performance & size improvements.​
The GUI framework library has been updated.​
The Scintilla edit control has been updated to version 5.3.4.​
The Lexilla syntax coloring control has been updated to version 5.2.4.​
/Wrap:n - Startup option to set the default line wrapping mode. n is a value from 0 - 3.​
0 None​
1 Word​
2 Character​
3 Whitespace​
There is a new submenu in the View menu to set the line wrapping mode. Line wrapping mode is unique to each tab window, so you can have some tabs wrapping and others not.​
Wrap​
None​
Word​
Character​
Whitespace​
There is a new entry in the Edit menu - "Duplicate" will copy the existing line and insert it before the current line.​
The Tools menu has a new option to invoke the new search & replace command (see SREPLACE below).​

TCEDIT:

The GUI framework library has been updated.​
The Scintilla edit control has been updated to version 5.3.4.​
The Lexilla syntax coloring control has been updated to version 5.2.4.​
/RDONLY - Start TCEdit in read-only mode for the specified file. The /RDONLY option must follow the file name on the command line.​
/Wrap:n - Startup option to set the default line wrapping mode. n is a value from 0 - 3:​
0 None​
1 Word​
2 Character​
3 Whitespace​
The /Wrap option applies to all filenames that appear after it on the command line.​
There is a new submenu in the View menu to set the line wrapping mode. Line wrapping mode is unique to each tab window, so you can have some tabs wrapping and others not.​
Wrap​
None​
Word​
Character​
Whitespace​
There is a new entry in the Edit menu - "Duplicate" will copy the existing line and insert it before the current line.​
The Tools menu has a new option to invoke the new search & replace command (see SREPLACE below).​

Help:

The help is built with a new version (9.0.3) of Help & Manual.​
The eWriter file viewer has been updated to version 3.4.0, and the skin for the Take Command help has been rewritten.​

New TMCD.INI Directives:

DirEnv=yes|NO - Enables DIRENV (see below) at startup.​

New Internal Variables:

_IPV6 - Returns the IPv6 address of the local computer. If the computer has more than one NIC, _IPv6 returns a space-delimited list of all IPv6 addresses.​

New Variable Functions:

@JSONNODENAMES["filename",]xpath] - Returns a space delimited list of the element names for the specified xpath.​
@PINGR[host[,timeout[,packetsize[,ttl[,type]]]]] - Returns the address of the host responding to the PING (ICMP ECHO) request. This may or may not be the host specified in the first argument.​
@XMLNODENAMES["filename",]xpath] - Returns a space delimited list of the element names for the specified xpath.​

Updated Variable Functions:

@EVAL​
Added support for octal numbers. Prefix them with a "0o" (zero + lower case 'o'):​
@eval[0o10+0o11]​
You can also specify the output as octal:​
@eval[123+456=o]​
Added new operators for integer argument comparisons:​
>= Greater than or equal​
<= Less than or equal​
!= Not equal​
@SERVICE[service,info] - There are two new options for info:​
6 - Return the process ID for the service​
7 - Return the service flag. The flag can be one of the following values:​
0 - The service is running in a process that is not a system process, or is not running.​
1 - The service is running in a system process that must always be running​
@WINAPI - added a new argument type "PINT64=n" for 64-bit integers.​

Updated Commands:

CLIP​
/Z - Clear all the clipboards (Clip0: - Clip9:).​
IFTP​
/O=0|1 - Specifies whether or not IFTP should overwrite downloaded files. If /O=1, an error will be thrown whenever the local file exists before a download operation.​
/SSL=0|1 - Specifies whether TLS/SSL is enabled in IFTP. When 0 (the default) the class operates in plaintext mode. When 1, TLS/SSL is enabled.​
SENDHTML​
SENDHTML has some new options:​
/Command="command" - Send additional commands directly to the server. You can specify multiple /Command="..." arguments.​
/Date="date" - Create a Date SMTP header and attach it to the message. (If this option is not set, the default SENDHTML behavior is to create a Date SMTP header reflecting the current date and time when the message is sent.) RFC 822 contains detailed date format specifications. An example of a valid date is "Mon, 1 May 20:15:00 EST".​
/Image="imagefile" - Embed an image in the HTML message. You can specify multiple /Image="..." arguments.​
SENDMAIL​
SENDMAIL has some new options:​
/Command="command" - Send additional commands directly to the server. You can specify multiple /Command="..." arguments.​
/Date="date" - Create a Date SMTP header and attach it to the message. (If this option is not set, the default SENDHTML behavior is to create a Date SMTP header reflecting the current date and time when the message is sent.) RFC 822 contains detailed date format specifications. An example of a valid date is "Mon, 1 May 20:15:00 EST".​
SETARRAY​
You can now combine the /F and /R options.​
SMPP​
/Priority=n - This option tells the server what type of priority to assign to the message. The possible values are:​
0 - Low​
1 - Normal​
2 - High​
3 - Urgent​
The effect of the message priority setting is dependent upon the Message Center manufacturer and the network on which the target recipient lies. For example, some MCs may immediately forward "urgent" messages, some networks may use the priority setting as a visual indicator of the message's urgency (e.g. blinking icons, etc.), and some networks may entirely ignore the priority setting.​
/SMPPVersion=n - The SMPP version to be used throughout the connection.​
0 - 5.0​
1 - 3.4​
2 - 3.3​
The default value is version 3.4 as it is the most widely used version. If version 5.0 is supported it is recommended.​
/SSLMode=n - TheDetermines how SMPP starts SSL negotiation​
0 - Automatic​
1 - Implicit. The SSL negotiation will start immediately after the connection is established.​
2 - Explicit. SMPP wil first connect in plaintext, and then explicitly start SSL negoatiation through a protocol command such as STARTTLS.​
3 - None. No SSL negotiation, no SSL security. All communication will be in plaintext mode.​
The default value is 3.​
START​
/Env="filename" - Creates a new environment for the process using the contents of filename. The format of filename is:​
var1=value1​
var2=value2​
...​
Because some Windows API calls will fail if there is no "SystemRoot" variable in the environment, TCC will add the existing SystemRoot value to the new environment if wasn't specified in filename.​
/Idle=n - Waits until the started process to finish processing its initial input and is waiting for user input, or until the timeout period has elapsed. n specifies the timeout period in milliseconds.​
TASKEND​
TASKEND now supports terminating processes on remote systems. The syntax is:​
TASKEND /Remote="remotename" /User="username" /Password="password" PID​
You must have have debug privileges on the remote system.​
WHICH​
If the command is a symbolic link and you used the /A option, WHICH will display the symbolic link for the executable.​

New Commands:

DIRENV​
Configures the environment on a per-directory basis.​
The syntax is:​
DIRENV [ON | OFF]​
When DIRENV is on, TCC will look for a file called ".envtc" when it changes directories. The format of .envtc is:​
var1=value1​
var2=value2​
...​
When TCC enters a directory, it will look in .envtc for environment variables to set while in that directory. When TCC leaves a directory, it will unset the variables in .envtc.​
EXPR​
A greatly enhanced version of the Linux expression evaluator. The syntax is:​
EXPR expression​
Expression can be:​
string : regex Regular expression match of regex against string​
match string regex Same as string : regex​
substr string pos len Substring of string, pos starts at 1​
index string chars Index in string (first character is 1) where anything in chars is found, or 0 if nothing matches​
length string Length of string​
arg1 [operator] arg2... This can be any arithmetic expression supported by @EVAL, or any conditional expression supported by IF /IFF.​
If you have special characters (i.e., < > & |) on the line you must either enclose the entire expression in double quotes (EXPR will remove them before evaluating the expression) or escape them.​
The regular expression match is always anchored (there is an implied leading ^). If the regular expression contains (…), and it matches at least part of string, EXPR returns that part of string; if there is no match, EXPR results in 0. If the regular expression doesn't contain (..), the result is the number of characters matched. MATCH performs the same operation as the colon operator.​
Comparisons are arithmetic if both ARGs are numbers, otherwise the comparisons are string-based.​
SREPLACE​
A GUI search and replace app, that supports regular expressions, extended TCC wildcards, ASCII, UTF8, and UTF16 files. SREPLACE also optionally supports scanning all subdirectories of the target directory.​
SREPLACE has two modes - interactive and batch.​
Batch mode reads your custom XML files to get the (optionally multiple) search and replace strings. The XML files look like this:​
<SReplace CompactMode="1">​
<Match FindString="Pancakes" ReplaceString="Waffles"/>​
<Match FindString="Scrapple" ReplaceString="Sausage"/>​
</SReplace>​
This XML file will replace all occurrences of Pancakes and Scrapple in the target files with Waffles and Sausage, respectively.​
You can specify multiple file types to search by separating them with a semicolon in the "Look at these file types:" field.​
After SREPLACE scans the input files looking for string matches, it will display all the matches and the new target string. You can deselect specific matches by clicking on the Apply checkbox in the right column To accept the changes, click on the Apply button in the Find and Replace dialog on the left side of the SREPLACE window. SREPLACE will not make any changes to the file until you click the Apply button.​
SREPLACE will automatically detect ASCII, UTF8 with or without BOM, and UTF16 with or without BOM, and will rewrite the target file in the original format.​
The Find / Replace window is dockable, so you can optionally move and dock it in another position.​
WAITFOR​
Waits for an app to exit, or optionally for the app to finish processing its initial input and wait for user input.​
The syntax is:​
WAITFOR [/Exit=n /Idle=n] [PID | title | exename]​
/Exit - Wait for a maximum of n milliseconds for the process to exit. n will default to 10000ms (10 seconds).​
/Idle - Wait for a maximum of n milliseconds for the process to enter the idle state. n will default to 10000ms (10 seconds).​
PID - The process ID. This can be either hex or decimal; if it is hex you must prefix it with a "0x".​
title - The Window title. The title must be enclosed in double quotes; wildcards are supported.​
exename - The name of the executable file.​
WEBSOCKET​
Establish a WebSocket connection to a server and send a string. The syntax is:​
WEBSOCKET [/V /Origin=server /User=user /Password=password]] "ws:servername" string​
/V(erbose) - Display status messages​
/Origin - If specified, WEBSOCKET will include an Origin HTTP header in the connection request with the value provided. Servers may use this value to validate requests. Servers may reject requests depending on the value provided. A typical value that would be set is of the form "Example Domain".​
/User - The user name if authentication is used​
/Password - The password if authentication is used​
servername - The WebSocket server to connect to. For example: "ws://echo.websocket.org"​
string - The text to send to the server​
The options are position dependent; they can only appear at the beginning of the command line in the order specified above.​
 
Status
Not open for further replies.
Back
Top