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 program edit

Variable declaration in the program edit

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:

function foo()
var
    var1: integer;
    var2: integer;

begin
// Some instructions
end;

You can also write:

function foo()
var
    var1, var2: integer;

begin
// Some instructions
end;

Right syntax for the variable names edit

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 edit

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:

program Display_a_variable;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  var1:integer;

begin
  var1:= 12
  WriteLn (var1);
  ReadLn;
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 edit

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:

program Retrieve_a_Variable;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  var1:integer;

begin
  ReadLn (var1);
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 edit

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

program Assignment;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  sourceVariable:integer;
  targetVariable:integer;

begin
  ReadLn (sourceVariable);
  targetVariable := sourceVariable;
end.

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

The constants edit

Introduction edit

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

The constants of the system edit

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 edit

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.

program Declare_constant;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const
  const1 = 12;
var
  var1:integer;

begin
  // Instructions
end.


Test your knowledge

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

Answer
program Ask_your_age;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  age:integer;

begin
  WriteLn ('How old are you?');
  ReadLn (age);
  Write ('You are ');
  Write (age);
  WriteLn (' year(s) old.');
end.