Delphi 2010

 

Existe uma nova versão do Delphi no mercado, o Delphi 2010. Segundo o lançamento da Embarcadero, é o melhor Delphi de todos os tempos. Você concorda? Eu concordo J. Temos em mãos um IDE voltado para a principal faixa de desenvolvimento para os programadores Delphi, o Win32.
Além de inúmeras mudanças tanto no IDE quanto em componentes (para facilitar o desenvolvimento e a usabilidade do IDE), temos um ambiente de desenvolvimento com suporte a touch, tecnologia que vem aumentando no mercado de hardware cada vez mais.

Nota: Algumas novidades mostradas aqui (principalmente componentes) estão presentes também no Delphi 2009. Para quem não acompanhou o lançamento do Delphi 2009, fica a informação sobre as novidades.

 

IDE

 

Agora você pode ter os componentes em uma paleta de componentes semelhante ao Delphi 7. Se você é saudosista (como eu) e gosta dos componentes colocados na parte superior do IDE, seus desejos foram atendidos. Clique com o botão direito sobre a barra de menus e escolha a opção Component.

Pronto, sua paleta de componentes estará disponível novamente. E ainda possui novidades, como uma caixa de texto que você usar para pesquisa de componentes (Figura 1). Você ainda pode continuar usando a Tool Palette normalmente.

 


Figura 1. Paleta de componentes, semelhante do Delphi 7

 

Caso deseje transformar todo o IDE para o Delphi 7, basta alterar para Classic Undocked na lista de seleção que fica na parte superior do IDE, assim todas as janelas ficarão “desbloqueadas”. Ainda teremos o editor de código e o formulário da aplicação “docados”.

Para contornar, aperte F6 e digite “embed”. Será mostrado o item Embedded designer, onde basta clicar para seremos direcionados para o editor de opções onde desmarcaremos a opção de mesmo nome. Após, será necessário reiniciar o IDE para que as alterações sejam realizadas (Figura 2).

 


Figura 2. IDE igual ao layout do Delphi até a versão 7

 

IDE Insight (F6)

 

Temos em um único local a procura de qualquer necessidade/funcionalidade do IDE do Delphi. Basta apertar a tecla F6 que um editor será aberto, assim, digite o que desejar e o Delphi retornará todas as possibilidades (componentes, funcionalidades, help etc) para que você possa escolher o que procura (Figura 3).

 


Figura 3. Busca com o IDE Insight

Se escolher um componente, o Delphi adiciona o mesmo no formulário, ou seja, muita facilidade com o F6. As opções que aparecem, depende do projeto aberto no IDE, por exemplo, com um projeto VCL Forms, os componentes serão mostrados como parte da busca, já se nenhum projeto estiver aberto, essa opção não estará acessível.

 

Compilação em backgroud

 

Acesse o IDE Insight (F6) e digite “background”, um dos itens (Background Compilation) é para acessar as opções do IDE. Após isso, quando fizermos uma compilação no projeto (s), podemos trabalhar normalmente no IDE, alterando arquivos, adicionando componentes etc.

Mas lembre-se, a partir do momento que a compilação é iniciada, o IDE faz uma “imagem” dos arquivos e não atualiza as alterações que são feitas durante o processo.

 

Driver FB

 

O insistente pedido da comunidade Delphi que usa o Firebird como servidor de banco de dados, finalmente foi atendido. Não precisamos mais de driver de terceiros para conectar o banco de dados mais utilizado pela comunidade Delphi. Para saber como utilizar o driver, acompanhe a vídeo aula criada por mim, disponível no site da The Club.

 

VCL

 

Vamos conhecer algumas novidades para os componentes VCL. Temos várias atualizações, tanto em nível de componente (novas propriedades funcionalidades), como em novos controles.

 

Edit

O Edit recebeu uma propriedade muita legal, chamada NumbersOnly, que indica que o controle receberá somente números. Agora não precisamos mais de codificação extra, nem de componentes de terceiros, basta configurar a propriedade como True, que o Edit aceitará somente números.

O mais legal fica por conta da validação “embutida” no mesmo (Figura 4).

 


Figura 4. Validação do Edit para aceitar somente números

 

