Вход/Регистрация
Delphi. Учимся на примерах
вернуться

Парижский Сергей Михайлович

Шрифт:

 //открываем раздел автозагрузки

 if reg.OpenKey('\Software\Microsoft\Windows\' +

'CurrentVersion\Run', True)

 then begin

//записываем ссылку на нашу программу в автозагрузку

reg.WriteString('Joker', path);

reg.CloseKey;//закрываем реестр

reg.Free;//освобождаем память

 end;

end;

end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_14.

Глава 15

Отправка сообщений в локальной сети

Постановка задачи

Разработать программу, которая будет предоставлять интерфейс для использования стандартной для Win2000/XP команды передачи сообщений net send. Дать возможность указать пользователю адрес получателя, текст сообщения и количество отправляемых сообщений. Также предусмотреть возможность установки блокировки на получение сообщений от других компьютеров.

Разработка формы

Создайте новый проект Delphi. Измените заголовок формы (свойство Caption) на Net Sender. Разместите вдоль левого края формы один над другим три компонента Label категории Standard и присвойте их свойству Caption значения IP-адрес:, Сообщение: И Количество:.

Рядом с каждой из меток разместите по компоненту Edit категории Standard. Самый верхний назовите ip (свойство Name), а свойству Text присвойте значение 192.168.0.1.; среднее поле назовите txt, а свойству Text присвойте какой-либо текст сообщения по умолчанию; самое нижнее поле назовите how, а свойству Text присвойте значение 1.

Под перечисленными компонентами разместите компонент Checkbox категории Standard. Присвойте ему имя secure, свойству Caption присвойте значение Отключить прием сообщений, а свойству Checked — значение True.

В самом низу формы разместите кнопку (компонент Button категории Standard), присвоив ее свойству Caption значение Send. Также нам понадобится таймер (компонент Timer категории System), для которого свойству Interval следует присвоить значение 10.

Полученная форма должна соответствовать рис. 15.1.

Рис. 15.1. Форма для программы отправки сообщений в локальной сети

Разработка программного кода

Прежде всего напишем собственную процедуру bomb, которая будет считывать все настройки и отправлять сообщение. Объявите эту процедуру как закрытый член класса формы:

type

 TForm1 = class(TForm)

 …

private

 { Private declarations }

 procedure bomb;

public

 { Public declarations }

end;

Также нам понадобится глобальная переменная i типа integer:

var

 Form1: TForm1;

 i: integer;

Теперь создадим реализацию процедуры bomb в разделе implementation:

procedure TForm1.bomb;

begin

 //проверяем, не пустое ли текстовое сообщение

 if txt.Text = '' then txt.Text:= '!';

 //если количество не указано, то отправляем одно сообщение

 if how.Text= '' then how.Text:= '1';

 if ip.Text = '' then ip.Text:= '127.0.0.1'; {если ip-адрес не указан, то отправляем на локальный компьютер}

 //отправляем указанное количество сообщений

 for i:=1 to StrToInt(how.Text) do

WinExec(PChar('net send ' + ip.Text + '"' + txt.Text + '"'), 0); //отправка сообщения

end;

В этой процедуре выполняется проверка: все ли необходимые поля заполнены. Если нет текста сообщения, то устанавливаем знак "!"; если не указан IP-адрес, то отправляем сообщение на локальный компьютер с адресом 127.0.0.1; если не указано количество сообщений, то отправляем одно сообщение. Сообщения отправляются с помощью стандартной команды net send, которая имеет следующий синтаксис:

  • Читать дальше
  • 1
  • ...
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: