BTRON MicroScript Reference Manual

Others


I Reference Section

BEEP
Syntax
Function
_____The BEEP statement emits beep tones from the speaker.
_____In a case where a positive value has been specified in the frequency expression, it emits a beep tone. The frequency expression shows the frequency of the beep tone, and the units are Hz. The time expression shows the time for emitting the beep tone, and the units are milliseconds.
_____In a case where both the frequency expression and the time expression have been omitted, the frequency and time of the beep tone that has been set in the User Setup as the <Beep tone> will ring out.
_____In a case where 0 has been specified in the frequency expression, it stops the beep tone that is ringing.
_____With the BEEP statement, MicroScript does not wait until the beep tone stops. It enters the execution of the next statement immediately. Accordingly, in a case where you will emit a beep tone continuously, it will be necessary to wait to the extent of the appropriate time by means of the SLEEP statement.
_____In a case where you will emit a beep tone, the values you can specify for the frequency expression are 10`32767 Hz, but due to hardware limitations, tones that are too low and tones that are too high will not ring properly. The values that can be set for the time expression are 1`32767 milliseconds, but this is rounded off in units of 50 milliseconds in TiPO, and in units of 100 milliseconds in 1B.
Errors that Occur at Startup Time
Please specify the integer item
The specification of the frequency expression and the time expression is incorrect. Please specify integer values or an expression that returns integer values.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ When we execute this statement, 0 gets loaded.

241

_____
FULLWIND
Syntax
Function
_____This makes it so that a window opens and extends across the whole screen at startup time from the next occasion and following. The system area also will be hidden. We call this type of window opening method full screen mode.
_____Even if we execute the FULLWIND statement, the widow will not change until we terminate the script once and then start up.
_____Full screen mode is a special mode in which switching to another window cannot be carried out. Starting up another real object and opening a separate window is not possible. Moreover, menus cannot be displayed in full screen mode. If you do not make it so that it terminates by its own self through some sort of method (event), it will become impossible to terminate execution. Please be careful.
_____Whether or not it's full screen mode can be judged with the condition ($WDX==0)&&($WDY==0)&&($WDW==$SCRW)&&($WDH==$SCRH).
_____Full screen mode can be released by opening the target real object with the Basic Figure Editor and changing the location and size of the window.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ When we execute this statement, 0 gets loaded.
242

I Reference Section

COPYSEG
Syntax
Function
_____This copies a segment specified on the right side into a segment specified on the left side. Differing with the SETSEG statement, the segment after copying is completely independent from the original segment, and the contents are not shared.
_____A variable segment variable or a symbol variable that references a variable segment variable can be specified on the left side. A variable segment variable can be defined with SEGMENT.
_____A variable segment variable, fixed segment, or a symbol variable that references a segment can be specified for copying on the right side. However, specifying with an array section cannot be done. Moreover, a virtual object segment cannot be substituted.
_____In a case where the segment on the left side is in display state, the display of the segment will change after substitution.
_____
Contents of the Segment
_____The thing in which we have piled up segment strings in order from the beginning on the right side is copied, and then that becomes the contents of the segment on the left side. In a case where multiple character segments have been specified on the right side, the character string specified at the very first becomes the control object of the TEXT statement and the like.
_____
Display State of the Segment
_____The display state of the segment on the left side becomes the same display state as that prior to substitution.
_____
"Original Location" of the Segment (Location to Move to with the MOVE Statement without Coordinates Specification)
_____The "original location" of the segment specified at the beginning of the segment string on the right side and the segment specified at the beginning among the segments after copying become overlapped locations. In a case where the "original location" and the "current location" of the segment on the right side are different, the "original location" of the segment after copying will come to change by means of the specification order of the segment on the right side.
_____
Location of the Segment
_____When a segment variable on the left side is empty (a state in which the segment has not been substituted), the location of the segment on the right side will be set. In a case where the segment has already been substituted, the location becomes the same as that prior to substitution.
_____
Copy Display State of the Segment (State in which We Have Executed the MOVE Statement with DUP Attached)
_____In a case where the segment on the left side is in copy display state, the contents become the contents on the right side, and they are copy displayed. As for the copy display state after COPYSEG statement execution, it is decided by means of the state of the segment on the left side, without regard to the copy display state of the segment on the right side.
Errors that Occur at Startup Time
Please specify the variable segment
Please specify a variable segment variable or symbol variable on the left side.
Please specify a segment other than a virtual object
Please specify a segment other than a virtual object on the right side.
There was an array reference in an illegal index
The index of the array is outside the range.
Errors that Occur During Execution (only in the case of DEBUG 1; refer to p. 39)
There was an item that is not a segment
A symbol variable on the right side cannot reference a segment.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ When we execute this statement, 0 gets loaded.

243, 244

I Reference Section

SETSEG
Syntax
Function
_____This substitutes a segment specified on the right side into a variable segment variable specified on the left side. Differing with the COPYSEG statement, because the segment after copying shares the contents of the original segment, when we modify the contents of the original segment, the display also changes.
_____A variable segment variable or a symbol variable that references a variable segment variable can be specified on the left side. A variable segment variable can be defined with SEGMENT.
_____A variable segment variable, fixed segment, or a symbol variable that references a segment can be specified on the right side. Substituting a virtual object segment cannot be done.
_____Differing with the SET statement, you cannot specify array sections on the left side or the right side. Specification of array elements can be done.
_____In a case where the segment on the left is in display state, the display of the segment will be changed after substitution.
_____
Contents of the Segment
_____The contents of the segment on the left side will be shared with the contents of the segment on the right side.
_____
Display State of the Segment
_____The display state of the segment on the left will become the same as the display state prior to substitution.
_____
Original Location of the Segment (Location to Move to with the MOVE Statement without Coordinates Specification)
_____This becomes the original location of the segment on the right side.
_____
Location of the Segment
_____When a segment variable on the left side is empty (a state in which the segment has not been substituted), the location of the segment on the right side will be set. In a case where the segment has already been substituted, the location becomes the same as that prior to substitution.
_____
Copy Display State of the Segment (State in which We Have Executed the MOVE Statement with DUP Attached)
_____In a case where the segment on the left side is in copy display state, the contents become the contents on the right side, and they are copy displayed. As for the copy display state after SETSEG statement execution, it is decided by means of the state of the segment on the left side, without regard to the copy display state of the segment on the right side.
Errors that Occur at Startup Time
Please specify the variable segment
Please specify a variable segment variable or symbol variable on the left side.
Please specify a segment other than a virtual object
Please specify a segment other than a virtual object on the right side.
There was an array reference in an illegal index
The index of the array is outside the range.
Errors that Occur During Execution (only in the case of DEBUG 1; refer to p. 39)
There was an item that is not a segment
A symbol variable on the right side cannot reference a segment.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ When we execute this statement, 0 gets loaded.

