LiveBindings na prática - Revista ClubeDelphi 146
Este artigo trata de fundamentar o LiveBindings, uma das grandes novidades apresentadas pelo Delphi XE2.
Para a criação de interfaces visuais que se conectam a dados, de forma mais dinâmica e responsiva, com o mínimo de esforço, em especial a objetos de negócio ou até mesmo criar vínculos entre controles visuais.
LiveBindings, FireMonkey e DataSnap Mobile Connectors são apenas algumas das várias novidades trazidas pela versão XE2 do Delphi. Sendo assim, um prévio estudo sobre cada uma delas se faz necessário para que o desenvolvedor se mantenha atualizado mediante ao que sua ferramenta de trabalho lhe provê em termos de recursos. Indo além, o aprofundamento em determinada novidade fica a cargo da necessidade e da disposição do profissional. Do ponto de vista do desenvolvimento de Software, a apresentação de uma nova tecnologia, produto ou recurso tem como início a exposição de seus conceitos envolvidos, sua pré-visualização de utilização e, finalmente sua utilização na prática. De forma a elucidar este cenário, o artigo se foca no LiveBindings, contextualizando-o de forma geral, da teoria à prática. Antecipadamente, podemos rapidamente defini-lo como sendo um novo recurso de Data-Binding (ligação de dados) suportado tanto pela tradicional VCL, como também pela nova plataforma FireMonkey.
O termo LiveBindings, se traduzido de forma livre para o português, tomará o significado de algo como “ligações ao vivo”, o que no mundo do desenvolvimento não quer dizer muita coisa. O único indício que deixa transparecer é seu vínculo com algum recurso de Binding, neste caso Data Binding. De forma geral, o Data Binding consiste numa técnica que estabelece a ligação entre fontes de informações, a fim de se manter uma sincronia de dados entre as mesmas. A grosso modo, no Delphi este cenário é visto desde suas primeiras versões, principalmente em aplicações VCL Forms envolvendo banco de dados, refletido através da relação de uso entre DataSets e controles Data-aware (ver Nota 1), os famosos componentes DB (TDBEdit, TDBText, TDBGrid, TDBNavigator, entre outros). De um modo prático, tomando como exemplo um TDBEdit, ao ligá-lo a um campo (TField) de um TClientDataSet por meio de um DataSource, automaticamente é estabelecida uma sincronia de dados entre eles. Dessa forma, os dados do campo são devidamente mostrados em tela, através do controle, bem como qualquer alteração sobre estes dados na UI é refletida no campo, caracterizando assim um Data Binding.
Com o lançamento do Delphi XE2, a Embarcadero introduziu então um novo conceito relacionado a ligações de dados, resultando em um novo recurso denominado LiveBindings. Em síntese, este mecanismo permite que qualquer propriedade de um objeto qualquer seja associada a uma expressão. Neste caso essa expressão pode ser, por exemplo, uma mera propriedade de outro objeto, outra propriedade do mesmo objeto, ou ainda uma expressão complexa que envolva desde operadores a métodos. Por esta razão o LiveBindings torna-se único, podendo ser aplicado nas mais variadas situações, numa amplitude maior de classes e propriedades compatíveis. Tomando como exemplo novamente a VCL, numa situação clássica do uso do LiveBindings, podemos ter então a associação entre dois controles, do tipo TProgressBar (ProgressBar1) e TSpinEdit (SpinEdit1). Sendo mais específico, suponhamos que haja a necessidade de se vincular a propriedade Position do primeiro com a propriedade Value do segundo, fazendo com que o incremento ou decremento de valores no SpinEdit seja refletido diretamente na posição da barra de progresso. Anteriormente ao , o estabelecimento desta associação seria então refletida num processo todo manual, via código, tal como mostrado a seguir na Listagem 1.
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
ProgressBar1.Position := SpinEdit1.Value;
end;
"Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo