![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Люди хелллп - искал в инете не нашел....... (нужно очень срочно....) 
		
	
		
		
		
		
		
	
		
		
	
	
	Задача: "Как в Delphi 7 программно узнать мак-адрес локальной(своей) сетевой карты и записать в МЕМО?" Я чайник, прошу, если не сложно написать код на буттон клик и если что в Uses нужно дописать, или какие компоненты применить, - описать подобно... За ранее благодарен, всем, кто ответит! П.с. темы такой в инете не нашел(искал долго), тема актуальна....  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	type
 TMacAddress=array [0..7] of byte;
PMibIfTable=^TmibIfTable;
TmibIFtable=packed record
dwnumEntries:dword;
table:TMibIfArray;
end;
PMibiIfarray=^TMibIfArray;
TMibIfArray=array[0..512]of TMibIfRow;
TMibIfRow=packed record
wszName : array[0..255] of WideChar;
dwIndex : DWORD;
dwType : DWORD;
dwMtu : DWORD;
dwSpeed : DWORD;
dwPhysAddrLen : DWORD;
bPhysAddr : array[0..7] of Byte;
dwAdminStatus : DWORD;
dwOperStatus : DWORD;
dwLastChange : DWORD;
dwInOctets : DWORD;
dwInUcastPkts : DWORD;
dwInNUCastPkts : DWORD;
dwInDiscards : DWORD;
dwInErrors : DWORD;
dwInUnknownProtos : DWORD;
dwOutOctets : DWORD;
dwOutUCastPkts : DWORD;
dwOutNUCastPkts : DWORD;
dwOutDiscards : DWORD;
dwOutErrors : DWORD;
dwOutQLen : DWORD;
dwDescrLen : DWORD;
bDescr : array[0..255] of Char;
end;
var
mibIfTable:PMibIfTable;
error : DWORD;
bufflen : DWORD;
p : pointer;
i:integer;
begin
bufflen:=sizeof(mibIfTable^);
new(mibIfTable);
p:=MibIfTAble;
error:=GetIfTable(mibIftable,@bufflen,false);
if error<>No_error then begin
showmessage('Произошла ошибка');
exit;
for i:=0 to mibiftable.dwnumEntries-1 do
memo1.lines.add(GetStrMac(TmacAddress(mibIfTable.table[i].bPhysAddr),mibIfTable.table[i].dwPhysAddrLen));
end;
function TForm1.GetStrMac(Mac: TMacAddress; size: integer): string;
var
 i:integer;
begin
 if size = 0 then
  begin
   result:='00-00-00-00-00-00';
   Exit;
  end;
Result:='';
for i:=1 to size do
Result:=Result+IntToHex(Mac[i], 2)+'-';
Delete(Result, length(Result), 1);
end;Admin: Пользуемся тегами! Последний раз редактировалось Admin, 15.04.2008 в 10:31.  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Пасибки, за ответ, только вот проблемка, я же написал, что я чайник.... Я кроме бутонн кликов ничего не знаю..... И не особо понял, что куда раскидывать в этом коде... Можно весь код программы тогда? И пару коментаиев, если можно? 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Давай завтра после обеда(когда со школы приду).а то я сча сплю(с мобилы сижу) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Буду ждать ) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 а это infofromip.zip тебе что не подходит? 
		
	
		
		
			 |