pascal_stmt.htm
来自「Delphi脚本控件」· HTM 代码 · 共 2,046 行 · 第 1/5 页
HTM
2,046 行
<font color="blue"><b>for</b></font> J:=1 <font color="blue"><b>to</b></font> 5 <font color="blue"><b>do</b></font>
<font color="blue"><b>if</b></font> I + J = Random(15) <font color="blue"><b>then</b></font>
<font color="blue"><b>goto</b></font> L;
L: <font color="blue"><b>print</b></font> I, J;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Labeled Statements">Labeled Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Halt Statements"><h3>Halt Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Initiates abnormal termination of a program.
<H4>
Grammar
</H4>
<blockquote>
<pre>
HaltStmt -> <font color="blue"><b>halt</b></font> [ ExitCode] <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>ExitCode</i>
<blockquote>
Optional. An expression that specifies an exit code for the program.
</blockquote>
</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> Condition <font color="blue"><b>then</b></font> Statement1 [<font color="blue"><b>else</b></font> Statement2] <font color="Red">';'</font>
</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.
</blockquote>
</blockquote>
<blockquote>
<i>Statement2</i>
<blockquote>
Optional. The statement to be executed if <font color="black"><i>condition</i></font> is false.
</blockquote>
</blockquote>
<H4>
Example 1
</H4>
<pre>
<font color="blue"><b>if</b></font> y = 6 <font color="blue"><b>then</b></font>
z := 17;
</pre>
<H4>
Example 2
</H4>
<pre>
<font color="blue"><b>if</b></font> x > 0 <font color="blue"><b>then</b></font>
s := 1
<font color="blue"><b>else</b></font>
s := -1;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Case Statements">Case Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Label statements"><h3>Label statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Creates new labels.
<H4>
Grammar
</H4>
<blockquote>
<pre>
LabelStmt -> <font color="blue"><b>label</b></font> Ident, /... <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>Ident</i>
<blockquote>
Identifier of label.
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>var</b></font>
I, J: Integer;
<font color="blue"><b>label</b></font>
Outer;
<font color="blue"><b>begin</b></font>
Outer:
<font color="blue"><b>for</b></font> I:=1 <font color="blue"><b>to</b></font> 3 <font color="blue"><b>do</b></font>
<font color="blue"><b>for</b></font> J:=1 <font color="blue"><b>to</b></font> 4 <font color="blue"><b>do</b></font>
<font color="blue"><b>begin</b></font>
<font color="blue"><b>if</b></font> (I = 2) <font color="blue"><b>and</b></font> (J = 3) <font color="blue"><b>then</b></font>
<font color="blue"><b>Continue</b></font> Outer;
<font color="blue"><b>print</b></font> I, J;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Labeled Statements">Labeled 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 -> L <font color="Red">':'</font> Statement <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>L</i>
<blockquote>
A unique identifier used when referring to the labeled <font color="black"><i>statement</i></font>.
</blockquote>
</blockquote>
<blockquote>
<i>Statement</i>
<blockquote>
Any <font color="black"><i>statement</i></font>.
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
L: <font color="blue"><b>for</b></font> I:=1 <font color="blue"><b>to</b></font> 10 <font color="blue"><b>do</b></font>
<font color="blue"><b>for</b></font> J:=1 <font color="blue"><b>to</b></font> 5 <font color="blue"><b>do</b></font>
<font color="blue"><b>if</b></font> J = 3 <font color="blue"><b>then</b></font>
<font color="blue"><b>Break</b></font> L
<font color="blue"><b>else</b></font>
writeln(I, <font color="Red">' '</font>, J);
</pre>
<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>
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>
StatementList
<font color="blue"><b>end</b></font> <font color="Red">';'</font>
</pre>
</blockquote>
<H4>
Arguments
</H4>
<blockquote>
<i>StatementList</i>
<blockquote>
One or more statements
</blockquote>
</blockquote>
<H4>
Example
</H4>
<pre>
<font color="blue"><b>namespace</b></font> Shapes
<font color="blue"><b>var</b></font>
ShapeCount,
ShapeList[100];
<font color="blue"><b>procedure</b></font> RegisterShape(S);
<font color="blue"><b>begin</b></font>
ShapeCount := ShapeCount + 1;
ShapeList[ShapeCount] := S;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>class</b></font> TPoint
<font color="blue"><b>var</b></font> X, Y;
<font color="blue"><b>constructor</b></font> Create(X, Y);
<font color="blue"><b>begin</b></font>
Self.X := X;
Self.Y := Y;
RegisterShape(Self);
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>class</b></font> TSquare
<font color="blue"><b>var</b></font> X1, Y1, X2, Y2;
<font color="blue"><b>constructor</b></font> Create(X1, Y1, X2, Y2);
<font color="blue"><b>begin</b></font>
Self.X1 := X1;
Self.Y1 := Y1;
Self.X2 := X2;
Self.Y2 := Y2;
RegisterShape(Self);
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>var</b></font>
P = Shapes.TPoint.Create(3, 5);
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Program Statements">Program 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 div 7;
</pre>
</blockquote>
<a name="Procedure Statements"><h3>Procedure Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Declares the name, arguments, and code that form the body of a procedure.
<H4>
Grammar
</H4>
<blockquote>
<pre>
ProcedureStmt -> [<font color="blue"><b>class</b></font>] <font color="blue"><b>procedure</b></font> Ident [<font color="Red">'('</font> FormalParam/<font color="Red">','</font>... <font color="Red">')'</font>] <font color="Red">';'</font>
[[call_convention] <font color="blue"><b>external</b></font> DllName [name ProcName]<font color="Red">';'</font>]
<font color="blue"><b>begin</b></font>
Statement /<font color="Red">';'</font>...
<font color="blue"><b>end</b></font> <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 procedure.
</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>Statement</i>
<blockquote>
Any simple or structured <font color="black"><i>statement</i></font>.
</blockquote>
</blockquote>
<blockquote>
<i>Class</i>
<blockquote>
Optional. The <font color="black"><i>class</i></font> keyword specifies a static (shared) method of a <font color="black"><i>class</i></font>. Can be used only inside of a <font color="black"><i>class</i></font> body.
</blockquote>
</blockquote>
<blockquote>
<i>call_convention</i>
<blockquote>
One of: pascal, cdecl, stdcall, register, safecall.
</blockquote>
</blockquote>
Functions and procedures can be nested.
<H4>
Example 1
</H4>
<pre>
<font color="blue"><b>procedure</b></font> Hanoi(N, X, Y, Z);
<font color="blue"><b>begin</b></font>
<font color="blue"><b>if</b></font> N > 0 <font color="blue"><b>then</b></font>
<font color="blue"><b>begin</b></font>
Hanoi(N - 1, X, Z, Y);
<font color="blue"><b>print</b></font> <font color="Red">'Transfer a ring from '</font> + X + <font color="Red">' to '</font> + Y;
Hanoi(N - 1, Z, Y, X);
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
</pre>
You can use the procedure <font color="black"><i>statement</i></font> inside of a <font color="black"><i>class</i></font> body. In such case the <font color="black"><i>statement</i></font> declares a method of the <font color="black"><i>class</i></font>.
<H4>
Example 2
</H4>
<pre>
<font color="blue"><b>class</b></font> TMyClass(TObject)
<font color="blue"><b>var</b></font>
Z = <font color="Red">'abc'</font>;
<font color="blue"><b>procedure</b></font> PrintZ;
<font color="blue"><b>begin</b></font>
<font color="blue"><b>print</b></font> Z;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>class</b></font> <font color="blue"><b>procedure</b></font> PrintHello;
<font color="blue"><b>begin</b></font>
<font color="blue"><b>print</b></font> <font color="Red">'Hello '</font>;
<font color="blue"><b>end</b></font>;
<font color="blue"><b>end</b></font>;
</pre>
<H4>
Example 3
</H4>
<pre>
<font color="blue"><b>procedure</b></font> MyProc(X, Y: Integer); <font color="blue"><b>external</b></font> <font color="Red">'MyDllName.dll'</font>;
MyProc(2, 50);
</pre>
<H4>
See Also
</H4>
<blockquote>
<ul>
<li><a href="#Function Statements">Function Statements</a></li>
<//ul>
</blockquote>
</blockquote>
<a name="Program Statements"><h3>Program Statements</h3></a>
<!-------------------------------------------------------------------->
<blockquote>
Creates new namespace and passes parameters to the script.
<H4>
Grammar
</H4>
<blockquote>
<pre>
<font color="blue"><b>program</b></font> Ident [<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 namespace.
</blockquote>
</blockquote>
<blockquote>
<i>Param</i>
<blockquote>
Optional. Name of parameter.
</blockquote>
</blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?