Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-06-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
Obtener direccion MAC de mi PC

Hola amigos, que comando utilizo para obetener la direccion MAC de la tarjeta de red de mi equipo, hay alguna funcion o algun modo de obtener esta direccion, gracias por su repuesta.
Responder Con Cita
  #2  
Antiguo 14-06-2005
MrDominoTk MrDominoTk is offline
Registrado
 
Registrado: jun 2005
Posts: 9
Poder: 0
MrDominoTk Va por buen camino
Este es un fragmento de un programita que uso no es mio lo encontre en la WEB...

lb_mac es el label donde queda la MAC

procedure TForm1.button1click(Sender: TObject);
Type
// Una estructura que une el estado del adaptador
// con una matriz de estructuras TNameBuffer
ASTAT = record
adapt: TAdapterStatus;
NameBuff: Array[0..29] Of TNameBuffer;
end;
Var
Adaptador: ASTAT;
Ncb: TNCB;
Nombre: String;
DatosSocket: WSAData;
BloqueIP: PHostEnt;
DirIP: in_addr;
begin
With Ncb Do // Inicializamos la estructura para ejecutar
Begin // el comando NCBSTAT
ncb_command := char(NCBASTAT);
ncb_lana_num := char(0); // asumimos que sólo hay un adaptador
ncb_callname := '*'; // y no facilitamos nombre
ncb_buffer := @Adaptador; // dirección de la estructura para obtener
ncb_length := sizeof(Adaptador); // los datos devueltos
End;

Netbios(@Ncb); // Llamada a NetBios

// Mostramos los datos
With Adaptador.adapt Do
lb_mac.Caption:= IntToHex(Integer(adapter_address[0]), 2) +
IntToHex(Integer(adapter_address[1]), 2) +
IntToHex(Integer(adapter_address[2]), 2) +
IntToHex(Integer(adapter_address[3]), 2) +
IntToHex(Integer(adapter_address[4]), 2) +
IntToHex(Integer(adapter_address[5]), 2);
End;
Responder Con Cita
  #3  
Antiguo 17-06-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
He insertado el codigo q me enviaste en un boton, y he declarado el label q indicas, mas no he podido compilar por errores, ¿necesita alguna libreria en espècial?

[Error] Unit1.pas(32): Undeclared identifier: 'TAdapterStatus'
[Error] Unit1.pas(33): Undeclared identifier: 'TNameBuffer'
[Error] Unit1.pas(37): Undeclared identifier: 'TNCB'

Estos son algunos de los errores que obtengo, muchas gracias por tu respuesta,

saludos
artemisa
Responder Con Cita
  #4  
Antiguo 17-06-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Tienes que utilizar la unit NB30

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 01-08-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
que pasa si tengo mas de una tarjeta de red???
Responder Con Cita
  #6  
Antiguo 01-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por artemisa
que pasa si tengo mas de una tarjeta de red???
Según el código de MrDominoTk:
Código Delphi [-]
 ...
 ncb_lana_num := char(0); // asumimos que sólo hay un adaptador
 ...
ncb_lana_num indica el número de dispositivo. Podrías iterar mientras "Netbios(NCB) in [NRC_GOODRET, NRC_INCOMP]"

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 02-08-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
aun tengo estas 3 lineas de mensajes de eror

[Error] Unit1.pas(39): Undeclared identifier: 'WSAData'
[Error] Unit1.pas(40): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(41): Undeclared identifier: 'in_addr'
gracias por la respuesta
Responder Con Cita
  #8  
Antiguo 02-08-2005
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
uses winsock
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #9  
Antiguo 02-08-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Bajate la base del conocimiento de delphi Es un programa parecido a trucomania.

Hay tienes varias forma de octnerlas y te encontraras respuestas a muchas cosas que parecen imposible.

La direccion no la recuerdo asi que a buscar.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #10  
Antiguo 17-11-2005
friendspark friendspark is offline
Miembro
 
Registrado: nov 2005
Posts: 32
Poder: 0
friendspark Va por buen camino
Por que me sale en la mac cuando la imprimo en pantalla (00-00-00-00-00-00) cuano no es esta? que va mal?;
Responder Con Cita
  #11  
Antiguo 21-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por friendspark
Por que me sale en la mac cuando la imprimo en pantalla (00-00-00-00-00-00) cuano no es esta? que va mal?;
¿Tienes tu PC conectada a la red o tienes creado un loopback?... ¿Estas apuntando al dispositivo correcto?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #12  
Antiguo 07-10-2010
migvaz5 migvaz5 is offline
Registrado
 
Registrado: abr 2005
Posts: 4
Poder: 0
migvaz5 Va por buen camino
Obtencion Mac

Miren encontre un link donde esxplica como obtener la direccion mac
espero les sirva

Aclaro
Lo encontre en una pagina de internet.
Pascal and Delphi Code Snippet
  1. uses NB30;
  2. function GetAdapterInfo(Lana: Char): String;
  3. var
  4. Adapter: TAdapterStatus;
  5. NCB: TNCB;
  6. begin
  7. FillChar(NCB, SizeOf(NCB), 0);
  8. NCB.ncb_command := Char(NCBRESET);
  9. NCB.ncb_lana_num := Lana;
  10. if Netbios(@NCB) <> Char(NRC_GOODRET) then
  11. begin
  12. Result := 'mac not found';
  13. Exit;
  14. end;
  15. FillChar(NCB, SizeOf(NCB), 0);
  16. NCB.ncb_command := Char(NCBASTAT);
  17. NCB.ncb_lana_num := Lana;
  18. NCB.ncb_callname := '*';
  19. FillChar(Adapter, SizeOf(Adapter), 0);
  20. NCB.ncb_buffer := @Adapter;
  21. NCB.ncb_length := SizeOf(Adapter);
  22. if Netbios(@NCB) <> Char(NRC_GOODRET) then
  23. begin
  24. Result := 'mac not found';
  25. Exit;
  26. end;
  27. Result :=
  28. IntToHex(Byte(Adapter.adapter_address[0]), 2) + '-' +
  29. IntToHex(Byte(Adapter.adapter_address[1]), 2) + '-' +
  30. IntToHex(Byte(Adapter.adapter_address[2]), 2) + '-' +
  31. IntToHex(Byte(Adapter.adapter_address[3]), 2) + '-' +
  32. IntToHex(Byte(Adapter.adapter_address[4]), 2) + '-' +
  33. IntToHex(Byte(Adapter.adapter_address[5]), 2);
  34. end;
  35. function GetMACAddress: string;
  36. var
  37. AdapterList: TLanaEnum;
  38. NCB: TNCB;
  39. begin
  40. FillChar(NCB, SizeOf(NCB), 0);
  41. NCB.ncb_command := Char(NCBENUM);
  42. NCB.ncb_buffer := @AdapterList;
  43. NCB.ncb_length := SizeOf(AdapterList);
  44. Netbios(@NCB);
  45. if Byte(AdapterList.length) > 0 then
  46. Result := GetAdapterInfo(AdapterList.lana[0])
  47. else
  48. Result := 'mac not found';
  49. end;
  50. // usage
  51. procedure TForm1.Button1Click(Sender: TObject);
  52. begin
  53. ShowMessage(GetMACAddress);
  54. 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


La franja horaria es GMT +2. Ahora son las 23:41:34.


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