245, 246

I Reference Section

DCLOSE
Syntax
Function
_____The DCLOSE statement closes a specified device.
_____In device specification, we specify with a character string the device that will be closed.
_____In a case where the eject expression is not 0, and in a case where it is an ejectable device, and, moreover, it hasn't been opened from another application, this will eject the media. If that's not the case, it will not eject the media.
_____In a case where the eject expression has been omitted, it will not eject.
_____In a case where MicroScript terminates, devices that have been opened will automatically be closed.
_____Devices automatically opened by means of the DREAD statement/DWRITE statement can be closed by executing the DCLOSE statement.
_____The operation of a device is a specialized function, which, on top of a sufficient understanding concerning the device, requires caution to use.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the character string or character array
The item is not defined
Please confirm whether the correct device name has been specified.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
16 (Device operation error)
Please confirm whether or not the specified device exists, whether or not it's an opened device, or whether or not you haven't closed again a device that was closed once.

247

_____
DOPEN
Syntax
Function
_____The DOPEN statement opens a specified device.
_____In device specification, we specify with a character string the device that will be opened.
_____Mode specification is a character string that expresses the mode in which to open.
"R" Read-in mode
"W" Write-in mode
"U" Update mode
"RX" Read-in mode (exclusion)
"WX" Write-in mode (exclusion)
"UX" Update mode (exclusion)
"Rx" Read-in mode (exclusive write-in)
"Wx" Write-in mode (exclusive write-in)
"Ux" Update mode (exclusive write-in)
_____A real object opened in read-in mode can be read in through DREAD.
_____A real object opened in write-in mode can be written in through DWRITE.
_____A real object opened in update mode can be read in through DREAD and written in through DWRITE.
_____Exclusion mode prohibits another application from simultaneously opening the device that will become the target. In a case where another application has already opened the device, you cannot open it in exclusion mode.
_____Exclusive write-in mode prohibits another application from simultaneously opening in write-in/update mode the device that will become the target. In a case where another application has already opened the device in write-in/update mode, you cannot open it in exclusive write-in mode.
_____With the DOPEN statement, omission is possible. In a case where you have used the DREAD statement/DWRITE statement without executing the DOPEN statement, the device will automatically be opened in update mode.
_____A device will always be opened based on the "D_NOWAIT" specification. The DOPEN statement will not wait until a device turns to ready state.
_____The maximum number of devices that MicroScript can simultaneously open is 16.
_____The operation of a device is a specialized function, which, on top of a sufficient understanding concerning the device, requires caution to use.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the character string or character array
The item is not defined
Please confirm whether the correct device name has been specified.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
16 (Device operation error)
Please confirm whether or not the specified device exists, whether or not the mode specification character string is correct or not, whether or not another application hasn't opened it exclusively, or whether or not you haven't exceeded the maximum number of devices that can be opened simultaneously.
248, 249

_____
DREAD
Syntax
Function
_____The DREAD statement reads in data from a specified device.
_____In device specification, we specify with a character string the device that will be read from.
_____The offset expression is an expression that expresses the offset from where we start read in. The offset units/meanings are dependent on the device.
_____The size expression is an expression that expresses the size on which we will conduct the read-in. The size units/meanings are dependent on the device.
_____Data specifies an array variable or array section. Data that are read in are stored. The array variable type is arbitrary. However, it must be an array that possesses the dimensions of size specified in the size expression. In a case where the array is less than the dimensions of size specified in the size expression, the memory region will be destroyed, and there will be the risk of a hitch occurring in the operation of the system.
_____In a where a real size variable has been specified, the real size of the device that will be made the target will be stored. The real size units/meanings are dependent on the device.
_____In a case where have executed the DREAD statement for a device that hasn't been opened by means of the DOPEN statement, it will automatically be opened in update mode. There are occasions on which a device that was automatically opened will be automatically closed at an appropriate point in time.
_____The operation of a device is a specialized function, which, on top of a sufficient understanding concerning the device, requires caution to use.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the character string or character array
The item is not defined
Please confirm whether the correct device name has been specified.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
16 (Device operation error)
Please confirm whether or not the specified device exists, whether or not another application hasn't opened it exclusively, or whether or not you haven't exceeded the maximum number of devices that can be opened simultaneously.
17 (Device operation parameter error)
Please confirm whether or not the data and size expressions are correct.
250, 251

_____
DWRITE
Syntax
Function
_____The DWRITE statement writes in data into a specified device.
_____In device specification, we specify with a character string the device that will be written into.
_____The offset expression is an expression that expresses the offset from where we start write in. The offset units/meanings are dependent on the device.
_____The size expression is an expression that expresses the size on which we will conduct the write in. The size units/meanings are dependent on the device.
_____Data specifies an array variable or array section. The contents of the array will be written in. The array variable type is arbitrary. However, it must be an array that possesses the dimensions of size specified in the size expression. In a case where the array is less than the dimensions of size specified in the size expression, the contents that will be written into the device will become indefinite.
_____In a case where a real size variable has been specified, the real size of the device that will be made the target will be stored. The real size units/meanings are dependent on the device.
_____In a case where have executed the DWRITE statement for a device that hasn't been opened by means of the DOPEN statement, it will automatically be opened in update mode. There are occasions on which a device that was automatically opened will be automatically closed at an appropriate point in time.
_____The operation of a device is a specialized function, which, on top of a sufficient understanding concerning the device, requires caution to use.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the character string or character array
The item is not defined
Please confirm whether the correct device name has been specified.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
16 (Device operation error)
Please confirm whether or not the specified device exists, whether or not another application hasn't opened it exclusively or in exclusive write-in mode, whether or not you haven't exceeded the maximum number of devices that can be opened simultaneously, or whether or not the offset expression and size expression are correct.
17 (Device operation parameter error)
Please confirm whether or not the data and size expressions are correct.
252, 253

