Home

Page 261
Page 261
background image

254 Глава 5

объявлена принадлежащей типу

 чтобы в ней случайно не

оказалось никакого мусора. Для этого использована функция FiilChar.

Во второй строке у структуры Entry заполняется свойство

 в кото-

ром указывается IP-адрес для добавляемой записи. Адрес IP у нас хранится

в строковой переменной

 и его нужно преобразовать в числовой,

что и делается с помощью функции

 которая выглядит так:

function

 Addr: string): DWORD;

begin

Result

end;

Здесь для преобразования используется

 inet_addr.

В принципе, можно было бы вызывать ее напрямую, но я сделал отдельную

функцию на случай, если вы захотите добавить в нее возможность преобра-
зования и символьных имен.

После преобразования происходит проверка с помощью функции Assert на
правильность адреса. Если

 не равен

 INADDR_NONE,

 все нор-

мально, иначе генерируется ошибка.

Дальше нужно указать физический адрес. Сначала указываем длину физиче-

ского адреса

 вписывая значение б. После этого при-

сваиваем свойству bPhysAddr структуры Entry значение физического адреса

с помощью функции stringToPhysAddr, которая одновременно переводит

строковое представление МАС-адреса в нужный формат. У этой функции

два параметра:

 строковое представление МАС-адреса;

 переменная, в которую нужно записать приведенный адрес.

Саму функцию нужно еще написать. Я не стал ее делать частью объекта ок-

на, поэтому где-нибудь выше нашего обработчика напишите код из лис-

тинга 5.7.

procedure

 string;

var PhysAddr:

var

C: Char;

I, V: Integer;

begin

 17);


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.