Delphi Programming/Variables and constants

Variables are indispensable in programming. A program wouldn't do much things without variables.

A variable links a name to a value. You must not confuse its name and its value. A variable is not constant. It may change during the application execution.

Variables and programEdit

Variable declaration in the programEdit

To declare a variable in a program, you have to write:

  • var
  • The variable name (var1, for example)
  • :
  • Its type (integer, for example)
  • ;

An example:

1 function foo()
2 var
3     var1: integer;
4     var2: integer;
5 
6 begin
7 // Some instructions
8 end;

You can also write:

1 function foo()
2 var
3     var1, var2: integer;
4 
5 begin
6 // Some instructions
7 end;

Right syntax for the variable namesEdit

Wrong identifier Violated rule Right identifier
1name Must not start with a number name1
name.2 Dots are not allowed name_2
-name-3 Dashes are not allowed _name_3
Variable name Spaces are not allowed Variable_name
déjà_vu Accented characters are not allowed deja_vu

You don't have to worry about lowercase and uppercase as Delphi is case-insensitive.

Display a variableEdit

It's easy to display a variable in an application. In a console application, you use the command

 WriteLn(variableToDisplay);

.

Here is the result in a whole application:

 1 program Display_a_variable;
 2 
 3 {$APPTYPE CONSOLE}
 4 
 5 uses
 6   SysUtils;
 7 var
 8   var1:integer;
 9 
10 begin
11   var1:= 12
12   WriteLn (var1);
13   ReadLn;
14 end.

So this code will display 12.

Remark: If you don't want the display of a new line, use the Write function rather than WriteLn .
Remark: You can use the ReadLn function to avoid the console from closing too quickly, but the actual feature of this function is described below.
Remark: In GUI applications, you display variables in visual components.

Retrieve a variableEdit

It's easy too. You have to call the ReadLn(variable); function.

You have to first declare the variable you want to use. Here is a whole code:

 1 program Retrieve_a_Variable;
 2 
 3 {$APPTYPE CONSOLE}
 4 
 5 uses
 6   SysUtils;
 7 var
 8   var1:integer;
 9 
10 begin
11   ReadLn (var1);
12 end.

In the next pages, we will see how to operate variable additions, use variables in loops and conditions, etc...

Remark: If you don't want to skip a line after the entry, use the Read function rather than ReadLn .

AssignmentEdit

You can set a value to a variable at any time in a program, from another variable for example:

 1 program Assignment;
 2 
 3 {$APPTYPE CONSOLE}
 4 
 5 uses
 6   SysUtils;
 7 var
 8   sourceVariable:integer;
 9   targetVariable:integer;
10 
11 begin
12   ReadLn (sourceVariable);
13   targetVariable := sourceVariable;
14 end.

The changed variable is on the left and the variable whose value is duplicated is on the right. Do not confuse.

The constantsEdit

IntroductionEdit

The constants are similar to variables, except one point: they can't change their value during the execution.

The constants of the systemEdit

Those constants specify all the values that are native and defined in the header files.

Example:

stdout points on the screen buffer
stdin points on the keyboard buffer

The symbolic constantsEdit

The symbolic constants are defined by the developer. They work as the variables, except for their declaration.

To declare a constant, you have to declare it after the reserved keyword const instead of var.

 1 program Declare_constant;
 2 
 3 {$APPTYPE CONSOLE}
 4 
 5 uses
 6   SysUtils;
 7 const
 8   const1 = 12;
 9 var
10   var1:integer;
11 
12 begin
13   // Instructions
14 end.


Test your knowledge

Write an application that asks the user its age and then display it.

Answer
 1 program Ask_your_age;
 2 
 3 {$APPTYPE CONSOLE}
 4 
 5 uses
 6   SysUtils;
 7 var
 8   age:integer;
 9 
10 begin
11   WriteLn ('How old are you?');
12   ReadLn (age);
13   Write ('You are ');
14   Write (age);
15   WriteLn (' year(s) old.');
16 end.