DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

É possível inicializar variáveis já na declaração com valores por padrão?

Fala galera do Show Delphi tudo beleza?

Quando fazia faculdade a alguns anos atrás, e normalmente utilizando java, era muito comum que nos algoritmos a gente iniciava as variáveis já no momento que as declarava.

Exemplo em java

1
int meuNumero = 10;

E no Delphi sempre precisava iniciar manualmente, ou seja conforme este código:

1
2
3
4
5
6
7
8
9
procedure meuTeste;
var
  meuNumero : Integer;
begin
  { Agora que vou iniciar a variável }
  meuNumero := 10;
 
  //...
end;

Isso me incomodava um pouco, porque gostava bastante do Delphi / Lazarus (Object Pascal para os detalhistas rsrsrs), até acho que devia utilizar ao menos o Lazarus nas faculdades por ser leve, simples e opesource, mas este é um papo para outro post.

Então pesquisando descobre que sim, agora é possível iniciar diretamente também.
Provavelmente só nas versões mais recentes do Delphi, provavelmente a partir da 2009 (Não tenho a informação exata).

Testei no Lazarus 2.0.4 e também tudo funcionando bonitinho.

Legal, vamos aos exemplos. No código abaixo eu fiz o teste com três casos, uma variável Integer, uma variável Double e uam função com uma variável string dentro.

Testando no Lazarus este código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program Project1;
 
uses
  Classes;
 
var
  I : Integer = 8;
  NumeroCasas : Double = 5.7;
 
function Mensagem : string;
var
  a : string = 'show delphi - compartilhando conhecimento';
begin
  Result := a;
end;
 
begin
  WriteLn(I);
  WriteLn(NumeroCasas :0:2); // :0:2 é uma forma de formatar os valores
  WriteLn(Mensagem);
 
  ReadLn;
end.

A princípio esta forma de iniciar valores são para as variáveis de dados primitivos, ou seja que não precisam do .Create. Caso alguém saiba mais formar de inicializar variáveis, ou informar valores por padrão, por favor compartilhem nos comentários.

Eu particularmente gostei bastante desta forma de código e até vou começar a utilizar por padrão nos exercícios de algoritmos que estamos postando aqui na comunidade.

Fonte de referência: https://stackoverflow.com/questions/132725/are-delphi-variables-initialized-with-a-value-by-default

Como de costume, também fizemos um vídeo para explicar melhor o conteúdo do post.

Dúvidas ou sugestões pessoal? Deixe ou seu comentário!

Por hoje é isso, uma abraço e até a próxima. Valeu!

Facebook Comments Box
  • Giovani Da Cruz
  • 8.661 views
  • 3 comentários
  • 24 de setembro de 2019

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

3 respostas para “É possível inicializar variáveis já na declaração com valores por padrão?”

  1. marcocunhasilva disse:

    O Delphi Rio já permite iniciar variáveis em qualquer lugar, como no php. Na minha opinião, acho que isso não é uma boa prática de programação mas, vai do gosto de cada um. Outra coisa não recomendada, é a utilização de variáveis globais, ao invés disso, uma alternativa é a utilização de properties.
    Espero ter contribuído!

  2. Rogério Zek disse:

    Este recurso sempre existiu no Delphi, sempre foi possível inicializar variáveis globais no contexto de sua definição como nos exemplos acima, não é permitido tal pratica para variáveis que não estejam no escopo global da unit.

  3. Edson Lima disse:

    Fiz um teste no delphi 10.1 berlin e a linha de inicialização dentro da function não funcionou, no caso:
    mais as outras que foram inicializadas no inicio da clausula uses. funcionou perfeitamente, inclusive coloquei a variável declarada lá é ficou legal…
    Grato, t+ Edson Lima

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados