Como faço a chamada de métodos de uma class?

11/05/2021

7

Olá, pessoal estou precisando de ajuda fiz um programa funcional em delphi depois de pronto comecei a refatorar criei uma class e joguei tudo oque era método lá deixei o form só para fazer as chamadas até ai tudo certo só que ai preciso saber como chamo os métodos da class no form e como uso os objetos do form na class por exemplo na class eu atribuo um valor a um edit só que o edit está no form e não na clase!
Responder

Posts

08/07/2021

Jonatas Alves

Olá, pessoal estou precisando de ajuda fiz um programa funcional em delphi depois de pronto comecei a refatorar criei uma class e joguei tudo oque era método lá deixei o form só para fazer as chamadas até ai tudo certo só que ai preciso saber como chamo os métodos da class no form e como uso os objetos do form na class por exemplo na class eu atribuo um valor a um edit só que o edit está no form e não na clase!


Para usar a classe no "form", primeiramente, é declarar a criação do objeto da class:

// declaração da classe
     TAluno = class
     private
          FNome: String ;
          FIdade: Integer ;
     public
          property Nome: String read FNome write FNome ;
          property Idade: Integer read FIdade write FIdade ;
     end ;
...
procedure TForm1.Button1Click(Sender: TObject);
var
     LAluno: TAluno ;
begin
     // instanciando objeto da classe
     LAluno := TAluno.Create ;
end;

Obs: Caso a classe esteja declarada em uma unit diferente do form, é necessário declarar o nome da unit no uses da unit do form ;

Em relação à usar componentes do form dentro da classe, é necessário criar uma propriedade com o tipo do form invocador da classe, e então passar a referência do form:

     // declaração da classe
     TAluno = class
     private
          FNome: String ;
          FIdade: Integer ;
          FForm: TForm1 ;
     public
          property Nome: String read FNome write FNome ;
          property Idade: Integer read FIdade write FIdade ;
          // propriedade que referencia o form invocador da classe
          property Form: TForm1 read FForm write FForm ;
     end ;
...
procedure TForm1.Button1Click(Sender: TObject);
var
     LAluno: TAluno ;
begin
     LAluno := TAluno.Create ;
     LAluno.Form := Self ; // passar uma referência "Self" do form invocador
end;


Obs: Dessa forma, na classe será possível manipular qualquer componente do form.

Boa sorte!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar