Código
unit ip;
interface
uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ExtCtrls,
Buttons,
ComCtrls,
IdHTTP,
registry,
Menus,
Winsock,
IdStack;
type
TForm1 = class(TForm)
LblIPInterno: TLabel;
LblNomeDaMaquina: TLabel;
LblIPExterno: TLabel;
LblUsuarioLogado: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{------------------------------ IP Externo ------------------------------------}
procedure TForm1.Button1Click(Sender: TObject);
var
IP : TIdHTTP;
Temporario : String;
Endereco,Result : String;
X : Integer;
begin
try
IP := TIdHTTP.Create(nil);
with IP do
begin
Host := 'checkip.dyndns.org';
Temporario := Get('checkip.dyndns.org');
For X := 1 to Length(Temporario) do
if (Temporario[X] in ['0'..'9']) or (Temporario[X] = '.') then
Endereco := Endereco + Temporario[X];
end;
Result := Trim(Endereco);
IP.Free;
LblIPExterno.Caption := Result
except
Result := 'ERRO';
end;
end;
{------------------------------ IP Externo ------------------------------------}
procedure TForm1.Button2Click(Sender: TObject);
var
WSAData : TWSAData;
HostEnt : PHostEnt;
Name, Result : string;
begin
WSAStartup(2, WSAData);
SetLength(Name, 255);
Gethostname(PChar(Name), 255);
SetLength(Name, StrLen(PChar(Name)));
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
Result:=Format('%d.%d.%d.%d',[Byte(h_addr^[0]),
Byte(h_addr^[1]),Byte(h_addr^[2]),Byte(h_addr^[3])]);
WSACleanup;
LblIPInterno.Caption := Result;
end;
{----------------------------- Nome da Maquina --------------------------------}
Function NomeMaquina : String;
// Retorna o nome do computador
var
lpBuffer : PChar;
nSize : DWord;
const Buff_Size = MAX_COMPUTERNAME_LENGTH + 1;
begin
try
nSize := Buff_Size;
lpBuffer := StrAlloc(Buff_Size);
GetComputerName(lpBuffer,nSize);
Result := String(lpBuffer);
StrDispose(lpBuffer);
except
Result := '';
end;
end;
//----------------------------------------------------------------------------//
procedure TForm1.Button3Click(Sender: TObject);
begin
LblNomeDaMaquina.Caption := NomeMaquina;
end;
//----------------------------------------------------------------------------//
{------------------------------- Usuario Logado -------------------------------}
Function usuario: string;
var
buffer: array[0..255] of char;
size: dword;
begin
size := 256;
if GetUserName(buffer, size) then
Result := buffer
else
Result := ''
end;
//----------------------------------------------------------------------------//
procedure TForm1.Button4Click(Sender: TObject);
begin
LblUsuarioLogado.Caption := Usuario;
end;
//----------------------------------------------------------------------------//
end.
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009