Sunteți pe pagina 1din 32

Instalando XE2 Testando o Delphi XE2 Parte 1

02/09/2011Luiz CarlosDeixe um comentrioIr para os comentrios

Ontem, conforme mencionado no post Iniciando testes no XE2, eu havia separado uma mquina virtual apenas para os testes. Agora, irei colocar minhas impresses sobre o processo de instalao do Delphi na mquina virtual criada. Assunto de Hoje: Instalando o XE2 Quando executamos o instalador, feita uma anlise dos pacotes/software j instalados e ento inicia-se o processo de download. Alm do .Net 3.5 SP1, percebi o download de algumas bibliotecas/componentes importantes, como o Firemonkey, o FastReport (que bom ver ele incorporado aos componentes que acompanham o Delphi ainda mais sabendo que o Rave continua!), o CodeSite Express, entre outros. Eu sei que para a maioria foi tranquilo passar pela instalao, mas para mim foi um processo um tanto tortuoso! Foram nada mais nada menos do que 10 (DEZ!) horas ao todo para finalizar a instalao! Isso depois de j ter feito o download dos 42MB do instalador. E olha que tirei muita coisa do pacote que no me interessava. triste falar nisso, mas o Brasil ainda engatinha quando se trata de oferta de internet de boa qualidade (banda larga mesmo!) para todo o territrio nacional. Isso tem melhorado nos ltimos anos, mas ainda falta muito. Por exemplo, eu pago R$70 para ter uma internet de 128 a 192 kbps (sim, varia muito!). Tem regio que por este mesmo valor, consegue-se internet de 1Mbps ou mais. O fato que no existe ainda uma oferta que atenda a toda demanda existente em nosso pas. Eu no sei se a verso comercial do Delphi XE2 ser disponibilizada da mesma forma que o trial, mas para quem no tem uma internet de qualidade ser sofrido t-lo rodando na mquina caso no seja liberado outro meio para a instalao. Para mim, o ideal seria ter duas formas. A que j existe hoje, visto que muito prtico para quem tem uma boa internet, e na forma de download da imagem Iso, com a possibilidade de reiniciar download de onde parou, caso a internet caia. Assim, ns os menos afortunados de internet , poderamos utilizar softwares como o JDownload, que agilizam muito o download de arquivo grandes. Muitos podero dizer que, a forma adotada na instalao do trial tambm continua de onde parou. O que acontece na verdade que ele continua do ltimo pacote instalado com sucesso. Se ocorrer alguma queda durante algum pacote grande, como por exemplo, no FireMonkey, a tem que se iniciar o download de todo o pacote novamente. Durante a instalao na minha mquina isso ocorreu algumas vezes.

A IDE Testando o Delphi XE2 Parte 2


05/09/2011Luiz CarlosDeixe um comentrioIr para os comentrios

No post anterior, instalei o XE2. Agora vamos dar uma olhada na Ide e ver algumas de suas novidades. Ser uma rpida olhada, ou seja, existe muita coisa para verificarmos e este post no tem o objetivo de esgotar o assunto, apenas de ser uma introduo bem superficial. Vamos l! Tela inicial:

Normal, nada de novo. Abrindo um novo projeto:

Vemos uma das novidades desta verso, o FireMonkey. Vamos ento criar um novo projeto:

Este o formulrio inicial quando selecionamos um projeto FireMonkey. Abaixo, o form com alguns componentes inseridos, no qual testei o effects da paleta de componentes:

O form de uma aplicao Vcl continua o mesmo, pelo menos visualmente falando:

Paleta de componentes FireMonkey:

Paleta de componentes VCL:

O velho e bom Rave continua:

O Fast Report agora acompanha o Delphi:

Verso do Final Builder:

Menu Project:

O nome da unit na clusula uses vem com o nome do seu namespace:

Coloquei um button no form de um projeto VCL e no evento click deste boto, inseri o seguinte cdigo:

Compilei usando Build Configuration no Debug e depois no Release: - no debug, o arquivo exe ficou com 6,75 MB; - no Release, ficou com 1,5 MB. No FireMonkey, seguindo o mesmo processo: - no Debug, exe com 8,48 MB;

