ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Pra que serve uma constante? [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Ter Abr 30, 2013 5:43 pm    Assunto: Pra que serve uma constante? [RESOLVIDO] Responder com Citação

Amigos, há muito venho estudando programação
e fazendo aplicativos e aplicações e em nenhum
deles precisei usar constantes.
Já verifiquei muitos exemplos, mas nunca vi
nenhuma constante declarada! Alguém poderia
me dizer se essas tais constantes foram um dia
úteis?

Obrigado, sempre!


Editado pela última vez por brunokchimbo em Ter Abr 30, 2013 6:52 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Ter Abr 30, 2013 5:57 pm    Assunto: Responder com Citação

elas são úteis sim
exemplo se vc declarar uma constante com o nome de seu aplicativo

const = 'Programa.exe';

ou uma nome de uma dll que vc usa

ou seja a constante como o nome ja diz não muda é sempre um valor o contrárida variável que pode mudar de acordo seu critério
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Ter Abr 30, 2013 6:02 pm    Assunto: Responder com Citação

Eis uma definição no site delphi basics:
http://www.delphibasics.co.uk/RTL.asp?Name=Const

Neste site vc mata diversas dúvidas a respeito da linguagem.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Ter Abr 30, 2013 6:32 pm    Assunto: Responder com Citação

Citação:
se vc declarar uma constante com o nome de seu aplicativo

const = 'Programa.exe';

ou uma nome de uma dll que vc usa


Então neste caso, a função seria evitar conflitos com o ponto (.) que separa
a extensão do arquivo?

Essa dúvida, amigo, é só pelo seguinte pensamento:

"Porque declarar uma constante se eu posso digitar o valor?"
Por exemplo:

Se o valor é 100, então poderia declarar uma constante valendo 100.
mas pra que isso se eu posso digitar 100 e acabou?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RodrigoFarias
Experiente
Experiente


Registrado: Domingo, 27 de Julho de 2008
Mensagens: 443

MensagemEnviada: Ter Abr 30, 2013 6:41 pm    Assunto: Responder com Citação

brunokchimbo

O uso de constantes não é um limitador, você de fato nunca será obrigado a usar uma constante.
A utilização da mesma é para aumentar a legibilidade do código e melhorar a manutenabilidade.

Vamos a um exemplo prático, imagine uma função hipotética:

Código:
function GetValue:  integer;
begin
   Result := 365 * 24 * 60 * 60;
end;


Olhando de forma rápida no código, sabe Deus pra que serve isso.
Como poderíamos melhorar isso ? Dando uma melhor nomenclatura para a função ? Pode ser.

Código:
function QuantidadeSegundosEmUmAno:  integer;
begin
   Result := 365 * 24 * 60 * 60;
end;


Ok, já pelo menos, sabemos do que se trata a função, mas o código ainda não está legal. Melhoraríamos com por exemplo a utilização de constantes.

Código:

const
  DIAS_NO_ANO = 365;
  HORAS_NO_DIA = 24;
  MINUTOS_NA_HORA = 60;
  SEGUNDO_NO_MINUTO = 60;

function QuantidadeSegundosEmUmAno:  integer;
begin
   Result := DIAS_NO_ANO * HORAS_NO_DIA * MINUTOS_NA_HORA * SEGUNDO_NO_MINUTO;
end;


Percebe ? No ultimo caso, eu sei plenamente o que acontece no meu código. Sem precisar perguntar pra ninguém, nem imaginar o que talvez possa ser algum trecho do código.

A legibilidade é apenas uma das vantagens da utilização de constantes.

Vamos a um outro exemplo, referente a manutenabilidade do sistema.
Imagine que você tem um limitador de memória ram em sua aplicação, onde esse limitador estipula que quando um processo chegar a 1024mb, a aplicação deve realizar X processo. Então você espalha esse valor 1024, para vários pontos de interesse do seu sistema.
Depois de um tempo, essa limitação mudou, agora é 512mb. Se você declarou o 1024, como uma constante e utilizou a constante, você terá que mudar esse valor em apenas um lugar. Caso contrário você terá que procurar em todo seu código por esse valor e trocar um a um.

Entre outros casos...

Att.
_________________

Novo Find Uses Para Delphi - https://github.com/rfrezino/RFindUnit
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Ter Abr 30, 2013 6:51 pm    Assunto: Responder com Citação

PERFEITO!

Como sempre, a programação me surpreende.

Obrigado mais uma vez, amigos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcosalles
Moderador
Moderador


Registrado: Quarta-Feira, 26 de Março de 2008
Mensagens: 1695
Localização: Muriaé Mg

MensagemEnviada: Qua Mai 01, 2013 12:43 pm    Assunto: Responder com Citação

brunokchimbo escreveu:

Como sempre, a programação me surpreende.


Isto é porque eles não lhe falaram sobre as CONSTANTES TIPADAS
_________________
http://marcosalles.wordpress.com

Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
RodrigoFarias
Experiente
Experiente


Registrado: Domingo, 27 de Julho de 2008
Mensagens: 443

MensagemEnviada: Qua Mai 01, 2013 2:34 pm    Assunto: Responder com Citação

No meu ver contante tipadas é furada.
Constante tipada é variável global, não tem porque inventar moda.

Att.
_________________

Novo Find Uses Para Delphi - https://github.com/rfrezino/RFindUnit
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcosalles
Moderador
Moderador


Registrado: Quarta-Feira, 26 de Março de 2008
Mensagens: 1695
Localização: Muriaé Mg

MensagemEnviada: Qua Mai 01, 2013 10:54 pm    Assunto: Responder com Citação

RodrigoFarias escreveu:
No meu ver contante tipadas é furada.
Constante tipada é variável global, não tem porque inventar moda.
Att.


Variável Global com VISIBILIDADE LOCAL .. Muito útil em situações que vc quer manter o escopo Local , porém que ter a caracteristica de variáveis Globais ,, Muito útil mesmo
_________________
http://marcosalles.wordpress.com

Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB