Difference between revisions of "If and Then"

From Lazarus wiki
m (link Case)
(usage of Template:Translate; eliminate excessive space)
Line 1: Line 1:
{{If}}
+
{{Translate}}
 
 
 
The <syntaxhighlight lang="pascal" enclose="none">if</syntaxhighlight> [[Keyword|keyword]] precedes a condition, must be followed by <syntaxhighlight lang="pascal" enclose="none">then</syntaxhighlight> and a statement.
 
The <syntaxhighlight lang="pascal" enclose="none">if</syntaxhighlight> [[Keyword|keyword]] precedes a condition, must be followed by <syntaxhighlight lang="pascal" enclose="none">then</syntaxhighlight> and a statement.
 
The statement may optionally be followed by [[Else|<syntaxhighlight lang="pascal" enclose="none">else</syntaxhighlight>]] and another statement.
 
The statement may optionally be followed by [[Else|<syntaxhighlight lang="pascal" enclose="none">else</syntaxhighlight>]] and another statement.
 
  
 
== <syntaxhighlight lang="pascal" enclose="none">If then</syntaxhighlight> ==
 
== <syntaxhighlight lang="pascal" enclose="none">If then</syntaxhighlight> ==
 
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
 
if condition
 
if condition
Line 17: Line 14:
 
<syntaxhighlight lang="pascal" enclose="none">false_statement</syntaxhighlight> is executed if <syntaxhighlight lang="pascal" enclose="none">condition</syntaxhighlight> evaluates to <syntaxhighlight lang="pascal" enclose="none">false</syntaxhighlight>.
 
<syntaxhighlight lang="pascal" enclose="none">false_statement</syntaxhighlight> is executed if <syntaxhighlight lang="pascal" enclose="none">condition</syntaxhighlight> evaluates to <syntaxhighlight lang="pascal" enclose="none">false</syntaxhighlight>.
 
A compile-time error occurs if the type of <syntaxhighlight lang="pascal" enclose="none">condition</syntaxhighlight> does not evaluate to a <syntaxhighlight lang="pascal" enclose="none">boolean</syntaxhighlight> value.
 
A compile-time error occurs if the type of <syntaxhighlight lang="pascal" enclose="none">condition</syntaxhighlight> does not evaluate to a <syntaxhighlight lang="pascal" enclose="none">boolean</syntaxhighlight> value.
 
  
 
=== Multiple statements in <syntaxhighlight lang="pascal" enclose="none">if then</syntaxhighlight> branch ===
 
=== Multiple statements in <syntaxhighlight lang="pascal" enclose="none">if then</syntaxhighlight> branch ===
 
 
If you need two or more statements for <syntaxhighlight lang="pascal" enclose="none">true_statement</syntaxhighlight> or <syntaxhighlight lang="pascal" enclose="none">false_statement</syntaxhighlight>, enclose them within a [[Begin|<syntaxhighlight lang="pascal" enclose="none">begin</syntaxhighlight>]]&nbsp;…&nbsp;[[End|<syntaxhighlight lang="pascal" enclose="none">end</syntaxhighlight>]] [[Block]] (compound statement).
 
If you need two or more statements for <syntaxhighlight lang="pascal" enclose="none">true_statement</syntaxhighlight> or <syntaxhighlight lang="pascal" enclose="none">false_statement</syntaxhighlight>, enclose them within a [[Begin|<syntaxhighlight lang="pascal" enclose="none">begin</syntaxhighlight>]]&nbsp;…&nbsp;[[End|<syntaxhighlight lang="pascal" enclose="none">end</syntaxhighlight>]] [[Block]] (compound statement).
  
Line 31: Line 26:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
== See also ==
 
== See also ==
 
 
* Official documentation: [https://www.freepascal.org/docs-html/ref/refsu57.html Reference guide: § “The <syntaxhighlight lang="pascal" enclose="none">If..then..else</syntaxhighlight> statement”]
 
* Official documentation: [https://www.freepascal.org/docs-html/ref/refsu57.html Reference guide: § “The <syntaxhighlight lang="pascal" enclose="none">If..then..else</syntaxhighlight> statement”]
 
* [[IF]], Tao Yue, Object Pascal Introduction
 
* [[IF]], Tao Yue, Object Pascal Introduction

Revision as of 15:44, 12 October 2018

Template:Translate The if keyword precedes a condition, must be followed by then and a statement. The statement may optionally be followed by else and another statement.

If then

if condition
	then true_statement
	else false_statement;

condition is a boolean expression that evaluates to true xor false. true_statement is executed if condition evaluates to true. false_statement is executed if condition evaluates to false. A compile-time error occurs if the type of condition does not evaluate to a boolean value.

Multiple statements in if then branch

If you need two or more statements for true_statement or false_statement, enclose them within a begin … end Block (compound statement).

if boolean_condition then
begin
	statement_zero;
	statement_one;
	statement_two;
end;

See also


Keywords: begindoelseendforifrepeatthenuntilwhile