Quick Tips : Record com Métodos e Construtor Parte II

Nesta Quick iremos falar sobre Recursos que muitos não conhece no Record.



Olá galera, nesta Quick Tips, parte II, iremos construir agora, nosso exemplo de Record, já vimos onde usar, e a função de um Record, agora vamos colocar em pratica. Obviamente outras pessoas tem outras coisas a dizer ou falar sobre Record, eu resumi o que tenho em mente na Quick anterior. Vamos ao que interessa.

 

Crie uma nova Aplicação em Delphi

 

Monte a seguinte tela

 

3 TLabeledEdit(EdtCodigo, EdtNome, EdtCPF)

4 TButton(BtnNovo, BtnLer, BtnGravar, BtnMudarCPF)

1 TStatusBar(SttsBrCliente)

1 TRadioGroup(RGSexo – 2 Itens)

 



Iremos criar agora uma Unit que terá a estrutura do nosso Record.

 

unit uCliente;

 

interface

  Type

  RCliente = Record

IDCliente : Integer;

Nome: String;

Sexo: String;

CPF: String;

Usuario   : string;

constructor Create(xUsuario: String); //Constructor no Record

procedure MudarCPF(xCPF:String); //Procedure no Record

function UsuarioLogado: String; //Function no Record

  End;

 

implementation

 

{ RCliente }

 

constructor RCliente.Create(xUsuario: String);

begin

  Usuario := xUsuario;

end;

 

procedure RCliente.MudarCPF(xCPF: String);

begin

  CPF := xCPF;

end;

 

function RCliente.UsuarioLogado: String;

begin

  Result := Usuario;

end;

 

end.

 

No Create do Form

 

procedure TFrmPrincipal.FormCreate(Sender: TObject);

begin

  BtnNovo.Enabled   := True;

  BtnGravar.Enabled := False;

  BtnLer.Enabled:= False;

  KeyPreview:= True;

end;

 

BtnLer - onClick

 

procedure TFrmPrincipal.BtnLerClick(Sender: TObject);

begin

  With Cliente do

  begin

EdtCodigo.Text    := IntToStr(IDCliente);

EdtNome.Text := Nome;

EdtCPF.Text := CPF;

RGSexo.ItemIndex  := RGSexo.Items.IndexOf(Sexo);

BtnNovo.Enabled   := True;

BtnGravar.Enabled := True;

BtnLer.Enabled:= False;

  end;

end;

 

BtnNovo - onClick

 

procedure TFrmPrincipal.BtnNovoClick(Sender: TObject);

Var

  Usuario : String;

begin

  if InputQuery('Informe o Usuario', 'Digite o nome de Usuario',Usuario) then

  begin

Cliente.Create(Usuario); //Usando o Create

SttsBrCliente.Panels[0].Text := 'Usuario Logado : '  + Cliente.Usuario;

  BtnNovo.Enabled   := False;

BtnGravar.Enabled := True;

BtnLer.Enabled:= False;

  end;

end;

 

BtnMudarCPF - onClick

 

procedure TFrmPrincipal.BtnMudarCPFClick(Sender: TObject);

begin

  Cliente.MudarCPF(EdtCPF.Text); // Usando a Procedure

end;

 

FrmPrincipal - onKeyDown

 

procedure TFrmPrincipal.FormKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  if Key = VK_F2 then

ShowMessage(Cliente.Usuario);

end;

 

Fico por aqui ate a próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br



Artigos relacionados