Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.04.2008, 22:16
ratttx ratttx вне форума
Прохожий
 
Регистрация: 09.10.2007
Сообщения: 4
Репутация: 10
Восклицание Delphi 7 Как программно узнать мак-адрес?

Люди хелллп - искал в инете не нашел....... (нужно очень срочно....)
Задача:
"Как в Delphi 7 программно узнать мак-адрес локальной(своей) сетевой карты и записать в МЕМО?"

Я чайник, прошу, если не сложно написать код на буттон клик и если что в Uses нужно дописать, или какие компоненты применить, - описать подобно...

За ранее благодарен, всем, кто ответит!

П.с. темы такой в инете не нашел(искал долго), тема актуальна....
Ответить с цитированием
  #2  
Старый 14.04.2008, 22:52
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Код:
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  
Старый 14.04.2008, 23:19
ratttx ratttx вне форума
Прохожий
 
Регистрация: 09.10.2007
Сообщения: 4
Репутация: 10
По умолчанию (

Пасибки, за ответ, только вот проблемка, я же написал, что я чайник.... Я кроме бутонн кликов ничего не знаю..... И не особо понял, что куда раскидывать в этом коде... Можно весь код программы тогда? И пару коментаиев, если можно?
Ответить с цитированием
  #4  
Старый 15.04.2008, 00:29
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Давай завтра после обеда(когда со школы приду).а то я сча сплю(с мобилы сижу)
Ответить с цитированием
  #5  
Старый 15.04.2008, 01:03
ratttx ratttx вне форума
Прохожий
 
Регистрация: 09.10.2007
Сообщения: 4
Репутация: 10
По умолчанию

Буду ждать )
Ответить с цитированием
  #6  
Старый 15.04.2008, 08:21
Аватар для alikoder
alikoder alikoder вне форума
Начинающий
 
Регистрация: 05.12.2007
Сообщения: 126
Репутация: 10
По умолчанию

а это infofromip.zip тебе что не подходит?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter