Cassic

Constantes

Autor: Tadeu Pereira


  Uma constante é semelhante a uma variável, o que a difere é que no caso da constante o seu valor é fixo e deve ser informado junto com sua declaração.

  Sintaxe de declaração:

  [No da Constante] = [Valor da Constante];

  Alguns exemplos para a definição de Constantes:

  const
    Min = 0;
    Max = 100;
    Centro = (Max - Min) div 2;
    Beta = Chr(225);
    Num_Letras = Ord('Z') - Ord('A') + 1;
    Mens_Ola = 'Instrução inválida';
    Mens_Erro = ' Erro: ' + Mens_Ola + '. ';
    PosErr = 80 - Length(MensErro) div 2;
    Ln10 = 2.302585092994045684;
    Ln10R = 1 / Ln10;
    DigNumericos = ['0'..'9'];
    LetrasAlpha = ['A'..'Z', 'a'..'z'];
    AlphaNum = LetrasAlpha + DigNumericos;

  No nosso exemplo para constate crie um novo projeto e configure o formulário como mostrado:

Formulário
Propriedade
Valor
Height
188
Width
267
Button
Propriedade
Valor
Caption
Caclular
Left
92
Name
BtnCalc
Top
104
 
 
Edit
Propriedade
Valor
Left
108
Name
EdVrParc
Text
 
Top
20
Edit
Propriedade
Valor
Left
108
Name
EdAtraso
Text
 
Top
55
 
 
Label
Propriedade
Valor
Caption
Valor da Parcela
Left
10
Top
24
Label
Propriedade
Valor
Caption
Dias de Atraso
Left
19
Top
59

 


Figura 1 – Projeto com constantes

  No evento OnClick do BtnCalc digite o código em negrito:

01
procedure TForm1.BtnCalcClick(Sender: TObject);
02
const
03
  Taxa = 0.005;
04
var
05
  JuroDia, TotalJuro, TotalPgto: Currency;
06
begin
07
  JuroDia := StrToFloat( EdVrParc.Text ) * Taxa;
08
  TotalJuro := JuroDia * StrToFloat( EdAtraso.Text );
09
  TotalPgto := StrToFloat( EdVrParc.Text ) + TotalJuro;
10
  ShowMessage('Juro ao Dia : ' + FloatToStr( JuroDia ) +#13+
11
    'Juro Total : ' + FloatToStr( TotalJuro ) +#13+
12
    'Total a Pagar : ' + FloatToStr( TotalPgto ) );
13
end;

  Compile, execute o projeto e em seguida teste o programa.

  A palavra reservada const na linha 02 indica que iremos iniciar a declaração de constantes, o que ocorre na linha 03 onde entramos com a constante Taxa = 0.005.

  As linhas 04 e 05 dispensam explicações

  Na linha 07 temos a função StrToFloat que semelhante a função StrToInt recebe um valor do tipo string, só que nesse caso o retorna o valor como um tipo Extended, em seguida multiplica esse valor pela constante Taxa e atribui o resultado a variável JuroDia.

  A linha 08 atribui a multiplicação da variável JuroDia com o valor digitado no componente EdAtraso(transformando antes o conteúdo da propriedade Text num tipo Extende) e atribuindo esse valor a variável TotalJuro.

  A linha 09 atribui à variável TotalPgto a soma do valor digitado no componente EdVrParc com o valor da variável TotalJuro.

  Nas linhas 10, 11 e 12 temos a função FloatToStr que faz o inverso da função StrToFloa, ou seja, recebe um valor do tipo Extended e transforma em um valor do tipo string. Nessas linhas também temos o procedimento ShowMessage que mostra o valor de uma string passada como parâmetro numa caixa de mensagem. O símbolo # retorna o caractere correspondente da tabela ASCII, nesse caso informamos o número 13 que quebra a linha assim como acontece com um editor de texto após teclarmos <ENTER>.