Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.
Criando um Componente Data-Aware
Conheça o objeto TFieldDataLink
Na edição anterior, aprendemos a criar dois componentes visuais no Delphi. Vimos como criá-los à partir do zero, sendo um componente totalmente novo e também a criá-los sendo filho de um componente já existente e apenas modificando suas funcionalidades e/ou adicionando novas. Nesta edição veremos a última parte dessa série de componentes e criaremos um componente Data-Aware, ou seja, linkado à banco de dados com as propriedades DataField e DataSource.
Componentes Data-Aware se caracterizam pela capacidade de se conectarem a componentes filhos da classe TDataSet. Esta conexão se dá, normalmente, através de um componente TDataSource. O componente TDBEdit, por exemplo, é um componente Data-Aware. Com ele é possível manipular de maneira extremamente fácil o conteúdo de tabelas dos banco de dados.
Criando um componente Data-Aware
Nosso último componente será um Data-Aware derivado de um TPanel. Esse componente terá como funcionalidade a visualização de cores, sendo que se um registro conter um valor negativo, aparecerá uma mensagem informando que não existe cor definida. Lembre-se que você também pode criar um componente Data-Aware totalmente novo.
O componente se chamará TDBPanelColor.
Objeto de Ligação
Depois de criada a unit precisamos criar a conexão com a origem dos dados que precisamos apresentar. Esta conexão é efetuada usando uma classe especial que o Delphi possui: TFieldDataLink.
Esta classe é implementada de forma a disparar alguns eventos quando situações especiais acontecem na origem dos dados. Em nosso exemplo usaremos o evento OnDataChange que é disparado todas as vezes que há uma alteração no buffer de dados. Vejamos como deve ficar nossa unit:
unit DBPanelColor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls;
type
...