Ir para conteúdo
Fórum Script Brasil
  • 0

Polimorfismo?


Musashi_RS

Pergunta

Olá pessoal, uma dúvida em relação a POLIMORFISMO (acredito eu):

Utilizo o método GetComputerName (unit Windows) para obter (obviamente) o nome do computador. No entanto, como é preciso passar dois parâmetros para esse método, resolvi criar uma função que apenas retorne o nome da máquina. Aí que começa minha dúvida: meu novo método se chama 'getComputerName'! xD

Obviamente ocorre um erro, pois o Delphi se confunde, visto que chamo o método GetComputername (unit Windows) dentro do meu novo método getComputerName.

Contudo, se eu chamar Windows.GetComputerName funciona, mas acredito que não seja a forma mais elegante.

Assim, como contorno isso de forma correta?

Obrigado.

Ps.: Sei que seria mais fácil eu alterar o nome do método novo, mas isso é mais por questão de aprendizado mesmo. x)

Editado por Musashi_RS
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Assim, como contorno isso de forma correta?

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function GetComputerNetName: string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetComputerName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;

Function GetUserFromWindows: string;
Var
   UserName : string;
   UserNameLen : Dword;
Begin
   UserNameLen := 255;
   SetLength(userName, UserNameLen);
   If GetUserName(PChar(UserName), UserNameLen) Then
     Result := Copy(UserName,1,UserNameLen - 1)
   Else
     Result := 'Unknown';
End;


procedure TForm1.Button1Click(Sender: TObject);
begin
  // nome do computador
  Edit1.Text := GetComputerNetName;
  // nome do usuario
  Edit2.Text := GetUserFromWindows;
end;

end.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...