DELPHI PARA

INICIANTES

APRENDA DELPHI

Torne-se um programador de sucesso!

Como Utilizar Campos Calculados no Delphi

Neste post vou ensinar como utilizar campos calculados no Delphi. Mais um recurso muito interessante, que facilita muito nossas vidas em alguns casos específicos.

Como o próprio nome sugere, são campos calculados em memória quando se está executando o seu projeto.

COMO UTILIZAR CAMPOS CALCULADOS NO DELPHI

Esses tipos de campos são muito úteis quando precisamos criar uma coluna temporária em tempo de execução para nos fornecer alguma determinada informação de forma rápida e prática.

Podemos fazer desde operações aritméticas até concatenação de strings. Você pode fazer qualquer tipo de rotina com campos calculados. Só tem que ter cuidado para não comprometer o desempenho do seu sistema.

Qualquer componente da classe TDataSet suporta campos calculados. Neste exemplo vou utilizar o ClientDataSet da paleta Data Access.

Eu considero o ClientDataSet um dos melhores e mais versáteis componentes do Delphi. E diferente dos outros DataSets, ele nos fornece uma opção a mais, que é a criação de campos calculados mas do tipo InternalCalc.

Resumindo, podemos criar dois tipos de campos calculados utilizando o ClientDataSet no Delphi: Calculated InternalCalc.

Calculated x InternalCalc

Calculated

Esses campos são calculados a todo momento pelo seu sistema. A cada mudança de registro por exemplo, o evento OnCalcFields é disparado e o seu bloco de instruções será executado.

Além disso o seu valor não é armazenado em memória, eles apenas são exibidos como resultado para visualização e manipulação.

InternalCalc

Esses campos também são calculados pelo evento OnCalcFields do ClientDataSet. Porém, os valores deste tipo de campo são armazenados internamente na memória do ClientDataSet.

Isso nos dá uma série de possibilidades. Por exemplo, podemos indexar estes campos, ou, utilizar campos agregados para fazer operações aritméticas no seu valor. Já o campo calculado do tipo Calculated, não nos dá essa opção.

Além disso, o estado dsInternalCalc do ClientDataSet é disparado bem menos vezes em comparação ao estado dsCalcFields. Por isso, utilizar o tipo InternalCalc se torna um atrativo a mais.

Veja no vídeo a seguir: Como Utilizar Campos Calculados no Delphi.

Download do Exemplo Utilizado no Vídeo

Dúvidas? Deixe seu comentário abaixo.