Сергей Парижский - Delphi. Учимся на примерах

Тут можно читать онлайн Сергей Парижский - Delphi. Учимся на примерах - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство МК-Пресс, год 2005. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Delphi. Учимся на примерах
  • Автор:
  • Жанр:
  • Издательство:
    МК-Пресс
  • Год:
    2005
  • Город:
    Киев
  • ISBN:
    ISBN 966-8806-02-6
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Сергей Парижский - Delphi. Учимся на примерах краткое содержание

Delphi. Учимся на примерах - описание и краткое содержание, автор Сергей Парижский, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данная книга — продолжение предыдущей книги автора, "Delphi. Только практика". Также как и в "Delphi. Только практика", в данном издании подробно рассмотрены программы для сетей, различные шуточные программы, простые игрушки, некоторые полезные приложения, разработка приложений в стиле Windows XP. В частности, здесь можно найти такие примеры как бесплатная отправка SMS, FTP-клиент, простое шифрование, CGI-сценарии и многое другое. Описаны методы работы с системным реестром Windows и INI-файлами, а также некоторые важные аспекты программирования на системном уровне с применением функций Windows API. Для облегчения понимания программ каждый пример содержит комментарии сложных строк кода.

Книга ориентирована как на тех, кто уже имеет опыт создания приложений в Delphi, так и на начинающих программистов. Для начинающих пользователей Delphi в конце книги добавлено приложение с описанием синтаксиса языка программирования Object Pascal.

Delphi. Учимся на примерах - читать онлайн бесплатно полную версию (весь текст целиком)

Delphi. Учимся на примерах - читать книгу онлайн бесплатно, автор Сергей Парижский
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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, которая имеет следующий синтаксис:

net send ip-адрес сообщение.

Теперь обработаем событие таймера OnTimer:

procedure TForm1.Timer1Timer(Sender: TObject);

var

h: HWND;//хранит идентификатор окна

begin

if not secure.Checked then//если флажок не установлен

Timer1.Enabled:= False;//отключаем мониторинг

if secure.Checked then//если флажок установлен

begin

//ищем окна с сообщениями

h:= FindWindow(nil, 'Служба сообщений ');//закрываем все найденные окна

if h <> 0 then PostMessage(h, WM_QUIT, 0, 0);

end;

end;

Если установлен флажок Отключить прием сообщений, то мы начинаем мониторинг окон, заголовок которых говорит о том, что это — сообщение, и закрываем все найденные окна. Если флажок не установлен, то мониторинг отключается.

Для того чтобы можно было переключаться между этими двумя режимами, необходимо создать обработчик события secure.OnClick:

procedure TForm1.secureClick(Sender: TObject);

begin

if secure.Checked then//если флажок установлен…

Timer1.Enabled:= True;//…включаем мониторинг

end;

При нажатии кнопки Sendмы будем просто вызывать процедуру bomb:

procedure TForm1.Button1Click(Sender: TObject);

begin

bomb;

end;

Для того чтобы облегчить пользователю жизнь, сделаем так, чтобы отправка сообщения осуществлялась также по нажатии клавиши в любом текстовом поле ввода. Для этого необходимо создать обработчик события OnKeyPress для каждого из полей. Код этого обработчика для поля ip, который затем можно назначить полям txt и how:

procedure TForm1.ipKeyPress(Sender: TObject; var Key: Char);

begin

if key= #13 then//если нажата клавиша

bomb;//отправка сообщения

end;

Полный исходный код модуля

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

Листинг 15.1. Модуль программы отправки сообщений по локальной сети

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm)

Button1: TButton;

ip: TEdit;

Label1: TLabel;

Label2: TLabel;

txt: TEdit;

Label3: TLabel;

how: TEdit;

secure: TCheckBox;

Timer1: TTimer;

procedure Timer1Timer(Sender: TObject);

procedure secureClick(Sender: TObject);

procedure ipKeyPress(Sender: TObject; var Key: Char);

procedure txtKeyPress(Sender: TObject; var Key: Char);

procedure howKeyPress(Sender: TObject; var Key: Char);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

procedure bomb();

public

{ Public declarations }

end;

var

Form1: TForm1;

i: integer;

implementation

{$R *.dfm}

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;

procedure TForm1.Timer1Timer(Sender: TObject);

var

h: HWND; //хранит идентификатор окна

begin

if not secure.Checked then //если флажок не установлен

Timer1.Enabled:= False; //отключаем мониторинг

if secure.Checked then //если флажок установлен

begin

//ищем окна с сообщениями

h:= FindWindow(nil, 'Служба сообщений '); //закрываем все найденные окна

if h <> 0 then PostMessage(h, WM_QUIT, 0, 0);

end;

end;

procedure TForm1.secureClick(Sender: TObject);

begin

if secure.Checked then //если флажок установлен…

Timer1.Enabled:= True; //…включаем мониторинг

end;

procedure TForm1.ipKeyPress(Sender: TObject; var Key: Char);

begin

if key = #13 then //если нажата клавиша

bomb; //отправка сообщения

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

bomb;

end;

end.

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

Глава 16

Удаленное управление указателем мыши

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

Разработать программу, которая в точности повторяет на одном компьютере все движения указателя мыши, сделанные на другом компьютере. Компьютеры могут находиться как в локальной сети, так и в Internet.

На самом деле нам придется разработать две программы: первая (назовем ее "Клиент") будет получать координаты указателя на одном компьютере и отправлять их второй программе (назовем ее "Сервер"), которая будет принимать и изменять текущие координаты указателя на присланные клиентом. Данный тип связи называется "клиент-сервер" и для его использования у нас есть все необходимые компоненты на стандартной палитре компонентов Delphi. У "клиента" будет форма с настройками, а "сервер" будет работать незаметно для пользователя. Сначала разработаем клиентскую программу.

Разработка клиентской программы

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

Создайте новый проект Delphi. Присвойте свойству Caption формы заголовок Remote Mouse. Разместите на форме компонент Label категории Standardи присвойте его свойству Caption значение Port. Справа от этой метки разместите компонент Edit категории Standard.Назовите его port (свойство name), а свойству text присвойте значение 2801.

Ниже разместите еще один компонент Label, присвоив его свойству Caption значение IP. Справа от него разместите компонент Edit с именем ip и текстом 127.0.0.1.

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Сергей Парижский читать все книги автора по порядку

Сергей Парижский - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Delphi. Учимся на примерах отзывы


Отзывы читателей о книге Delphi. Учимся на примерах, автор: Сергей Парижский. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x