Programmer Guide/Command Reference/NEW: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
(Consolidating two 'NEW' pages)
Line 1: Line 1:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{Programmer Guide}}
  NEW <var>itemtype</var> <var>itemname</var> [ [[Programmer_Guide/Command_Reference_Options/Silent|/I]] ] [ /U|/u ] [ /G ] [ /Z ] [ <var>createargs</var> [ <var>createopts</var> ] ]
  NEW <var>itemtype</var> <var>itemname</var> [ [[Programmer_Guide/Command_Reference_Options/Silent|/I]] ] [ /U|/u ] [ /G ] [ /Z ] [ <var>createargs</var> [ <var>createopts</var> ] ]


Line 9: Line 10:
;<code>/I</code>: Enable [[Programmer_Guide/Command_Reference_Options/Silent|silent error reporting]]. If specified, <code>NEW</code> will generate a warning rather than an error if arguments are missing or it is unable create the new item.
;<code>/I</code>: Enable [[Programmer_Guide/Command_Reference_Options/Silent|silent error reporting]]. If specified, <code>NEW</code> will generate a warning rather than an error if arguments are missing or it is unable create the new item.
;<code>/G</code>: Garbage collection. If specified, a temporary (or local) item created, which is automatically deleted when exiting the macro.
;<code>/G</code>: Garbage collection. If specified, a temporary (or local) item created, which is automatically deleted when exiting the macro.
;<code>/U</code>: If specified, the global item protection is enabled. This means all items created before this item (called the protection-master) are proteced from being deleted, until the global item protection is disabled, which is done by deleting the protection-master). Protected items can only be deleted using a special option of the [[Programmer_Guide/Command_Reference/DELETE|delete command]]. Note: This option is case-sensitive.
;<code>/U</code>: If specified, the global item protection is enabled. This means all items created before this item (called the protection-master) are protected from being deleted, until the global item protection is disabled, which is done by deleting the protection-master). Protected items can only be deleted using a special option of the <code>[[Programmer_Guide/Command_Reference/DELETE|DELETE]]</code> command. Note: This option is case-sensitive.
;<code>/u</code>: If specified, the created item protected from being deleted. , until the global item protection is disabled, which is done by deleting the protection-master). Note: This option is case-sensitive.
;<code>/u</code>: If specified, the created item protected from being deleted. , until the global item protection is disabled, which is done by deleting the protection-master). Note: This option is case-sensitive.
;<code>/z</code>
;<code>/z</code>
The following example creates a new table with an automatic name and assigns the name to a local variable or exits if the table was not created.
NEW TABLE *
if '$#new' == '*' then 
    butil msgbox msg ; Failed to create table 
    exit
end
#t := $#new$#t * 'my first entry' // append entry to table
You can also use your own name, rather than an automatically generated one. In this case, the code would look like this.
NEW TABLE myTable
if '$#new' == '*' then
    butil msgbox msg ; Failed to create table
    exit
end
myTable * 'my first entry' // append entry to table
Alternatively, with the inline syntax:
#t := $(NEW TABLE *)
if '$#t' == '*' then
    butil msgbox msg ; Failed to create table
    exit
end
$#t * 'my first entry' // append entry to table
All instances created with the NEW command should be deleted when no longer needed using the <code>[[Programmer_Guide/Command_Reference/DELETE|DELETE]]</code> command.

Revision as of 08:48, 6 May 2015

NEW itemtype itemname [ /I ] [ /U|/u ] [ /G ] [ /Z ] [ createargs [ createopts ] ]

The NEW command creates a new shell item of the type itemtype and named itemname.

itemtype
The type of the new shell item. This must be unique (in the item namespace of a shell).
itemname
The name of the new shell item. If this argument is set to the character *, the name is choosen automatically.
createargs
Arguments specifying parameters for the initialization of the new item. The format and meaning of these arguments are depending on the type of the new shell item.
/I
Enable silent error reporting. If specified, NEW will generate a warning rather than an error if arguments are missing or it is unable create the new item.
/G
Garbage collection. If specified, a temporary (or local) item created, which is automatically deleted when exiting the macro.
/U
If specified, the global item protection is enabled. This means all items created before this item (called the protection-master) are protected from being deleted, until the global item protection is disabled, which is done by deleting the protection-master). Protected items can only be deleted using a special option of the DELETE command. Note: This option is case-sensitive.
/u
If specified, the created item protected from being deleted. , until the global item protection is disabled, which is done by deleting the protection-master). Note: This option is case-sensitive.
/z

The following example creates a new table with an automatic name and assigns the name to a local variable or exits if the table was not created.

NEW TABLE *
if '$#new' == '*' then  
    butil msgbox msg ; Failed to create table   
    exit
end
#t := $#new$#t * 'my first entry' // append entry to table

You can also use your own name, rather than an automatically generated one. In this case, the code would look like this.

NEW TABLE myTable
if '$#new' == '*' then
    butil msgbox msg ; Failed to create table
    exit
end
myTable * 'my first entry' // append entry to table

Alternatively, with the inline syntax:

#t := $(NEW TABLE *)
if '$#t' == '*' then
   butil msgbox msg ; Failed to create table
   exit
end
$#t * 'my first entry' // append entry to table

All instances created with the NEW command should be deleted when no longer needed using the DELETE command.

Navigation menu

Personal tools