_____
FCLOSE
Syntax
Function
_____The FCLOSE statement closes a specified real object.
_____In a case where a virtual object segment has been specified in a real object specification, this closes the real object that the virtual object references.
_____In a case where a character string has been specified in a real object specification, this closes the corresponding real object by making the character string the path name to the real object.
_____In a case where MicroScript terminates, a real object that has been opened will automatically be closed.
_____Even a real object that has been automatically opened by means of the FREAD statement/FWRITE statement can be closed by executing the FCLOSE statement. However, there are occasions on which a real object that was automatically opened will be automatically closed at an appropriate point in time.
_____When you leave a real object opened as is, there is the possibility that the file system will be damaged. We recommend closing the real object by executing the FCLOSE statement at the point in time you have finished using it.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the virtual object or path name
An item has not been defined
Please confirm whether the correct virtual object segment name or path name has been specified.
The segment name must be bundled in hh. It is necessary for the path name to be bundled in hh.
This is an illegal item that cannot be interpreted
You cannot carry out specification of multiple real objects with one FCLOSE statement.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
32 (File operation error)
Please confirm whether or not the real object specified in the path name exists, whether it's an opened real object or not, whether or not it's an opened device, or whether or not you haven't closed again a real object that was closed once.
254

I Reference Section

FOPEN
Syntax
Function
_____The FOPEN statement opens a specified real object.
_____In a case where a virtual object segment has been specified in a real object specification, this opens the real object that the virtual object references.
_____In a case where a character string has been specified in a real object specification, this opens the corresponding real object by making the character string the path name to the real object.
_____Mode specification is a character string that expresses the mode in which to open.
"R" Read-in mode
"W" Write-in mode
"U" Update mode
"RX" Read-in mode (exclusion)
"WX" Write-in mode (exclusion)
"UX" Update mode (exclusion)
"Rx" Read-in mode (exclusive write-in)
"Wx" Write-in mode (exclusive write-in)
"Ux" Update mode (exclusive write-in)
_____A real object opened in read-in mode can be read in through FREAD.
_____A real object opened in write-in mode can be written in through FWRITE.
_____A real object opened in update mode can be read in through FREAD and written in through FWRITE.
_____Exclusion mode prohibits another application from simultaneously opening the real object that will become the target. In a case where another application has already opened the real object, you cannot open it in exclusion mode.
_____Exclusive write-in mode prohibits another application from simultaneously opening in write-in/update mode the real object that will become the target. In a case where another application has already opened the real object in write-in/update mode, you cannot open it in exclusive write-in mode.
_____With the FOPEN statement, omission is possible. In a case where you have used the FREAD statement/FWRITE statement without executing the FOPEN statement, the real object will automatically be opened in update mode.
_____The maximum number of files that MicroScript can simultaneously open is 16.
_____This cannot newly create a real object.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the virtual object segment or path name
An item has not been defined
Please confirm whether the correct virtual object segment name or path name has been specified.
The segment name must be bundled in hh. It is necessary for the path name to be bundled in hh.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
32 (File operation error)
Please confirm whether or not the real object specified in the path name exists, whether or not the mode specification character string is correct, whether or not another application hasn't exclusively opened it, or whether or not you haven't exceeded the maximum number of files (16) that can be opened simultaneously.

255, 256

I Reference Section

