meu amigo nao entendi direito oq vc quer, "o ip da placa de rede local"
se for o IP da sua maquina na rede aki esta

uses WinSock;
Function TNMInfo.GetIPAddress: String;
Type
  Name = Array[0..100] Of Char;
  PName = ^Name;
Var
  HEnt: pHostEnt;
  HName: PName;
  WSAData: TWSAData;
  i: Integer;
Begin
  Result := '';
  If WSAStartup($0101, WSAData) <> 0 Then
    Exit;
  New(HName);
  If GetHostName(HName^, SizeOf(Name)) = 0 Then
  Begin
    HEnt := GetHostByName(HName^);
    For i := 0 To HEnt^.h_length - 1 Do
      Result :=
        Concat(Result,
        IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
    SetLength(Result, Length(Result) - 1);
  End;
  Dispose(HName);
  WSACleanup;
End;

e se for o MAC da sua placa de rede entao
Function TNMInfo.GetMAC: String;
Var
  NCB: PNCB;
  Adapter: PAdapterStatus;

  RetCode: char;
  I: integer;
  Lenum: PlanaEnum;
  _SystemID: String;
Begin
  Result := '';
  _SystemID := '';
  Getmem(NCB, SizeOf(TNCB));
  Fillchar(NCB^, SizeOf(TNCB), 0);

  Getmem(Lenum, SizeOf(TLanaEnum));
  Fillchar(Lenum^, SizeOf(TLanaEnum), 0);

  Getmem(Adapter, SizeOf(TAdapterStatus));
  Fillchar(Adapter^, SizeOf(TAdapterStatus), 0);

  Lenum.Length := chr(0);
  NCB.ncb_command := chr(NCBENUM);
  NCB.ncb_buffer := Pointer(Lenum);
  NCB.ncb_length := SizeOf(Lenum);
  RetCode := Netbios(NCB);

  i := 0;
  Repeat
    Fillchar(NCB^, SizeOf(TNCB), 0);
    Ncb.ncb_command := chr(NCBRESET);
    Ncb.ncb_lana_num := lenum.lana[I];
    RetCode := Netbios(Ncb);

    Fillchar(NCB^, SizeOf(TNCB), 0);
    Ncb.ncb_command := chr(NCBASTAT);
    Ncb.ncb_lana_num := lenum.lana[I];
    Ncb.ncb_callname := '*               ';

    Ncb.ncb_buffer := Pointer(Adapter);

    Ncb.ncb_length := SizeOf(TAdapterStatus);
    RetCode := Netbios(Ncb);

    If (RetCode = chr(0)) Or (RetCode = chr(6)) Then
    Begin
      _SystemId := IntToHex(Ord(Adapter.adapter_address[0]), 2) + '-' +
        IntToHex(Ord(Adapter.adapter_address[1]), 2) + '-' +
        IntToHex(Ord(Adapter.adapter_address[2]), 2) + '-' +
        IntToHex(Ord(Adapter.adapter_address[3]), 2) + '-' +
        IntToHex(Ord(Adapter.adapter_address[4]), 2) + '-' +
        IntToHex(Ord(Adapter.adapter_address[5]), 2);
    End;
    Inc(i);
  Until (I >= Ord(Lenum.Length)) Or (_SystemID <> '00-00-00-00-00-00');
  FreeMem(NCB);
  FreeMem(Adapter);
  FreeMem(Lenum);
  Result := _SystemID;
End;

----- Original Message ----- 
From: "Leandro Carbonera" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Tuesday, September 27, 2005 9:40 AM
Subject: [delphi-br] Pegar IP da placa de rede


>
> Alguem sabe como pegar o IP da placa de rede local via programação? Ou
> dereoente existe algum componente para delphi 7 que faça isso.......
>
>
> Att.
>
> Leandro Carbonera
> Suporte Técnico - RBR Informática
>
> Fone: 54 343 1788
> [EMAIL PROTECTED]
> www.rbrinformatica.com.br
>
>
>
>
>
>
> _______________________________________________________
> Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e 
> muito mais. Instale agora!
> www.yahoo.com.br/messenger/
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date: 26/9/2005
>
> 



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a