Um pouco de programação:

Podemos simplificar, por enquanto, dizendo que um programa de computador, por mais sofisticado que seja, não passa de uma série de instruções e operações que lidam com variáveis. E, como o próprio nome diz, variáveis são valores que podem variar dentro de determinadas faixas e que possuem certas características definidas.

Um bom exemplo de variáveis são as propriedades dos componentes. Elas podem "variar" dentro dos limites a que são submetidas, levando-se também em consideração o seu tipo. As propriedades são portanto aquilo que podemos chamar de variáveis pré definidas.

Mas lidamos com outros tipos de variáveis, como por exemplo para registrar um valor inteiro qualquer (integer). Toda e qualquer variável, no Delphi, para ser usada precisa ser antes declarada em algum lugar do fonte. Podemos atribuir para uma variável, duas características fundamentais: seu uso pode ser "local" ou "global".

Por variável "local" entendemos uma variável que tem uso restrito apenas à procedure onde ela foi declarada. Veja abaixo:

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  Px: integer;
begin
  Px:= Px + 1;
end;

Px é portanto uma variável que só será reconhecida "dentro" da procedure (entre o begin e o end; final).

Por variável "global" entendemos uma variável que tem uso dentro de todo o nosso programa. Geralmente ela é declarada logo no início do fonte ou logo após a declaração implementation:

implementation
{$R *.DFM}

var
  Pz: integer;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  Px: integer;
begin
  Px:= Px + 1;
  Pz:= Pz + 1;
end;

Note que acessamos, na procedure, tanto Px quanto Pz. Porém é preciso muita atenção: a variável local tem precedência sobre a variável global, assim, se existirem duas variáveis com o mesmo nome, a variável global será desconsiderada (somente na procedure que ocorrer a variável de mesmo nome).

Outro aspecto da declaração das variáveis é que elas podem ser declaradas de duas formas diferentes: var e const.

Var são as declarações de variáveis cujo conteúdo inicial é nulo, ou seja, ainda não foram usadas pelo programa. Const (embora sejam referenciadas como constantes) são variáveis já inicializadas, ou seja, possuem um determinado valor inicial. No mais elas são idênticas.

implementation
{$R *.DFM}

const
  Pz: integer = 10;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  Px: integer;
begin
  Px:= Px + 1;
  Pz:= Pz + 1;
end;


online