FREAD
Syntax
Function
_____The FREAD statement reads in data from a specified real object.
_____In a case where a virtual object segment has been specified in a real object specification, data will be read in from the real object the virtual object references.
_____In a case where a character string has been specified in a real object specification, data is read in from the corresponding real object by making the character string the path name to the real object.
_____The record number expression expresses the record number (0`) we will make the target of the read-in. In a case where a record number expression that does not exist has been specified, it will become an error.
_____The offset expression is an expression that expresses the offset byte number (0`) from where we will begin read-in. In a case where you exceed the record size of the record you will make the target, read-in will not be carried out, but you can obtain the record size.
_____The size expression is the byte number (0`) from where we will carry out read-in. In the case of 0, read-in will not be carried out, but you can obtain the record size.
_____Data specifies an array variable or section array. Read-in data are stored. In a case where the size expression is greater than the size of the array variable, only to the extent of the array variable size will be stored. The array variable type is arbitrary.
_____In a case where a record size variable has been specified, the record size of the record we will make the target will be stored. The offset expression and the size expression are irrelevant.
_____In a case where you have executed the FREAD statement for a real object that hasn't been opened by means of the FOPEN statement, it will automatically be opened in update mode. There are occasions on which a real object that was automatically opened will be automatically closed at an appropriate point in time.
_____There is no method through which you can check the record type/subrecord type of a record.
_____The read-in location of the record will not be saved. Every time you execute the FREAD statement, it is necessary to specify the target record and the offset.
_____In a case where the record we will make the target is a link record, there will be occasions on which it will become an error.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the virtual object segment or path name
An item has not been defined
Please confirm whether the correct virtual object segment name or path name has been specified.
The segment name must be bundled in hh. It is necessary for the path name to be bundled in hh.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
32 (File operation error)
Please confirm whether or not the real object specified in the path name exists, whether or not another application hasn't exclusively opened it, whether or not you haven't exceeded the maximum number of files (16) that can be opened simultaneously, or whether or not you have specified a record for which a record number expression exists.
33 (File operation parameter error)
Please confirm whether or not the record number expression and the size expression are correct.

257, 258

I Reference Section

FWRITE
Syntax
Function
_____The FRWITE statement writes in data into a specified real object.
_____In a case where a virtual object segment has been specified in a real object specification, data will be written into the real object the virtual object references.
_____In a case where a character string has been specified in a real object specification, data is written into the corresponding real object by making the character string the path name to the real object.
_____The record number expression expresses the record number (0`) we will make the target of the write-in. In a case where a record number of "last record number + 1" has been specified, this will newly add a record. In a case where a record number other than that has been specified, it will become an error. There are no instances in which the contents of a record other than the specified record will change.
_____The offset expression is an expression that expresses the offset byte number (0`) from where we will begin write-in. This must not be lower than the record size of the record we will make the target. In a case where we newly add a record, it must not be 0.
_____In the case of a offset expression that is -1, the record size will be specially reduced. This will reduce the record that will become the target to the size specified in <size expression>. As for write-in, nothing will be carried out, and the data will be ignored. However, even if we make the size 0, we cannot delete the record.
_____The size expression is the byte number (0`) for which we will carry out write-in. In the case of 0, because write-in will not be carried out, you can use this in obtaining the record size.
_____Data specifies an array variable or section array. In a case where the size expression is greater than the size of the array variable, only to the extent of the array variable size will be written in. The array variable type is arbitrary.
_____In a case where a record size variable has been specified, the record size of the record we will make the target will be stored. The offset expression and the size expression are irrelevant.
_____The contents of a record will be overwritten by means of data write-in. In a case where you have exceeded the record size and carried out write-in, the record size will automatically be expanded.
_____In a case where you have executed the FWRITE statement for a real object that hasn't been opened by means of the FOPEN statement, it will automatically be opened in update mode. A real object that was automatically opened will be automatically closed at an appropriate point in time.
_____The record type of a record that has been newly created will be fixed at 31 (application-dependent record). You cannot specify the record type.
_____In a case where the record we will make the target is a link record, there will be occasions on which it will become an error.
_____After you carry out write-in for a real object, if you leave it opened as is, there is the possibility that the file system will be damaged. We recommend closing the real object by executing the FCLOSE statement at the point in time you have finished using it.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument.
Please specify the virtual object segment or path name
An item has not been defined
Please confirm whether the correct virtual object segment name or path name has been specified.
The segment name must be bundled in hh. It is necessary for the path name to be bundled in hh.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ Normal
32 (File operation error)
Please confirm whether or not the real object specified in the path name exists, whether or not another application hasn't exclusively opened it, whether or not you haven't exceeded the maximum number of files (16) that can be opened simultaneously, whether or not you have specified a record for which a record number expression exists, or whether or not the offset expression hasn't exceeded the record size.
33 (File operation parameter error)
Please confirm whether or not the record number expression and the size expression are correct.

259, 260

I Reference Section

LOG
Syntax
Function
_____The LOG statement outputs in the console a character string specified in a form character string and expression.
_____In TiPO, normally, we cannot use the console.
_____We mainly use this at the time of the testing of scripts.
_____For the details on form character string expressions and expressions, please refer to FORM CHARACTER STRINGS (p. 96).
Errors that Occur at Startup Time
Please specify a character string or character array
Please confirm whether a character string or character array has been specified as the form character string.
There is no h at the end of the character string
Please confirm whether or not the correspondence of hh with the form character string and the argument character string is correct.
Errors that Occur During Execution (only in the case of DEBUG 1; refer to p. 39)
There was an item that is not a character string or character array
Although the argument should be a character string, it's not made up that way. Please confirm whether or not the correspondence between the form character string and the argument is correct.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ When we execute this statement, 0 gets loaded.

261

