Home

Page 156
Page 156
background image

Простые приемы работы с сетью

149

//Если удалось, то сообщаем об этом

if

 then

 открыт');

//Закрываем порт

end;

end;

Ну а теперь давайте разберемся, как работает наш сканер. В разделе var

объявлены две переменные  целочисленного типа (integer) и ipstr строч-
ного типа (string). В начале блока кода (после слова begin) в первой стро-

ке переменной ipst присваивается значение 127.0.0.1. Это будет значение
по умолчанию для адреса сканируемой машины.

Следующей строкой у пользователя запрашивается IP-адрес машины:

if not

 'Enter IP Address', ipstr) then exit;

Здесь использована функция InputQuery. Она выводит стандартное окно

ввода (вы можете его увидеть на рис. 4.8). Функции передается три параметра.

1. Текст заголовка окна.

2. Текст, отображаемый над строкой ввода.

3. Переменная типа строки, куда будет записан результат.

 Внимание

Введи  адрес

Cancel

 4.8. Окно ввода IP-адреса

Если пользователь ввел значение и нажал кнопку

 то функция вернет

true, иначе возвратит false. Поэтому использована конструкция:
if not InputQuery (...) then exit;

Которая означает: "Если пользователь не нажал ОК, то выйти". После этого

запускается цикл, внутри которого будут перебираться все порты:

for

 to

 do

Теперь посмотрим на само сканирование, которое находится между begin и
end цикла. Первая строка указывает на то, какой порт мы хотим открыть:

Здесь мы заполняем у компонента TcpClientl свойство

 значе-

нием, указанным в переменной i. Свойство RemotePort является строковым,


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

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