Delphi Programming/Variables and constants

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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 | edit source]

Variable declaration in the program[edit | edit source]

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 | edit source]

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 | edit source]

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 | edit source]

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 | edit source]

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 | edit source]

Introduction[edit | edit source]

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

The constants of the system[edit | edit source]

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 | edit source]

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.