_____
MRECV
Syntax
Function
_____The MRECV statement receives the message of a message type specified in the mask expression. A mask expression expresses in the following values the type of the message that is to be received.
_____
0x01 : Corresponds to type 0 0x10 : Corresponds to type 4
0x02 : Corresponds to type 1 0x20 : Corresponds to type 5
0x04 : Corresponds to type 2 0x40 : Corresponds to type 6
0x08 : Corresponds to type 3 0x80 : Corresponds to type 7
_____
_____By taking a logical sum [OR], we can specify messages of multiple types simultaneously. For example, if we make it 0x12, we can receive type 1 and type 4.
_____In a case where we have received a message, the process ID of the process that is the transmission source will be stored in the process ID variable. However, in the case of a message from a self process, 0 will be stored in the process ID variable.
_____The type of the message received (0`7) is stored in the type variable. The byte size of the main body of the message received is stored in the size variable.
_____The main body of the message specifies an array variable or a section array. In a case where a message has been received, the main body of the received message will be stored. In a case where the size of the main body of the received message is greater than the size of the array variable, only to the extent of the array variable size will be stored, and the remainder will be discarded. The array variable type is arbitrary.
_____In a case where a timeout expression has been specified, this will not wait beyond the specified time. The timeout expression units are seconds. In a case where 0 has been specified in the timeout expression, this will not wait. Only in a case where a message has been stored in a message queue will the message be received. In a case where a timeout expression has been omitted, this will continue to wait until the message is received.
_____Regardless of the presence or absence of a timeout expression specification, you can terminate the wait state based on the MRECV statement if you execute the BREAK statement from another procedure. Whether or not it is a wait state can be checked with the .S of the procedure that is executing the MRECV statement.
_____A message transmitted by means of MicroScript's MSEND statement can be received as is with the MRECV statement. In a case where you will transmit a message from a program described in C language, it is necessary to pay attention to the format of the main body of the message.
____In receiving a message, it is necessary to set and put in place beforehand in the system variable $MMASK the type that will become the reception target. Because MicroScript will end up ignoring all received messages in a state where $MMASK has not been set, even if you execute the MRECV statement, you cannot receive messages.
_____Multiple procedures can simultaneously wait for the reception of messages by executing the MRECV statement, but what receives one message is just one procedure. Accordingly, in a case where procedures that wait for messages of the same type have been executed in multiple, which procedure is to receive a message will be uncertain.
Errors that Occur at Startup Time
Please specify a numerical value array
Please specify the main body of the message with an array or section array.
The setting of a value is not possible in this item
Values are set by means of the MRECV statement in the process ID variable, type variable, and size variable. You cannot hand over values to the arguments of these.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
1______Waited up to the time specified in the time out expression, but the message wasn't
received. In a case where you end up getting timed out although you should have received a message, please confirm whether or not the the system variable $MMASK has been set.
2_____ The wait state has been released based on a BREAK statement in another procedure.
262, 263

_____
MSEND
Syntax
Function
_____The MSEND statement transmits a message to a process specified in the process ID expression.
_____The process ID expression expresses with a process ID the target process to which we will transmit the message. Arbitrary processes, including a self process, can be specified.
_____The type expression expresses the type of the message with 0`7. The size expression expresses the byte size of the main body of the message.
_____The size expression expresses with 1`4095 the byte size of the message. In a case where 0 has been specified, the message will not be transmitted.
_____The main body of the message is specified in an array variable or a section array. In a case where the main body of the message is less than the byte size specified in the size expression, it will be regarded as something in which the byte size of the main body of the message has been specified in a size expression. The array variable type is arbitrary. However, because the size expression is specified with a byte number, it is necessary to pay attention to the byte number the variable occupies.
_____The MSEND message normally terminates at the point in time the message has been entered into the message queue of the process at the transmission destination the OS prepares. You cannot check whether or not the transmission destination process has received a message.
_____In a case where a transmission destination process is a MicroScript one, you can receive a message with the MRECV statement. In a case where a transmission destination process is a program described in C language, you can receive with the system call rcv_msg(), but it is necessary to pay attention to the format of the main body of the message.
_____The size of the main body of the message is a maximum of 4095 bytes.
Errors that Occur at Startup Time
Please specify a numerical value array
Please specify the main body of the message with an array or section array.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
48____This is a process operation error. Please confirm whether or not you have specified
a process for which a process ID exists, and whether or not the type expression and the size expression are correct.
264, 265

_____
PROCESS
Syntax
Function
_____The PROCESS statement creates/executes a specified program real object as a process.
_____In a case where a virtual object segment has been specified in the real object specification, this executes the real object the virtual object references as a program real object.
_____In a case where a character string has been specified in a real object specification, this executes the corresponding real object by making the character string the path name to the program real object.
_____In a case where a startup message has been specified, this hands over the startup message to the created/executed process. You can specify a character string startup message.
_____In the process ID variable, you can specify a variable that stores the process ID of the created/executed process.
_____
_____The path name is a character string of the following format that specifies the path to the target real object.
"/" "<real object name>" <real object name>
_____In a case where "/" is at the beginning, it shows a path from a system root; in a case where "/" does not exist, it shows a path from MicroScript itself. In a case where the same real object exists in multiple, you can specify the order of appearance (0`) for the case of identical real object names by attaching " : appearance order" directly after the real object name.
_____We use "" in the middle of a path name as an escape character. In a case where we include "/" in a real object name, we describe as "/." Furthermore, for "" itself, we describe as "."
_____What can be executed with the PROCESS statement are programs described with C language only. Utility applications and applications that start up from real objects of MicroScript, etc., are executed with the VOPEN statement, not the PROCESS statement.
_____When you have terminated MicroScript, programs started up from MicroScript will remain as is, without terminating. There is no method to terminate these processes.
_____The maximum number of processes that MicroScript can simultaneously start up is 16. However, until you execute the PWAIT statement and confirm the termination of a process, even a process that has already terminated will be counted as a process being executed.
_____The maximum number of characters you can specify for a path name is 255.
_____The maximum number of characters you can specify for a startup message is (256 - number of real object name characters - 2).
_____In a case where you have executed the PROCESS statement in full screen mode, the operation of processes of the type that display windows cannot be guaranteed.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the process ID variable and the real object specification. Please confirm whether or not the argument has been correctly specified.
Please specify the character string or character array
Please confirm whether or not a character string or character array has been specified as a real object specification or start up message. In the case of an array, the element type must be C (character type).
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
48___ This is a process operation error. Please confirm whether or not the real object
specification correctly specifies the program real object, and whether or not you haven't started up 17 or more processes.
266, 267