- no Release, exe com 3,32 MB. No Delphi 2010: - Tanto no Debug quanto no Release, exe com 880 KB; Bom, estas foram as minhas primeiras impresses com relao Ide do Delphi XE2. Comentrios com novas experincias so bem-vindos!

No blog do David Intersimone (http://blogs.embarcadero.com/davidi/2011/08/14/41124) so relacionados todos os acrscimos inseridos no Rad Studio XE2. Abaixo, relao (traduo: google): Delphi compilador 64-bits Delphi OS X compilador C + + OS X compilador FireMonkey Plataforma para criar aplicaes Windows 32-bits para o Windows 7, Windows Vista e XP; FireMonkey Plataforma para criar aplicaes Windows 64-bits para o Windows 7, Windows Vista e XP; Server 2003 e 2008. FireMonkey plataforma para a criao de aplicaes OS X 10.6 e 10.7 FireMonkey plataforma para criao de aplicativos para iOS 4.2 e superior VCL (Visual Component Library) para a construo rpida de aplicativos de 64 bits para o Windows 7 e Windows Vista. IDE apoio para a construo e gesto de projetos para Windows 64 bits IDE apoio para a construo e gesto de projetos para o OS X Delphi RTL para Windows de 64-bits Delphi RTL para OS X C + + RTL para OS X Suporte a arquivos zip nativo RTL para Delphi e C + + RTTI para propriedades indexadas e apoio RTL C + + RTTI compatibilidade com Delphi C + + para impulsionar OS X Deployment Manager: Implantar aplicativos Delphi para o OS X, Windows 32-bits e 64-bits do Windows Deployment Manager: Implantar C + + para OS X e Windows de 32 bits Deployment Manager: Implantar Delphi e C + + para Amazon EC2 e Windows Azure Delphi Anlise Ponteiro para Auditorias C + + auditorias Debug Delphi aplicaes de 64-bits do Windows Debug Delphi e C + + OS X aplicaes Todos os drivers dbExpress disponveis para Windows de 64-bits Driver dbExpress para OS X InterBase, Firebird, Oracle, MySQL, SQL Anywhere e Informix ODBC Driver dbExpress LiveBindings conectar qualquer tipo de dados a qualquer elemento da interface do usurio grfica ou em VCL e FireMonkey HTTPS apoio em aplicaes stand-alone DataSnap DataSnap capacidade do servidor para encerrar conexo de soquete DataSnap CommunicationTimeout para o protocolo HTTP DataSnap Minification JavaScript com o envio Callbacks DataSnap Heavyweight suporte de transmisso para callbacks especficas DataSnap Callback eventos de canal para servidores e clientes DataSnap suporte do servidor REST para Tneis Callback mltiplas DataSnap apoio KeepAlive para TCP componente de transporte DataSnap Monitor e conexes de controle DataSnap assistente de cdigo fonte permitindo aos desenvolvedores construir seu prprio

DataSnap server wizards ClientDataSet suporte para OS X e Windows de 64-bits DataSnap Desktop Client Connectors para Windows de 64-bits, OS X e Windows Phone 7 DataSnap Mobile Client Connectors para OI, Android, BlackBerry, Windows 7 e Telefone InterBase Developer Edition XE inlcuded para at 20 usurios e 80 conexes lgicas Suporte de metadados para TAzureQueueManagement Amazon Simple Storage Service API Amazon Queue Service API Amazon SimpleDB API FastReport VCL 4 RAD ferramenta de relatrios Documentao Insight Delphi um instrumento de documentao XML Bibliotecas de componentes INDY para Win64 e OS X ActiveX para Delphi Win 64 Suporte VCL para Win64 Estilos VCL: Criar aplicaes VCL com melhor GUI RemObjects Oxygene Compiler 5,0 FastReport.net ferramenta de relatrio RadPHP Build mobile aplicaes Web otimizadas RadPHP Visual mobile design surface para ver como a interface ser no dispositivo RadPHP jQuery componentes mveis

LiveBindings Testando o Delphi XE2 Parte 3


07/09/2011Luiz CarlosDeixe um comentrioIr para os comentrios

Demos uma rpida olhada na IDE do XE2 no post anterior. Agora iremos conhecer um recurso muito interessante, o LiveBindings. No XE2 podemos ligar componentes uns aos outros por meio de suas propriedades atravs do LiveBindings. No manual do Delphi este recurso est assim definido: LiveBindings is a data-binding feature supported by both the VCL and FireMonkey in RAD Studio. LiveBindings is expression-based, which means it uses expressions to bind objects to each other, by means of their properties. Como podemos ver, as ligaes sero feitas por meio de expresses. Mas como assim? Expresses?! LiveBindings baseado em expresses relacionais, elas so chamadas de binding expressions (expresses de ligao). Por meio das binding expressions, qualquer objeto de origem pode ser vinculado a si mesmo (torna-se fonte e objeto de controle) ou a qualquer outro objeto, simplesmente definindo uma binding expression. Vamos ver isso na prtica: Colocando um TEdit e um TLabel no form, iremos ligar o Label1 ao Edit1 para que, quando alterarmos o texto do Edit, automaticamente o texto do Label se altere.

Selecione o Label1 e no Object Inspector, localize LiveBindings.

Clique em New LiveBinding (veja que, no FireMonkey, voc pode at mesmo ligar diretamente a um DB Field). Escolha TBindExpression:

Agora no formulrio existe um novo componente, o BindingList. Dando um duplo-click nele voc poder editar todas as ligaes existentes no formulrio, agilizando todo o trabalho. Alm disso, abaixo de LiveBindings do Label1 aparece o BindExpression:

Faa as seguintes alteraes no BindExpression:

No ControlExpression onde definimos qual propriedade do nosso Label ser afetada. No nosso caso, iremos alterar o Text (no FireMonkey no Caption, pessoal!). Faa isso, escreva Text no ControlExpression;

No SourceComponent, como o nome diz, o componente ao qual estamos ligando o Label. Selecione o Edit1 nas opes deste campo; No SourceExpression onde colocamos a nossa expresso. Pode ser simplesmente definindo o nome da propriedade do source ou colocando uma expresso mais elaborada. Vamos pegar o texto do edit e colocar no texto do Label atravs do binding, porm vamos incrementar um pouquinho e transformar este texto para maisculo. Escreva a expressoUpperCase(Text) Pronto! Agora execute a aplicao:

Opa! Cad o Label?? Deu erro! Ser?! No, no deu erro. Na verdade funcionou perfeitamente! Ns no falamos para o Label ligarse ao Edit e pegar o seu texto? Sim! Ento, qual o texto do edit? Nada! Mas a voc pode pensar: Ah! ento basta eu colocar um texto no edit e ir funcionar. Sim, se executar a aplicao j com um texto informado no edit sim, mas no ir funcionar se colocar o texto j em tempo de execuo. Para isso, precisamos fazer mais uma coisinha. Crie uma procedure chamada Notifier (voc pode utilizar qualquer nome para esta procedure) em published:

Published procedure Notifier(Sender: TObject); ...


D Ctrl+Shift+C e dentro da procedure escreva:

procedure TForm1.Notifier(Sender: TObject); begin BindingsList1.Notify(Sender, ''); end;


E por fim, no OnChange do Edit, coloque o: Notifier Execute novamente a aplicao e experimente alterar o texto. Agora voc pode estar se perguntando (novamente, ):

- Por que fazer todo esse trabalho para somente ter um texto capitalizado do edit?

Veja que este apenas um exemplo simples, mas voc pode ir muito mais alm. Por exemplo, eu particularmente gosto muito de trabalhar com os componentes no data awares, como o Edit, Label, etc., para minhas aplicaes com banco de dados. Acho que num sistema grande, trabalhando assim tudo fica mais leve (eu sei, h controvrsias! Mas a forma que me sinto bem). Porm, tenho todo o trabalho de estar informando o valor de cada campo para cada um desses componentes. Exemplo:

Procedure PegaCampos; begin editNome.Text editCidade.Text editUF.Text editCEP.Text editBairro.Text editFone.Text ... end;
Com LiveBindings acabamos com esse trabalho. Basta vincular cada edit a um campo da tabela utilizando o LiveBindings e no OnGetText de um dos campos do DataSet para a procedure Notifier, conseguimos isso sem complicao. Lembrando que, para que seja possvel inserir o Notifier no OnGetText de um campo TField, ser necessrio alterar a sua assinatura, ou seja, dever ter a mesma assinatura da procedure OnGetText :

:= tabela.fieldbyname('Nome').asstring; := tabela.fieldbyname('Cidade').asstring; := tabela.fieldbyname('UF').asstring; := tabela.fieldbyname('CEP').asstring; := tabela.fieldbyname('Bairro').asstring; := tabela.fieldbyname('Fone').asstring;

editEndereco.Text := tabela.fieldbyname('Endereco').asstring;

procedure Notifier(Sender: TField; var Text: string; Boolean);

DisplayText:

A, basta selecionar todos os campos TFields e colocar o Notifier no OnGetText (agora estou utilizando uma aplicao VCL):

Aqui a aplicao em execuo:

No existe nenhuma procedure, como o PegaCampos exemplificado acima, nesta aplicao. Apenas tem o Notifier. Para finalizar, quero lembrar que isso apenas um exemplo de utilizao do LiveBindings. No estou querendo dizer que todos devam abandonar os componentes data awares e passar a utilizar a forma acima. Isso envolve muitas variveis: pode ser uma questo de gosto, costume, desempenho, boas prticas, POO, etc. Portanto, faam seus testes e tirem suas prprias concluses. Ademais, o que fiz acima apenas a ponta do iceberg. Sugiro que entrem no site da Embarcadero (http://docwiki.embarcadero.com/RADStudio/en/LiveBindings_in_RAD_Studio) para conhecer todos os detalhes do LiveBindings.

VCL Styles Testando o Delphi XE2 Parte 4


09/09/2011Luiz CarlosDeixe um comentrioIr para os comentrios

Em verses anteriores do Delphi, para melhorarmos a aparncia de nossas aplicaes, era necessrio lanar mo de alguns artifcios externos, com por exemplo, instalar componentes de terceiros que habilitavam recursos conhecidos como Skins. Assim, poderamos mudar rapidamente o visual de nosso software ou deixar que o prprio usurio final escolhesse o skin que melhor lhe atendesse. Agora no precisamos mais buscar componentes de terceiros para isso. O prprio Delphi j nos disponibiliza este recurso, que nele chamado de VCL Styles. Abaixo, a aplicao que desenvolvi no post LiveBindings, sem o VCL Style aplicado:

Para aplicarmos um Style muito simples, basta acessar o menu Project\Options (Shift + Ctrl + F11) e em Application\Aparence marcar o(s) estilo(s) que voc deseja. Veja que ao clicar em cima de um estilo o boto Preview ativado. Desta forma, voc ter uma prvia de como ficar o seu form quando o estilo for aplicado:

Aps selecionar o estilo desejado, em Default style, escolha o que ir ser selecionado quando o aplicativo for executado. Vamos escolher Golden Graphite:

Ao executarmos a aplicao, o form j aparece com o estilo aplicado:

Fcil, no mesmo?! possvel alterar e at mesmo criar novos estilos. No meu tools, temos o VCL Style Designer:

Ele nos possibilita personalizar nossos styles. Vamos dar uma olhada:

No lado esquerdo se encontram todos os objetos visuais que podero ser personalizados. Ao centro, o objeto que ser editado. E a esquerda, o Inspector (propriedades a serem alteradas). Voc poder ir personalizando objeto por objeto, o que um processo mais trabalhoso, porm tem a vantagem de ser uma personalizao mais completa. Outra forma editar a

imagem diretamente. Para isso, clique em images e selecione style.png. Aparece a imagem que voc v na figura acima. Clique em Export, para salvar a imagem padro no disco.

Agora, com um software de edio de imagens voc poder alterar vontade. Por exemplo, eu aqui utilizo o Gimp:

No to complicado ajustar a imagem de forma que fique como desejamos. Por exemplo, vou selecionar alguns botes com a ferramenta de selao do Gimp e aplicar colorizar:

Vamos alterar tambm a cor dos forms e aplicar o efeito de nuvem (eu sei, estou exagerando ):

E para finalizar, vamos alterar a cor dos butons (e fazer um design totalmente louco

):

Agora, vamos salvar a imagem e voltar para VCL Style Designer. Antes de importar a imagem que acabamos de editar, d um nome para o seu style em File/Save as, localize a pasta Styles, coloque o nome e salve:

A pasta Styles fica em:

Salve seus styles sempre neste caminho para que o style aparea no Delphi depois. Agora que temos o nosso estilo salvo, vamos atualizar a imagem style.png para relfetir as alteraes feitas na imagem que editamos anteriormente. Para isso:

Defina o nome do seu estilo:

Salve (File/Save) e feche o VCL Style Designer. Volte para o Options/Application/Aparence e escolha o seu estilo:

Execute a aplicao e veja como ficou o seu form:

Caro Gilmar, obrigado pela visita. Atualmente estou sem o XE2 (sem licensa ), mas pelo que vi, o processo simples. Coloque os arquivos de styles numa pasta dentro da pasta do seu sistema. Adicione a unit Vcl.Styles ao seu form principal. Agora voc deve registrar os estilos que ir utilizar, para isto crie uma funo que verifica se o estilo desejado vlido. Ser mais ou menos assim:

1 2 3 4 5 6 7 8

procedure RegistraEstilo(const NomeArqEstilo: string); begin try if TStyleManager.IsValidStyle(NomeArqEstilo) then TStyleManager.LoadFromFile(NomeArqEstilo); //apenas l e registra um VCL Style else application.MessageBox('O estilo escolhido invlido!','Aviso',Mb_Ok); end;

O parmetro NomeArqEstilo o endereo completo do arquivo, ou seja, diretrio + nome do arquivo de estilo. Atravs da funo acima voc registrou o style no seu sistema, porm no alterou em nada o design do programa. Para isso, voce deve setar o novo estilo sempre que desejar alterar a aparncia:

TStyleManager.SetStyle('NomeDoEstilo');

Acho que isso, Gilmar. Abraos.

ltimo dia Testando o Delphi XE2 Parte 5


01/10/2011Luiz CarlosDeixe um comentrioIr para os comentrios

Ol Pessoal Amanh, 02/10/2011, encerra-se a licensa do meu XE2 trial:

At aqui viajamos juntos. Passaram vilas e cidades, cachoeiras e rios, bosques e florestas No faltaram os grandes obstculos. Freqentes foram as cercas, ajudando a transpor abismos As subidas e descidas foram realidade sempre presente. Juntos, percorremos retas, nos apoiamos nas curvas, descobrimos cidades Que as experincias compartilhadas no percurso at aqui sejam a alavanca para alcanarmos a alegria de chegar ao destino projetado. Que nossas despedidas sejam um eterno reencontro. Autor desconhecido

Minhas impresses
O tempo voou nestes ltimos 30 dias. Consegui abordar alguns temas utilizando o XE2: Mtodos Annimos no Delphi Dica: Generics (brrr!!!) Delphi e Google Maps JavaScript API VCL Styles Testando o Delphi XE2 Parte 4 LiveBindings Testando o Delphi XE2 Parte 3 A IDE Testando o Delphi XE2 Parte 2 Instalando XE2 Testando o Delphi XE2 Parte 1 Mas por absoluta falta de tempo, faltou muita coisa ainda. Abaixo vdeo sobre o FireMonkey, um dos assuntos que eu gostaria ter falado mais: .

Resultado da minha experincia com o Delphi XE2


Continuo f desta ferramenta!!! Trabalhar com o Delphi continua extremamente prazeroso. Uma IDE com timos recursos (code completion, refactorings, Metrics Results, Audits Results, Data Explorer, Model View [uma mo na roda], etc.); novidades interessantes, como por exemplo, o Firemonkey e a

presena do FastReport como parte integrante do pacote de instalao; o fato de ainda continuar insupervel no quesito rapidez do compilador e facilidade na entrega do software gerado; 64 bits (antes tarde do que nunca!); Azure, IOS, e por a vai. Estes so alguns fatores que me motivam ainda mais a continuar apostando no Delphi. Vejo em muitos fruns, programadores que utilizam outras linguagens falando que o Delphi no impe um pensamento Orientado a Objetos, pois possibilita o uso da programao puramente procedural, principalmente por aqueles programadores conhecidos como drag and drop de componentes, ou seja, joga edits e botes no form e programe seus eventos. Eu penso que o Delphi uma ferramenta muito verstil, pois possibilita desde os iniciantes a desenvolver seus primeiros sistemas, at o mais capacitado desenvolvedor de software, cujo desenvolvimento segue as boas prticas de programao, com a utlizao dos padres de projetos (Design Patterns) e mtricas de software. Depende na verdade, onde se enquadra o profissional que estiver utilizando a ferramenta. No estou aqui defendendo o Delphi e menosprezando as demais linguagens, mesmo porque, eu penso que ns, desenvolvedores de software, devemos ter uma viso mais ampla e estarmos preparados, de olhos bem abertos, para tudo de novo que est surgindo. Ser programador hoje ser autodidata, e no ficar restrito a aprendizagem de apenas uma tecnologia, uma linguagem. Temos que ser multilngue atender as necessidades de cada projeto. e usar a ferramenta que melhor

assim que vejo o Delphi, e tambm Java, Android, PHP, C#

Lado Negativo
Eu acho que a grande decepo desta verso foi mesmo ter deixado de fora o Android e, por que no dizer, o Linux. Vi no RAD Studio, Delphi and C++Builder Roadmap(http://edn.embarcadero.com/article/39934) algumas informaes interessantes sobre futuras verses do Delphi, como a possibilidade de gerar cdigo nativo para Linux. Pelo menos foi assim que eu entendi. Um dos assuntos mais discutidos atualmente : desenvolver aplicativos que estejam disponveis na nuvem, que possam ser acionadas a apartir de qualquer perifrico (pc/notebook, celular, tablet) e de qualquer sistema operacional (SO). Com base nisso, qual a tecnlogia mais utilizada hoje na WEB e/ou em dispositivos mveis? Linux? Java? Android? IOS? Bom, tenho visto celulares e tablets Android surgindo aos montes, uma verdadeira avalanche. Isso fato! Ento, ficar de fora disso tudo um tanto frustrante, no mesmo?! O jeito partir para outras IDEs enquanto o Delphi no nos permite gerar cdigo nativo para estes sistemas, isto se quisermos aproveitar o momento.

Atualizao 11/10/2011
O comentrio do Lucas (abaixo, em comentrios), onde menciona o RadPHP para gerar aplicativos para Android, me fez ficar curioso para ver isso funcionando na prtica. Instalei o trial do RadPHP XE2. A instalao simples, basta executar o instalador do RadPHP e depois instalar o SDK tools Android, que vem junto com o trial. Depois de instalar, configurei uma nova Vitual Devices (emulador do android). Aproveitei, e fiz algumas atualizaes no SDK Manager.

Criei um novo projeto Mobile Aplication no RadPHP, contendo apenas um button e 2 edits:

Executei, aparecendo a seguinte tela:

Feito isso, entrei no menu Ferramentas->Wizard for PhoneGap. Ir abrir o Wizard, basta ento escolher a plataforma (Android ou IOS), escolher o diretorio de destino e se deseja instalar a aplicao no emulador Android.

Aps finalizado o processo, se escolheu com emulador, o mesmo ser aberto e ir mostrar a sua aplicao:

Aplicao aberta:

Notei alguns buguisinhos, mas creio que seja coisa do trial.

Resumo

O Delphi continua no preo com timos recursos aliado facilidade de depurao e deploi de sempre! Android e Linux ficaram de fora desta verso, mas temos indcios que verses futuras contemplaro estes sistemas. esperar pra ver. A Embarcadero est de parabns! Vem fazendo um timo trabalho, seja com o Delphi seja com Rad Studio. Conseguiu dar uma alavancada no nvel destas ferramentas ao longo destes ltimos anos. Basta comparar o Delphi antes e depois da Embarcadero. A evoluo se torna ntida! isso. Fico por aqui. Opinies, crticas, elogios (claro!) so bem-vindos! Se gostou, clique no boto curtir na caixa do Facebook acima na lateral.

S-ar putea să vă placă și