c_stmt.htm
来自「Delphi脚本控件」· HTM 代码 · 共 1,345 行 · 第 1/3 页
HTM
1,345 行
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Init</i>
<blockquote>
Required. An expression. This expression is executed only once, before the loop is executed.
</blockquote>
</blockquote>
<blockquote>
<i>Test</i>
<blockquote>
Required. An expression. The increment expression is executed at the end of every pass through the loop.
</blockquote>
</blockquote>
<blockquote>
<i>Statements</i>
<blockquote>
Optional. One or more <font color="black"><i>statements</i></font> to be executed if <font color="black"><i>test</i></font> is true. Can be a compound statement.
</blockquote>
</blockquote>
You usually use a for loop when the loop is to be executed a specific number of times.
<H4>
Example
</H4>
<pre>
<font color="blue"><b>for</b></font> (i = 0; i < 10; i++) {
myarray[i] = i;
}
</pre>
i is set to 0 at start, and is incremented by 1 at the end
of each iteration. Loop terminates when i is not less
than 10 before a loop iteration.
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Do Statements">Do Statements</a></li>
<li><a href="#While Statements">While Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Function Statements"><h3>Function Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Declares the name, arguments, and code that form the body of a function.
<H4>
Grammar
</H4>
<blockquote>
<pre>
FunctionStmt -> [<font color="blue"><b>static</b></font>] [<font color="blue"><b>function</b></font>] TypeName Ident [<font color="Red">'('</font> FormalParam/<font color="Red">','</font>... <font color="Red">')'</font>]
<font color="Red">'{'</font>
[Statements]
<font color="Red">'}'</font>
FormalParam -> [<font color="blue"><b>var</b></font>] Parameter
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Ident</i>
<blockquote>
The name of the function.
</blockquote>
</blockquote>
<blockquote>
<i>Parameter</i>
<blockquote>
Represents formal <font color="black"><i>parameter</i></font> of function. The var keyword indicates that the
argument is passed by reference.
</blockquote>
</blockquote>
<blockquote>
<i>Statements</i>
<blockquote>
Optional. One or more <font color="black"><i>statements</i></font>
</blockquote>
</blockquote>
<blockquote>
<i>Static</i>
<blockquote>
Optional. The class keyword specifies a <font color="black"><i>static</i></font> (shared) method of a class. Can be used only inside of a class body.
</blockquote>
</blockquote>
<H4>
Example 1
</H4>
<pre>
<font color="blue"><b>int</b></font> Fact(N) {
<font color="blue"><b>if</b></font> (N == 1)
<font color="blue"><b>return</b></font> 1;
<font color="blue"><b>else</b></font>
<font color="blue"><b>return</b></font> N * Fact(N - 1);
}
</pre>
You can use the function statement inside of a class body. In such case the statement declares a method of the class.
<H4>
Example 2
</H4>
<pre>
<font color="blue"><b>class</b></font> MyClass: TObject {
<font color="blue"><b>string</b></font> Z = <font color="Red">'abc'</font>;
<font color="blue"><b>void</b></font> MyClass(Z) {<font color="blue"><b>this</b></font>.Z = Z}
<font color="blue"><b>string</b></font> DoubleZ() {<font color="blue"><b>return</b></font> Z + Z;}
<font color="blue"><b>static</b></font> <font color="blue"><b>void</b></font> Hello() {<font color="blue"><b>return</b></font> <font color="Red">'Hello '</font> + ClassName};
}
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Class Statements">Class Statements</a></li>
<li><a href="#Return Statements">Return Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Goto Statements"><h3>Goto Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Transfers program execution to a labeled statement.
<H4>
Grammar
</H4>
<blockquote>
<pre>
GotoStmt -> <font color="blue"><b>goto</b></font> Label <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Label</i>
<blockquote>
A unique identifier used when referring to the labeled statement.
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>var</b></font> i = 0;
<font color="blue"><b>for</b></font> (;;) {
i++;
<font color="blue"><b>if</b></font> (i == Random(100)) <font color="blue"><b>goto</b></font> L;
}
L: <font color="blue"><b>print</b></font> i;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Labeled Statements">Labeled Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="If Statements"><h3>If Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Conditionally executes a group of statements, depending on the value of an expression.
<H4>
Grammar
</H4>
<blockquote>
<pre>
IfStmt -> <font color="blue"><b>if</b></font> <font color="Red">'('</font> Condition <font color="Red">')'</font> Statement1
[ <font color="blue"><b>else</b></font> Statement2 ]
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Condition</i>
<blockquote>
A Boolean expression. If <font color="black"><i>condition</i></font> is null or undefined, <font color="black"><i>condition</i></font> is treated as false.
</blockquote>
</blockquote>
<blockquote>
<i>Statement1</i>
<blockquote>
The statement to be executed if <font color="black"><i>condition</i></font> is true. Can be a compound statement.
</blockquote>
</blockquote>
<blockquote>
<i>Statement2</i>
<blockquote>
Optional. The statement to be executed if <font color="black"><i>condition</i></font> is false. Can be a compound statement.
</blockquote>
</blockquote>
<H4>
Example 1
</H4>
<pre>
<font color="blue"><b>if</b></font> (y = 6)
z = 17;
</pre>
<H4>
Example 2
</H4>
<pre>
<font color="blue"><b>if</b></font> (x > 0)
s = 1;
<font color="blue"><b>else</b></font>
s = -1;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Switch Statements">Switch Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Labeled Statements"><h3>Labeled Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Provides an identifier for a statement.
<H4>
Grammar
</H4>
<blockquote>
<pre>
LabeledStmt -> Label <font color="Red">':'</font> Statement <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Label</i>
<blockquote>
A unique identifier used when referring to the labeled statement.
</blockquote>
</blockquote>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Break Statements">Break Statements</a></li>
<li><a href="#Continue Statements">Continue Statements</a></li>
<li><a href="#Goto Statements">Goto Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Namespace Statements"><h3>Namespace Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
SnugPascal programs are organized using namespaces. You can consider the namespace as a class which contains only static (shared) members.
<H4>
Grammar
</H4>
<blockquote>
<pre>
NamespaceStmt -> <font color="blue"><b>namespace</b></font> <font color="Red">'{'</font>
Statements
<font color="Red">'}'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Statements</i>
<blockquote>
One or more <font color="black"><i>statements</i></font>
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>namespace</b></font> Shapes {
<font color="blue"><b>class</b></font> Point {
<font color="blue"><b>private</b></font> <font color="blue"><b>int</b></font> x, y;
<font color="blue"><b>function</b></font> Point(<font color="blue"><b>int</b></font> x, <font color="blue"><b>int</b></font> y){
<font color="blue"><b>this</b></font>.x = x;
<font color="blue"><b>this</b></font>.y = y;
}
}
<font color="blue"><b>class</b></font> Circle: Point {
<font color="blue"><b>private</b></font> <font color="blue"><b>int</b></font> r;
<font color="blue"><b>function</b></font> Circle(<font color="blue"><b>int</b></font> x, <font color="blue"><b>int</b></font> y, <font color="blue"><b>int</b></font> r): <font color="blue"><b>base</b></font>(x, y) {
<font color="blue"><b>this</b></font>.r = r;
}
}
} // <font color="blue"><b>namespace</b></font>
<font color="blue"><b>var</b></font>
P = <font color="blue"><b>new</b></font> Shapes.Point(2, 3), C = <font color="blue"><b>new</b></font> Shapes.Circle(3, 5, 7);
<font color="blue"><b>print</b></font> P, C;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Class Statements">Class Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Print Statements"><h3>Print Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Prints value of an expression.
<H4>
Grammar
</H4>
<blockquote>
<pre>
PrintStmt -> <font color="blue"><b>print</b></font> Expression/<font color="Red">','</font>... <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>print</b></font> 4 * 100 / 7;
</pre>
</blockquote>
<a name="Property Statements"><h3>Property Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
A property, like a field, defines an attribute of an object. But while a field is merely a storage location whose contents can be examined and changed, a property associates specific actions with reading or modifying its data. Properties provide control over access to an object抯 attributes, and they allow attributes to be computed.
<H4>
Grammar
</H4>
<blockquote>
<pre>
PropertyStmt -> <font color="blue"><b>property</b></font> Ident [ParamList] <font color="Red">'{'</font>
[ <font color="blue"><b>get</b></font> <font color="Red">'{'</font> GetStatements <font color="Red">'}'</font> ]
[ <font color="blue"><b>set</b></font> <font color="Red">'{'</font> SetStatements <font color="Red">'}'</font> ]
<font color="Red">'}'</font>
ParamList -> <font color="Red">'['</font> Param/<font color="Red">','</font>... <font color="Red">']'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Ident</i>
<blockquote>
Name of the property. If <font color="black"><i>Ident</i></font> is 'this', this is an indexed property
</blockquote>
</blockquote>
<blockquote>
<i>Param</i>
<blockquote>
Parameter of indexed property
</blockquote>
</blockquote>
<blockquote>
<i>GetStatements</i>
<blockquote>
Any group of statements to be executed within the body of the Property Get procedure.
</blockquote>
</blockquote>
<blockquote>
<i>SetStatements</i>
<blockquote>
Any group of statements to be executed within the body of the Property Set procedure.
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>class</b></font> MyClass {
<font color="blue"><b>var</b></font>
fZ = [10, 20, 30, 40, 50];
<font color="blue"><b>function</b></font> MyClass(){}
<font color="blue"><b>property</b></font> <font color="blue"><b>this</b></font>[I] {
<font color="blue"><b>get</b></font> { <font color="blue"><b>return</b></font> fZ[I]; }
<font color="blue"><b>set</b></font> { fZ[I] = Value; }
}
}
<font color="blue"><b>var</b></font> X = <font color="blue"><b>new</b></font> MyClass();
X[1] = 90;
<font color="blue"><b>print</b></font> x;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Class Statements">Class Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Return Statements"><h3>Return Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Exits from the current function and returns a value from that function.
<H4>
Grammar
</H4>
<blockquote>
<pre>
ReturnStmt -> <font color="blue"><b>return</b></font> [Expression] <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Expression</i>
<blockquote>
Optional. The value to be returned from the function. If omitted, the function does not return a value.
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>function</b></font> Fact(N) {
<font color="blue"><b>if</b></font> (N == 1)
<font color="blue"><b>return</b></font> 1;
<font color="blue"><b>else</b></font>
<font color="blue"><b>return</b></font> N * Fact(N - 1);
}
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Function Statements">Function Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Structure Statements"><h3>Structure Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Declares the name of a structure, as well as a definition of the variables, properties, and methods that comprise the structure.
<H4>
Grammar
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?