My-library.info
Все категории

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

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Сергей Парижский - Delphi. Учимся на примерах. Жанр: Программирование издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Delphi. Учимся на примерах
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
251
Читать онлайн
Сергей Парижский - Delphi. Учимся на примерах

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

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

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

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

 p2.Visible:= False;

 p3.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;


procedure TForm1.p3Click(Sender: TObject);

begin

 Label1.Caption:= 'Четвертый вопрос:';

 verno();

 р3.Visible:= False;

 p4.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;

procedure TForm1.p4Click(Sender: TObject);

begin

 Label1.Caption:= 'Пятый вопрос:';

 verno();

 p4.Visible:= False;

 p5.Visible:= True;

 vopr:= Random(4) + 1;

 vars(vopr);

end;


procedure TForm1.p5Click(Sender: TObject);

begin

 //проверяем правильность ответа на последний вопрос

 verno() ;

 //узнаем, сколько баллов набрал пользователь

 ss:= IntToStr(balls);

 //делаем почти все компоненты невидимыми

 Memo1.Visible:= False;

 р5.Visible:= False;

 RadioGroup1.Visible:= False;

 Label1.Visible:= False;

 an1.Visible:= False;

 an2.Visible:= False;

 an3.Visible:= False;

 an4.Visible:= False;

 Label2.Visible:=True;//показываем метку с результатом

 Label2.Align:= alClient;//растягиваем ее на всю форму

 //Отображаем процент правильных ответов

 Label2.Caption:= 'Правильных ответов' + IntToStr(balls*(100 div 5))+'%';

end;


procedure TForm1.N4Click(Sender: TObject);

begin

 Halt; //выход из программы

end;


procedure TForm1.p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p1.BevelInner:= bvLowered;

 p1.BevelOuter:= bvRaised;

end;

procedure TForm1.p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p1.BevelInner:=bvRaised;

 p1.BevelOuter:=bvLowered;

end;


procedure TForm1.p2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p2.BevelInner:= bvLowered;

 p2.BevelOuter:= bvRaised;

end;

procedure TForm1.p2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p2.BevelInner:=bvRaised;

 p2.BevelOuter:=bvLowered;

end;


procedure TForm1.p3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p3.BevelInner:= bvLowered;

 p3.BevelOuter:= bvRaised;

end;

procedure TForm1.p3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p3.BevelInner:=bvRaised;

 p3.BevelOuter:=bvLowered;

end;


procedure TForm1.p4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p4.BevelInner:= bvLowered;

 p4.BevelOuter:= bvRaised;

end;

procedure TForm1.p4MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p4.BevelInner:=bvRaised;

 p4.BevelOuter:=bvLowered;

end;


procedure TForm1.p5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p5.BevelInner:= bvLowered;

 p5.BevelOuter:= bvRaised;

end;

procedure TForm1.p5MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

 p5.BevelInner:=bvRaised;

 p5.BevelOuter:=bvLowered;

end;


procedure TForm1.N1Click(Sender: TObject);

begin

 Randomize;

 ss:= zz;

 start(); //начало теста

end;


procedure TForm1.FormDestroy(Sender: TObject);

begin

 DeleteFile('c:base.bsd'); //удаляем расшифрованную базу

end


end.

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

Глава 14

Генератор шуток

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

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

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

Создайте новый проект Delphi. Для того чтобы выполнять периодические действия, нам понадобится компонент Timer категории System. Программа будет выполнять каждую минуту случайно выбранную шутку. Для того чтобы таймер срабатывал каждую минуту, необходимо присвоить свойству Interval значение 60000. Больше никаких свойств ни для формы, ни для таймера изменять не нужно.

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

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

procedure TForm1.FormPaint(Sender: TObject);

begin

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

end;

Здесь мы при каждой прорисовке формы скрываем ее из виду. При этом она не только будет скрыта визуально, но и исчезнет с панели задач, а также не будет отображаться на вкладке Приложения в диспетчере задач Windows.

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

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('SoftwareMicrosoftWindows' +

  'CurrentVersionRun', True)

 then begin

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

  reg.WriteString('Joker', path);

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

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

 end;

end;

Чтобы это все работало, необходимо добавить в раздел uses ссылку на модуль Registry. Теперь все готово для создания программных шуток . Сначала объявим все глобальные переменные в разделе var:

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; //координаты прямоугольника

Все шутки будут описаны в обработчике события таймера OnTimer.

Добавьте в этот обработчик следующий код:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

 JokeNum:= Random(10) + 1; //Выбираем случайный номер шутки

 case JokeNum of //выполняем шутку

 1: begin

  //код первой шутки

 end;

 2:

 begin

  //код второй шутки

 end;

 3: begin

  //код третьей шутки

 end;

 4: begin

  //код четвертой шутки

 end;

 5: begin

  //код пятой шутки

 end;

 6: begin

  //код шестой шутки

 end;

 7: begin

  //код седьмой шутки

 end;

 8: begin

  //код восьмой шутки

 end;

 9: begin

  //код девятой шутки

 end;

 10: begin

  //код десятой шутки

 end;

 end;

end;

Это шаблон для генератора шуток. Здесь выбирается случайное число от 1 до 10, которое будет определять, какую из шуток выполнить на этой минуте. Далее будут представлены фрагменты кода, выполняющие определенные действия, которые следует вставлять вместо комментария в соответствующую ветку конструкции case.

Шутка №1 — ограничение диапазона движения мыши

Итак, первая шутка заключается в наложении ограничения на диапазон движения мыши:


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

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


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

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

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.