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