Delphi
1. Crie uma nova aplicação e desenhe o formulário como mostra a figura a seguir:
2. no início da "Implementation" da unit do formulário instanciar os objetos: DataSource, Table e DBGrid, fazendo referência as suas respectivas unit's (DB, DBTables e DBGrids): uses DB, DBTables, DBGrids; var ds: TDataSource; tb: TTable; gd: TDBGrid;
3. Implemente os seguintes códigos nos respectivos eventos citados:
OnClick do botão "Alocando o Grid na Memória."- cria os objetos em tempo de execução: ds := TDataSource.Create(Self); tb := TTable.Create(Self); ds.DataSet := tb; tb.DatabaseName := 'DBDemos'; tb.TableName := 'Country.db'; tb.Open; gd := TDBGrid.Create(Self); gd.DataSource := ds; gd.Parent := Panel2; { coloca o grid criado no segundo "Panel"} gd.Align := alClient; gd.Show; Button1.Enabled := False;
Button2.Enabled := True;
OnClick do botão "Liberando o Grid na Memória"- destroi os objetos criados: ds.Free; tb.Close; tb.Free; gd.Free;
Button1.Enabled := True;
Button2.Enabled := False;
A unidade de código, descrita a seguir, implementa a "super-classe" TData e a "sub-classe" TNovaData utilizadas no projeto- Aplicando os Conceitos Chaves da Orientação a Objetos: Classe, Objeto e Herança.
unit OpData;
interface
{ declaração da "super-classe" TData } type TData = class private dia, mes, ano: word; function AnoBissexto(a: word): boolean; function DiasNoMes(m: word): word; public constructor Create(d, m, a: word); overload; constructor Create; overload; function ImprimeData: string; procedure Incrementa(N: word = 1); procedure Decrementa(N: word = 1); protected function TotalDeDias: word; end;
{ declaração da "sub-classe" TNovaData }