ButtonedEdit

Com esse controle, podemos “adicionar” em uma caixa de texto dois botões, usando imagens. Os botões podem ficar alinhados a direta ou esquerda. Pessoalmente, achei o controle muito legal, pois utilizo em sistemas, botões para realizarem consultas auxiliares, onde o botão de pesquisa fica ao lado da caixa de texto.

Com o ButtonedEdit, basta indicar uma imagem para o botão direito e terei uma caixa de texto, que indica que tenho uma consulta para realizar ali. Sobre os eventos dos botões, temos os OnRightButtonClick e o OnLeftButtonClick, logicamente um evento Click para cada botão.

No controle, temos ainda a propriedade para somente números do Edit (ButtonedEdit descende de TCustomEdit), podemos indicar um Hint para o botão etc. Veja na Figura 5 o controle.

 


Figura 5. Usando o ButtonedEdit

 

Para configurar essas imagens, primeiro, temos que configurar um ImageList para a propriedade Images do ButtonedEdit. Após, usando as propriedades RightButton e LeftButton, configuramos o índice da imagem e também por fim, configurando a propriedade Visible para True.

 

CategoryPanelGroup

Outro componente que achei muito bom, pois tem a capacidade de criar painéis e dentro desses, adicionar controles. Com isso, podemos fazer um painel de navegação semelhante ao NavBar da suíte DevExpress. Se você não conhece o NavBar, veja nesse link: www.devexpress.com/Products/VCL/ExNavBar.

Vamos criar um painel de navegação muito incrementado. Adicione o controle em um formulário. Adicione três painéis, clicando com o botão direito e escolhendo Add Panel.

Na propriedade Images do CategoryPanelGroup, vamos vincular um ImageList com imagens “grandes”, do tipo 24x24, que são as imagens que aparecerão no título dos painéis. Você pode configurar a imagem que vai aparecer quando o painel estiver “expandido” ou “recolhido”, quando o mouse passar sobre a imagem, tudo isso usando as propriedades: XXHotImageIndex, XXImageIndex e XXPressedImageIndex, onde o XX indica ser Collapsed ou Expanded.

Vamos configurar a imagem dos painéis e dar títulos aos mesmos (propriedade Caption), exemplificado pela Figura 6.

 


Figura 6. Configurando títulos e imagens do painel

 

Agora, vamos adicionar um Button ao primeiro painel. Altere as seguintes propriedades do Button: Align = alTop, Style = bsCommandLink. Adicione um ImageList no formulário com imagens do tamanho 16x16 ou a seu critério. As mesmas serão vinculadas aos botões.

Vincule o ImageList ao botão, através da propriedades Images e adicione a imagem através da propriedade ImageIndex. Para finalizar a configuração do botão, vamos incluir um texto alternativo sobre o Caption do botão, usando a propriedade CommandLinkHint.

Veja que temos um Caption e um texto abaixo do mesmo. Esse padrão é do Windows Vista, portanto essa configuração só funciona nesse SO (ou claro no Windows 7). Claro, que poderíamos ter uma ActionList para concentrar as regras dos botões, mas aqui, vamos apenas copiar e colar os botões, alterando apenas Caption, CommandLinkHint e ImageIndex.

Veja na Figura 7 como fica o componente na sua configuração final.

 


Figura 7. CategoryPanelGroup configurado

 

BallonHint

 

Outro controle bastante requisitado pelos desenvolvedores é um Hint mais incrementado. Agora, controles visuais, receberam uma nova propriedade chamada CustomHint, nela vamos vincular um BallonHint para mostrar dicas em formato de balão, com título, subtítulo e imagens. Se você não quiser usar o CustomHint do controle, não tem problema, seu hint continuará funcionando perfeitamente.

No BalonHint, configuramos um ImageList através da propriedade Imagens. Após, vinculamos o BallonHint, através do CustomHint do controle. Na propriedade Hint, escrevemos a dica que será mostrada. Podemos “dividir” o texto em três partes: a primeira é o título do Hint, a segunda um texto auxiliar e a terceira, a imagem que vamos usar.

Elas devem ser separadas pelo caractere pipe “|”, assim um hint pode ser colocado com o seguinte valor: “Cadastro|Cadastro de Clientes|2”. O primeiro texto, será o título do balão, o segundo a descrição do hint e o último o índice da imagem que temos no ImageList vinculado ao BallonHint.

Se quisermos, podemos "jogar" com essas três opções, por exemplo: “Cadastro||2”, não mostrará a descrição do hint, somente o título e a imagem. Assim, podemos mostrar várias formas diferentes, sem esquecer é claro, de colocar o caractere “|” para separar as partes (Figura 8).

 


Figura 8. CategoryPanelroup configurado

 

Atualizações

 

Tivemos algumas alterações nos componentes para a versão 2009/2010 do Delphi.

Button: recebeu uma propriedade chamada Style, onde podemos configurar o botão no estilo Vista com uma descrição auxiliar (como vimos no exemplo do CategoryPanelGroup). Temos também no Style uma configuração para que seja mostrado a opção de mostrar uma lista suspensa, usando o tipo bsSplitButton.

Depois, basta configurar a propriedade DropDownMenu com um PopupMenu para ter as opções ao clicar no botão (Figura 9).

 


Figura 9. Button com estilos diferentes

 

ListView: agora podemos criar grupos para os itens do ListView. Vale ressaltar que essa funcionalidade esta presente apenas no ambiente do Windows Vista. Adicione um ListView e crie dois grupos, clicando com o botão direito e escolhendo o item Groups Editor. Em Header indicamos o texto que será mostrado no grupo.

Crie uma coluna e alguns itens. No editor de itens, agora temos mais uma opção que se refere ao grupo ao qual o item estará vinculado, como podemos ver na Figura 10.

 


Figura 10. Vinculando o item ao grupo

 

Basta indicar as imagens que deseja e temos um ListView com um layout com grupos (Figura 11).

 


Figura 11. ListView com grupos

 

Outras novidades

 

Novo Search no editor de código

Aproveitando o padrão utilizado em browsers (FireFox e Internet Explorer) onde o texto a ser localizado fica sombreado, agora temos a mesma funcionalidade no IDE do Delphi. No editor de código, aperte Crtl+F e será mostrada uma barra inferior no editor para a digitação do texto de busca (Figura 12).

 


Figura 12. Configurações para localizar texto

 

Digite o texto e veja que o mesmo é sombreado e todas as palavras encontradas são também destacadas (Figura 13)

 


Figura 13. Configurações para localizar texto

 

Melhoria no dialog Use Unit

Agora para adicionar uma unit (ALT + F11), podemos filtrar pelo nome das mesmas e também podemos escolher se vamos adicionar a referência na seção Interface ou Implementation (Figura 14).

 


Figura 14. Novo editor para adicionar referencia de units

 

Melhoria no debugger para visualizar dados

Agora podemos visualizar valores para variáveis do tipo TDate, TDateTime ou TTime, o que ajuda em muito a usabilidade do debugger no desenvolvimento. Assista na vídeo-aula disponível, um exemplo da utilização dessa nova funcionalidade do IDE.

 

Conclusão

 

Vimos neste artigo, algumas novidades do maior e melhor Delphi lançado até hoje. Temos muitas outras novidades que não cabem nesse artigo. Fica a dica para você se aprofundar mais, verificando vídeos e artigos no site da Embarcadero ou aqui na The Club.

Um grande abraço a todos e sucesso em seus projetos!

 

Sobre o Autor

Luciano Pimenta (www.lucianopimenta.com) é Técnico em Processamento de Dados, desenvolvedor Delphi/C# para aplicações Web com ASP.NET e Windows com Win32 e Windows Forms. Palestrante da 4ª edição da Borland Conference (BorCon).
Autor de mais de 60 artigos e de mais de 350 vídeos aulas publicadas em revistas e sites especializados, além de treinamentos presenciais e multimídias. É consultor da FP2 Tecnologia (www.fp2.com.br) onde ministra cursos de programação e banco de dados. É desenvolvedor da Paradigma Bussiness Solutions em Florianópolis-SC.

E-mail: www.lucianopimenta.com

The Club - O Maior Clube de programadores do Brasil