Artigo no estilo: Curso

De que se trata o artigo

O artigo demonstra algumas das principais melhorias e palavras reservadas da linguagem do Delphi Prism. Neste artigo, abordaremos preferencialmente recursos que possuem significativas melhoras / incrementos, ou mesmo que não existem, se comparados aos recursos da linguagem Delphi Win32 tradicional.


Para que serve

As melhorias na linguagem servem para tornar a codificação mais enxuta e simples, ao mesmo tempo em que adicionam recursos poderosos presentes em linguagens orientadas a objetos mais modernas.


Em que situação o tema é útil

O tema pode ser utilizado para ampliar os conhecimentos e esclarecer dúvidas do que está presente no Delphi Prism, e que é considerado melhoria ou novidade na linguagem, assim, possibilitando uma melhor utilização dos recursos presentes acelerando e aperfeiçoando o desenvolvimento de sistemas gerando um ganho de produtividade e qualidade no que está sendo criado.

Delphi Prism – A linguagem

O Delphi Prism, lançado pela Embarcadero, trouxe o desenvolvimento da linguagem Object Pascal para o .Net Framework a qual permite o uso do compilador Oxygene da Remote Objects em conjunto com o IDE do Visual Studio. Recentemente com a chegada do Delphi XE, a Embarcadero lançou também a nova versão do Delphi Prism que está cheia de novidades. Neste artigo serão demonstradas as novidades que dizem respeito à linguagem, focando principalmente nos incrementos, ou seja, o que tem no Prism que não tem no compilador Win32. Serão apresentados alguns conceitos como loop, a estrutura case com suporte aperfeiçoado possibilitando o uso de Strings e objetos, o uso de locking permitindo a construção de trechos de código críticos principalmente para uso em ambientes multitarefas etc. Também será visto o conceito de invariants para definição de estados fixos aos objetos, diferente do que ocorre com condições pré e pós. O conceito de future utilizando o uso de funcionalidades em paralelo, dessa forma, ampliando o desempenho de um aplicativo. Dando sequência ao paralelismo aparecem for e for each como estruturas de repetição condicionadas a variáveis ou a coleções de itens, além do mais, o uso de parallel relacionado a for e a for each possibilitando o seu paralelismo nessas estruturas. Após, é citado Nullable permitindo inicializar variáveis como nulas, nos casos em que elas devam ser iniciadas com algum valor. Sequence aparecendo como um tipo especial na linguagem que irá representar uma coleção de elementos de determinado tipo. O comando where como uma opção de filtragem de resultados garantindo assim resultados mais precisos do que se está procurando ou querendo indicar. E, por fim, os tipos nested que indicam a definição de um tipo utilizando um membro de outro tipo previamente definido.

Loop

O Delphi Prism inclui uma nova estrutura de repetição adicionada à linguagem. Esta estrutura é representada por um loop que apresenta uma construção de forma bastante simples e mantém a repetição indefinidamente, somente parando quando for quebrada por uma instrução que condicione sua saída, como por exemplo, uma instrução break.

A Listagem 1 ilustra um exemplo utilizando este formato de repetição. No código a estrutura irá repetir mensagens na tela até que a condição determinada pela estrutura condicional if seja satisfeita, finalizando as repetições. Se a variável x for definida, inicialmente, com valor zero, serão apresentadas onze mensagens na tela, cada uma indicando o seu numeral correspondente ao incremento da variável x. Além da instrução break, a instrução continue também pode ser utilizada.

Listagem 1. Código para demonstrar o uso da instrução de repetição loop

            loop 
            begin
                inc(x);
                MessageBox.Show(x.ToString());
                if x > 10 then 
                    break;
            end
        

A Listagem 2 apresenta uma variação do código, mas com o mesmo objetivo final, obtendo-se os mesmos resultados (ilustrado apenas para fins didáticos).

Listagem 2. Código adaptado para demonstrar o uso da instrução de repetição loop
...

Quer ler esse conteúdo completo? Tenha acesso completo