_____
PWAIT
Syntax
Function
_____The PWAIT statement waits for a process specified in a process ID expression to terminate.
_____A process ID expression is the process ID of a process created/executed by means of the PROCESS statement.
_____In a case where the target process terminates, or in a case where it has already terminated, the process termination code will be stored in the termination code variable. In a case where this is omitted, the termination code will be discarded.
_____In a case where a timeout expression has been specified, this will not wait beyond the specified time. The timeout expression units are seconds, and what can be specified is the range 0`86400. In a case where 0 has been specified in the timeout expression, this will not wait. In a case where the timeout expression has been omitted, this will continue waiting until all the targets terminate.
_____Regardless of the presence or absence of a timeout expression specification, you can terminate the wait state based on the PWAIT statement, if you execute a BREAK statement from another procedure. Whether or not it is a wait state can be checked with the state name .S of the procedure that is executing the PWAIT statement.
_____Until we execute the PWAIT statement, regardless of whether or not the target process has already terminated, it will be regarded as being executed. Because there is a limit to the number of processes that can start up simultaneously, in the case of a script of the type that continually executes the PROCESS statement, it is necessary to confirm the termination of each process by executing the PWAIT statement at appropriate points in time.
_____You cannot wait for the termination of processes that another application or microscript has created.
_____You also cannot use this in full screen mode.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the process ID expression.
Please specify the integer item
You cannot specify an expression or character string in the termination code variable. Please confirm whether the integer variable has been correctly specified.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
1_____ Waited until the time specified in the timeout expression, but the target didn't terminate.
2_____ The wait state was released through a BREAK statement in another procedure.
48___ This is a process operation error. Please confirm whether or not the process ID
expression is correct, and whether or not it is the process ID of a process created/
executed by the PROCESS statement.
268, 269

_____
RSCNTL
Syntax
Function
_____The RSCNTL statement caries out various types of operations for a specified serial port.
_____The function number expression specifies an operation.
_____
0 : Take out the current circuit state and store it in the circuit state variable
1 : Send the break signal
2 : Unconditionally release the reception state of XOFF and make it possible to transmit
_____
_____The circuit state is stored in the circuit state variable only in a a case where the function number expression is 0. The lower 4 bits of the values that are stored possess the following meanings.
_____
MSB LSB
xxxxxxxx xxxxxxxx xxxxxxxx xxxxABCD
A : DSR (Data Set Ready) signal line state

1 :

DSR signal line ON

0 :

DSR signal line OFF
B : CD (Carrier Detect) signal line state

1 :

CD signal line ON

0 :

CD signal line OFF
C : CS (Clear to Send) signal line state

1 :

CS signal line ON

0 :

CS signal line OFF
D : CI (Calling Indicator) signal line state

1 :

CI signal line ON

0 :

CI signal line OFF
_____
_____In a case where the function number expression is other than 0, and the circuit state variable has been omitted, an indefinite value will be stored in the circuit state variable.
_____As for the serial port you will specify, it is necessary for it to be initialized beforehand by means of the RSINIT statement.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit an argument. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.
270, 271

_____
RSGET
Syntax
Function
_____The RSGET statement reads in data from the specified serial port.
_____The RSGET statement is the same as the RSGETN statement. For details, please refer to the RSGETN statement (p. 274).
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the port expression with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.
272

I Reference Section

RSGETC
Syntax
Function
_____The RSGETC statement reads in data from a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. For the details of specifying a port number, please refer to the RSINIT statement (p. 275).
_____The RSGETC statement receives data from a serial port, and then temporarily stores it in an input buffer. It then moves the received data stored in the input buffer to the system variable $RS, and it sets the received byte size in the system variable $RSCNT.
_____Differing with the RSGETN statement, the contents of the input buffer are cleared after the execution of the RSGETC statement.
_____By referencing the system variables $RS and $RSCNT, we can process the data received from the serial port.
_____It is necessary for the serial port we will specify to have been initialized beforehand by means of the RSINIT statement.
_____The serial port input buffer is 512 bytes per port.
_____In a case where you have received data that exceed the capacity of the input buffer, data will be discarded in order from the old data.
_____The byte size of received data including discarded data (in other words, the byte size that exceeds 512) is set in $RSCNT, but what is actually stored in $RS are only the most newly received 512 bytes.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the port expression with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.

273

_____
RSGETN
Syntax
Function
_____The RSGETN statement reads in data from a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. For the details of specifying a port number, please refer to the RSINIT statement (p. 275).
_____The RSGETN statement receives data from a serial port, and then temporarily stores it in an input buffer. It then copies the received data stored in the input buffer to the system variable $RS, and it sets the received byte size in the system variable $RSCNT.
_____Differing with the RSGETC statement, the RSGETN statement does not clear the contents of the input buffer.
_____By referencing the system variables $RS and $RSCNT, we can process the data received from the serial port.
_____It is necessary for the serial port we will specify to have been initialized beforehand by means of the RSINIT statement.
_____The serial port input buffer is 512 bytes per port.
_____In a case where you have received data that exceeds the capacity of the input buffer, data will be discarded in order from the old data.
_____The byte size of received data including discarded data (in other words, the byte size that exceeds 512) is set in $RSCNT, but what is actually stored in $RS are only the most newly received 512 bytes.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the port expression with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.
274

I Reference Section

RSINIT
Syntax
Function
_____The RSINIT statement carries out the initialization of a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. The corresponding relationship between the specifiable port numbers and the actual serial ports is something that depends on the hardware.
_____In the case of TiPO, they become as follows:
_____
0 : IrDA 1 : Serial port 2 : PC card
_____
_____The mode expression is a value that specifies the initialization mode of the serial port. It becomes a total of the values in the following table.
_____
Numerical
Value
_

0

Transmits only when the CS signal is ON

10000

Transmits without regard to the state of the CS signal

0

Without flow control

1000

RTS/CTS control

2000

XON/XOFF control

3000

XON/XOFF + RTS/CTS control

4000

Half-duplex communication

_

During reception: ____RS signal OFF, DTR signal ON

_

During transmission: RS signal ON, DTR signal OFF

5000

Half-duplex communication 2

_

During reception: ____RS signal OFF, DTR signal ON

_

During transmission: RS signal ON, DTR signal OFF

0

Without parity check

100

Odd number parity

200

Even number parity

10

Stop bit 1

20

Stop bit 2

5

Data length 5 bits

6

Data length 6 bits

7

Data length 7 bits

8

Data length 8 bits
_____
_____In a case where 0 has been specified as the mode expression, or in a case where it has been omitted, it will be regarded as the value 18 having been specified. In other words, the serial port will initialize in the mode of transmit only when CS signal is ON/without flow control/without parity check/stop bit 1/data length 8 bits.
_____The communication speed expression is a value that specifies the serial port communication speed. The units are bps (bits per second), and we specify one among 75, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200. Whether or not a specified communication speed is actually supported, and, also, whether or not it will operate normally are dependent on the hardware.
____In a case where 0 has been specified as the communication speed, or in a case where it has been omitted, it will be regarded as a case of 9600 bps having been specified.
_____It is necessary that you without fail execute the RSINIT statement before you execute a statement that the utilizes the serial port (the RSPUT, RSPUTC, RSPUTN, RSGET, RSGETC, RSGETN, RSWAIT, and RSCNTL statements).
_____In a case where you execute the RSINIT statement again after having executed the RSINIT statement, it will clear the serial port input buffer, together with initializing the serial port hardware.
_____The serial port loaded onto the main unit of TiPO cannot be used at a communication speed above 38400 bps.
_____MicroScript opens serial port devices in D_UPDATE mode. Multiple microscripts can simultaneously utilize the same serial port, but the settings of the initializations become valid from the rear.
_____Whether or not settings of 10000, 4000, or 5000 are supported as mode expressions, and, also, whether or not they operate normally are dependent on the hardware.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal.
209__The mode expression or the communication speed is illegal.
210__Because another application is utilizing the serial port exclusively, you cannot open the
serial port. Please terminate the other application.
211__The serial port cannot be initialized.

275, 276

I Reference Section

RSPUT
Syntax
Function
_____The RSPUT statement transmits data to a specified serial port.
_____The RSPUT statement is the same as the RSPUTC statement . For the details of specifying a port number, please refer to the RSPUTC statement (p. 278).
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.

277

_____
RSPUTC
Syntax
Function
_____The RSPUTC statement transmits data to a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. For the details of specifying a port number, please refer to the RSINIT statement (p. 275).
_____The transmission data expression is an integer value or section array that specifies the data you will transmit. You can list the data you will transmit. In a case where the transmission data expression is not a byte-type value, the lower 8 bits become valid, and the upper bits are ignored.
_____Differing with the RSPUTN statement, this clears the input buffer.
_____In a case where the transmission data expression has been omitted, it carries out only the clearing of the input buffer.
_____It is necessary for the serial port we will specify to have been initialized beforehand by means of the RSINIT statement.
_____What can be specified as the transmission data expression is a maximum 512 units.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.
278

I Reference Section

RSPUTN
Syntax
Function
_____The RSPUTN statement transmits data to a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. For the details of specifying a port number, please refer to the RSINIT statement (p. 275).
_____The transmission data expression is an integer value or section array that specifies the data you will transmit. You can list the data you will transmit. In a case where the transmission data expression is not a byte-type value, the lower 8 bits become valid, and the upper bits are ignored.
_____In a case where the transmission data expression has been omitted, nothing happens.
_____Differing with the RSPUTC statement and the RSPUT statement, the input buffer will not be cleared.
_____It is necessary for the serial port we will specify to have been initialized beforehand by means of the RSINIT statement.
_____What can be specified as the transmission data expression is a maximum 512 units.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the port expression. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.

279

_____
RSWAIT
Syntax
Function
_____The RSWAIT statement waits for specific data to be stored in the input buffer of a specified serial port.
_____The port expression is a value of 0`3 that specifies the port number of a serial port. For the details of specifying a port number, please refer to the RSINIT statement (p. 275).
_____The reception data expression is an integer value or section array that specifies the data we are awaiting the reception of. In a case where the reception data expression is not a byte-type value, the lower 8 bits become valid, and the upper bits are ignored.
_____In a case where a timeout expression has been specified, this will not wait beyond the specified time. The units of the timeout expression are seconds.
_____In a case where 0 has been specified in the timeout expression, this will not wait.
_____In a case where the timeout expression has been omitted, this will continue to wait until the reception data are received.
_____Regardless of the presence or absence of the specification of a timeout expression, you can terminate a wait state based on the RSWAIT statement if you execute a BREAK statement from another procedure. Whether or not it is a wait state can be checked with the state name .S of the procedure that is executing the RSWAIT statement.
_____In a case where data exist, 0 will be set in $ERR.
_____The RSWAIT statement checks for the presence or absence of data, on top of receiving data from the serial port and temporarily storing it in the input buffer. You can take out the data in the input buffer by means of the RSGETC statement and RSGETN statement.
_____With the RSWAIT statement, the contents of the system variables $RS and $RSCNT will not change.
_____It is necessary for the serial port we will specify to have been initialized beforehand by means of the RSINIT statement.
_____In a case where you have received data that exceed the capacity of the input buffer, data will be discarded in order from the old data.
Errors that Occur at Startup Time
A necessary item is lacking
You cannot omit the argument. Please confirm whether or not the argument has been properly specified.
Please specify the integer item
Please specify the argument with an integer value.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
1_____ Waited until the time specified in the timeout expression, but the specified data weren't
received.
2_____ The wait state was released through a BREAK statement in another procedure.
208__The port expression is illegal. Please confirm whether or not a value that shows a valid
serial port has been specified in the port expression, and, also, whether or not initialization based on the RSINIT statement has been completed.
280, 281

_____
VCLOSE
Syntax
Function
_____The VCLOSE statement terminates a specified virtual object or utility.
_____In a case where a virtual object segment has been specified, this closes the window opened from that virtual object, and then terminates the application.
_____In a case where a character string has been specified, this regards the character string as the name of a utility that has been registered in the utility menu, and it terminates that utility application. In a case where the corresponding utility does not exist, it is ignored.
_____In a case where a virtual object segment and character string specifications have been omitted, this will close all the windows that have been opened from MicroScript. In this case, not just the windows that the VOPEN statement opened, but even the windows the user opened through a double-click operation on virtual objects become the targets.
_____In a case where this has closed another MicroScript window, it becomes the same thing as having closed it by executing the FINISH statement.
_____In a case where the target is a utility, there are cases where the VCLOSE statement is ignored, depending on the utility application. In a case where you have executed the same utility application in multiple, only the utility executed last will become the target. You cannot terminate a utility application the user started up from the utility menu.
_____In a case where the virtual object segment or utility application that will become the target has not started up, the VCLOSE statement will be ignored.
_____In full screen mode, you cannot start up another application. The VCLOSE statement will be ignored.
Errors that Occur at Startup Time
Please specify a virtual object segment or path name
Please confirm whether the correct virtual object segment name or utility name has been specified.
The segment name must be bundled in hh. It is necessary for the utility name to be bundled in hh.
An item has not been defined
Please confirm whether the correct virtual object segment name or utility name has been specified.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ When we execute this statement, 0 gets loaded.
282, 283

_____
VOPEN
Syntax
Function
_____The VOPEN statement starts up a specified virtual object or utility application.
_____In a case where a virtual object segment has been specified, this starts up the double-click startup application of that virtual object, and then opens a window.
_____In a case where a character string has been specified, this regards the character string as the name of a utility that has been registered in the utility menu, and it starts up that utility application. In a case where the corresponding utility does not exist, it is ignored.
_____If, in a case where a virtual object segment and character string specifications have been omitted, this is inside a procedure that describes an event for a virtual object segment, this will start up the double-click startup application of that virtual object. In a case where this is executed inside a procedure other than that, it will be ignored.
_____In a case where the specified virtual object or utility window has already been opened, this will display that window in the forefront.
_____The size and location of a window opened by means of VOPEN will not be saved even if you close the window.
_____You can also start up another microscript by means of VOPEN. In this case, the microscript that executed VOPEN and the microscript that newly started up will operate in parallel. Data can be exchanged among multiple microscripts by using such things as the system variable $GV and message control functions.
_____An application that has started up becomes an independent process for each startup source virtual object. The process ID of the process can be acquired through the state name .PID of the virtual object segment.
_____When you terminate MicroScript, processes started up from MicroScript are left as is, without being terminated. In a case where we will terminate a process, we use the VCLOSE statement.
_____In full screen mode, you cannot start up another application. The VOPEN statement will be ignored.
_____A utility application that has not be registered in the utility menu will not start up.
Errors that Occur at Startup Time
Please specify a virtual object segment or path name
Please confirm whether the correct virtual object segment name or utility name has been specified.
The segment name must be bundled in hh. It is necessary for the utility name to be bundled in hh.
An item has not been defined
Please confirm whether the correct virtual object segment name or utility name has been specified.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ When we execute this statement, 0 gets loaded.
284, 285

_____
VWAIT
Syntax
Function
_____The VWAIT statement waits for a specified virtual object or utility application to terminate.
_____In a case where a virtual object segment has been specified, this waits until the window opened from that virtual object is closed.
_____In a case where a character strings has been specified, this regards the character string as the name of a utility displayed in the utility menu, and it waits until that utility application terminates.
_____In a case where the specification of a virtual object segment and character string have been omitted, it waits until all the windows opened from MicroScript are closed. In this case, not just the windows that the VOPEN statement opened, but even the windows the user opened through a double-click operation on virtual objects become the targets.
_____In a case where multiple targets have been specified, this waits until all the targets terminate.
_____In a case where a timeout expression has been specified, this will not wait beyond the specified time. The timeout expression units are seconds. In a case where 0 has been specified in the timeout expression, this will not wait. In a case where a timeout expression has been omitted, this this will continue to wait until all the targets terminate.
_____Regardless of the presence or absence of the specification of a timeout expression, you can terminate the wait state based on the VWAIT statement if you execute the BREAK statement from another procedure. Whether or not it is a wait state can be checked with the state name .S of the procedure that is executing the VWAIT statement.
_____In a case where all the targets have terminated, 0 will be set in $ERR.
_____In a case where the same utility application has been executed in multiple, only the utility executed last becomes the target.
_____In full screen mode, you cannot start up another application. The VWAIT statement will be ignored.
_____Values that can be specified as a time expression are 0`86400.
Errors that Occur at Startup Time
Please specify a virtual object segment or path name
Please confirm whether the correct virtual object segment name or utility name has been specified.
The segment name must be bundled in hh. It is necessary for the utility name to be bundled in hh.
An item has not been defined
Please confirm whether the correct virtual object segment name or utility name has been specified.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ Normal
1_____ Waited until the time specified in the timeout expression, but the specified data weren't
received.
2_____ The wait state was released through a BREAK statement in another procedure.
286, 287

_____
WMOVE
Syntax
Function
_____This moves the location of the self window in a manner that the upper left location inside the self window becomes the specified location. The location is specified with coordinates in which we make the upper left of the screen (0, 0), and then make increases in a right downward direction. In a case where you have specified values of the type where the self window ends up moving entirely off screen, they will be corrected to a location of the type where a portion of the window lies within the screen.
_____Please also refer to $WDX and $WDY.
_____In full screen mode (refer to the FULLWIND statement, p. 242), the WMOVE statement has no effect.
Errors that Occur at Startup Time
Please specify the integer items
Please specify integers for the X coordinate and the Y coordinate.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ When we execute this statement, 0 gets loaded.
288

I Reference Section

WSAVE
Syntax
Function
_____This saves the location and size of the current self window. The window will be displayed with the stored location and size at start up time on the next occasion.
_____The stored location and size become invalid when you open the target real object with the Basic Figure Editor and change the location and size of the window.
_____In full screen mode (refer to the FULLWIND statement, p. 242), the WSAVE statement has no effect.
Errors that Are Stored into $ERR (refer to p. 170 concerning $ERR)
0_____ When we execute this statement, 0 gets loaded.

289

_____
WSIZE
Syntax
Function
_____This changes the internal size of the self window into the specified width and height. The units are dots. The upper left of the self window is left as is, and this changes the lower right location.
_____The self window must be active.
_____In a case where the specified values are too small, or a case where they are too large, they will be automatically corrected to a size within the range of limits. Moreover, even within the limits, in a case where you have specified values that are too large, there will be cases where this ends up failing at execution. In regard to limits, they are dependent on the system, but as a standard, please make the smallest size about width 80 dots, height 48 dots, and the largest size the screen size.
_____Please also refer to $WDW, $WDH, $SCRW, and $SCRH.
_____In full screen mode (refer to the FULLWIND statement, p. 242), the WSIZE statement has no effect.
Errors that Occur at Startup Time
Please specify the integer items
Please specify numerical values for the width and height.
Errors that Occur During Execution (only in the case of DEBUG 1; refer to p. 39)
System resources were insufficient
The size of the specified window was too big.
Errors that Are Stored in $ERR (in regard to $ERR, refer to p. 170)
0_____ When we execute this statement, 0 gets loaded.
290


The above contents of BTRON MicroScript Reference Manual were translated and loaded onto this Web page with the permission of Personal Media Corporation.

Copyright (c) 1997 Personal Media Corporation

Copyright (c) 2010 Sakamura Laboratory, University Museum, University of Tokyo