Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2006
CCCP CCCP is offline
Miembro
 
Registrado: dic 2004
Ubicación: Barcelona
Posts: 38
Poder: 0
CCCP Va por buen camino
Saber el api de un pc

Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    Function GetIp(var Host:String):String;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
Uses WinSock;
{$R *.dfm}
Function TForm1.GetIp(var Host:String):String;
type
  TAPInAddr = Array[0..100] of PInAddr;
  PAPInAddr = ^TAPInAddr;
var
  WSAData: TWSAData;
  HostEntPtr: PHostEnt;
  pptr: PAPInAddr;
  i,iPos: Integer;
begin
  Result:='';
  If Host <> '' then Begin
     WSAStartUp( $101, WSAData );
     HostEntPtr := GetHostByName( PChar( Host ) );
     if HostEntPtr = NIL then GetIp:='';
     If Assigned(HostEntPtr) then Begin
     pptr := PAPInAddr( HostEntPtr^.h_addr_list );
     i := 0;
     while pptr^[i] <> NIL do begin
      Result:=inet_ntoa( pptr^[i]^ );
      Inc( i );
     end;
     end;
     WSACleanUp();
  end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var Host:String;
begin
 Host:='HOST';
 Showmessage(GetIp(Host))
end;
end.
Responder Con Cita
  #2  
Antiguo 02-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 21
nemesio Va por buen camino
Revisa este viejo truco de autoría de Borland.


Código Delphi [-]
//De las Faq's de Borland)

//El ejemplo siguiente requiere el uso del API Winsock incorporado en el
//WinSock.pas
uses
WinSock;

procedure GetHostInfo(var Name, Address: string);
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
{ no error checking...}
WSAStartup(2, WSAData);
SetLength(Name, 255);
Gethostname(PChar(Name), 255);
SetLength(Name, StrLen(PChar(Name)));
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
Address := Format('%d.%d.%d.%d',[
Byte(h_addr^[0]),
Byte(h_addr^[1]),
Byte(h_addr^[2]),
Byte(h_addr^[3])]);
WSACleanup;
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber IP pública D@byt Internet 8 18-10-2005 09:29:18
saber el form castroruiz2001 OOP 5 12-02-2005 02:40:54
Saber ultimo dia del mes morfeo21 Varios 2 21-01-2005 19:06:18
Saber si la hora es AM o PM?¿?¿ burasu Varios 2 13-07-2004 19:49:17
saber el ip de internet ebeltete Internet 7 30-09-2003 11:44:37


La franja horaria es GMT +2. Ahora son las 16:24:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi