Complete Class

Delphi

04/08/2017

Bom dia, pessoal. Alguém também está com problemas no Berlin com o Complete Class?
Criei uma unit de testes:

unit Unit2;

interface

type

TUsuario = class
FNome: string;
end;

implementation

end.

No entanto, ao usar o Complete Class (shift + ctrl + c) ou mesmo com o botão direito do mouse nada acontece. Não completa a classe...
Carlos Clara

Carlos Clara

Curtidas 0

Respostas

Natanael Ferreira

Natanael Ferreira

04/08/2017

Creio que o Complete Class funciona para criação automática de Procedures.

Por exemplo, no seu código crie um procedimento e dê um Ctrl+Alt+C:

type
  TUsuario = class
    FNome: string;
    procedure DoSomething; // Acrescentei esta linha
  end;

O Complete Class vai funcionar criando o código abaixo de implementation:

{ TUsuario }

procedure TUsuario.DoSomething;
begin

end;

Veja a documentação oficial no link abaixo:
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Class_Completion
GOSTEI 0
Rafael Bosco

Rafael Bosco

04/08/2017

O complete class só irá executar em métodos e funções e propertys adicionadas a classe, no seu exemplo você colocou apenas uma variavél aleatória e sem definir a segurança dela, faça assim e aperta SHIFT + CTRL + C para ver o que acontece:

   

   TUsuario = class
         private
               function ReturnSomething: Boolean;
         public
             property Nome: String;
   end;
   


O Delphi irá criar a função, e o Write, Get, e Set da property declarada.
GOSTEI 0
Carlos Clara

Carlos Clara

04/08/2017

Descobri meu erro: estava faltando o property:

unit Unit2;

interface

type
TUsuario = class
property Nome: string;
property Login: string;
property Senha: string;
end;

implementation

end.

Ao digitar SHIFT + CTRL + C agora funciona: Completa a classe e fica:

unit Unit2;

interface

type
TUsuario = class
private
FSenha: string;
FLogin: string;
FNome: string;
procedure SetLogin(const Value: string);
procedure SetNome(const Value: string);
procedure SetSenha(const Value: string);
published
property Nome: string read FNome write SetNome;
property Login: string read FLogin write SetLogin;
property Senha: string read FSenha write SetSenha;
end;

implementation

{ TUsuario }

procedure TUsuario.SetLogin(const Value: string);
begin
FLogin := Value;
end;

procedure TUsuario.SetNome(const Value: string);
begin
FNome := Value;
end;

procedure TUsuario.SetSenha(const Value: string);
begin
FSenha := Value;
end;

end.

Valeu, galera....
GOSTEI 0
POSTAR