32 of 158
26 CallTask <task-name>, <task-stack> In this case, the <task-name> element must be the name of a user-defined subroutine that takes no parameters. The <task-stack> must be the name of a Byte array that will serve as the stack for the task. For compatibility with BasicX, the <task-name> may be enclosed in quote marks. Example Dim ts1(1 to 40) as Byte CallTask task1, ts1 A task may also be passed parameters when it is invoked. The syntax for doing so is similar to that for invoking a subroutine that requires parameters. CallTask <task-name>( <parameter-list> ), <task-stack> See the discussion of the CallTask statement in the ZBasic System Library Reference manual for more details on the allowed parameter types. This syntax is not supported in BasicX compatibility mode. Example Dim ts1(1 to 40) as Byte CallTask task1(&H100), ts1 For advanced users, the task stack may also be specified by giving its address explicitly. This topic is discussed in section 3.5.1, Advanced Multi-tasking Options. 2.5.4 Console.Write and Console.WriteLine Statements These statements (with a syntax more akin to object-oriented methods) are similar to Debug.Print but they are limited to displaying one string at a time. They are supported for compatibility with Visual Basic. The syntax of the statements is: Console.Write( <string-expression> ) Console.WriteLine( <string-expression> ) The difference between these two statements is that the latter also outputs a carriage return/line feed following the string while the former does not. Examples Dim i as Integer Dim s as String Console.WriteLine(CStr(i)) Console.WriteLine("i = " & CStr(i)) Console.Write("s = ") Console.WriteLine(s) Console.WriteLine("") This sequence of statements is written to produce exactly the same result as the sequence of Debug.Print statements above. Note how the string concatenation operation is used in the second