Difference between revisions of "Var"

From Lazarus wiki
Jump to navigationJump to search
(doc references are not working (anymore))
Line 21: Line 21:
  
 
== Pass by Reference ==
 
== Pass by Reference ==
 
 
When used before a parameter of a [[Procedure|procedure]] or [[Function|function]] '''var''' indicates that the parameter is a [[Variable parameter|variable parameter]]. A variable parameter can be used to receive data from, as well as send data to, a procedure or function:
 
When used before a parameter of a [[Procedure|procedure]] or [[Function|function]] '''var''' indicates that the parameter is a [[Variable parameter|variable parameter]]. A variable parameter can be used to receive data from, as well as send data to, a procedure or function:
  
Line 35: Line 34:
  
 
== See also ==
 
== See also ==
 +
* [[Variable parameter]]
 
* [[Local variables]]
 
* [[Local variables]]
 
* [[Global variables]]
 
* [[Global variables]]
* [[doc:ref/refse19.html#x49-540004.2|Variable declaration]]
+
* [[doc:ref/refse21.html#x51-560004.4|Thread Variables]]
 
  
  
 
[[category:Pascal]]
 
[[category:Pascal]]
 
[[Category:Reserved words]]
 
[[Category:Reserved words]]

Revision as of 15:06, 26 July 2016

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

Var is a keyword that is used for two different purposes:

  • signify the start of a variable definition section
  • make a function or procedure parameter be passed by reference instead of passed by value

Variable Definition

Var is used to mark the section where variables and their data types are declared. Variables are typically declared at the beginning of a program, procedure, function or unit.

var
  age: integer;

If you are planning to use various variables of the same type, they can be grouped so they share the same type definition. The variables must be separated by a comma.

var
  FirstName, LastName, address: string;

Pass by Reference

When used before a parameter of a procedure or function var indicates that the parameter is a variable parameter. A variable parameter can be used to receive data from, as well as send data to, a procedure or function:

procedure foo( var v1: sometype; out v2: sometype; const v3: sometype )
begin
  v1 := v1 + v3; // input and return value
  v2 := v3;      // only return value
  v3 := myconst; // immutable... only input
end;


See also