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 program
Variable declaration in the program
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 names
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 variable
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 variable
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 .
Assignment
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 constants
Introduction
The constants are similar to variables, except one point: they can't change their value during the execution.
The constants of the system
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 constants
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.
Write an application that asks the user its age and then display it.
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.