Сергей Парижский - 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. Учимся на примерах - читать книгу онлайн бесплатно, автор Сергей Парижский
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

ch2.Enabled:= True;

рl2.Enabled:= True;

end;

end;

Осталось только обработать нажатие кнопки Новая игра:

procedure TForm1.Button1Click(Sender: TObject);

begin

if ((StrToInt(finish.Text) > StrToInt(start.Text)) and (StrToInt(start.Text) > 0) and (StrToInt(finish.Text) < 60000))

then{проверяем, не выходит ли заданное пользователем число за допустимые пределы}

{загадаем случайное число в заданном диапазоне}

num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text)

else ShowMessage('Неверный диапазон!');

//обнуляем все, и придаем программе начальный вид

znak1.Caption:= '';

znak2.Caption:= '';

ch1.Enabled:= True;

ch2.Enabled:= False;

pl1.Enabled:= True;

pl2.Enabled:= False;

x.Caption:= 'X';

ch1.Text:= '0';

ch2.Text:= '0';

//очистим массивы наибольших и наименьших чисел

for i:= 1 to kolvo+1 do begin

minimum[i]:= 0;

maximum[i]:= 0;

big:= StrToInt(finish.Text);//наибольшее число

small:= StrToInt(start.Text);//наименьшее число

end;

kolvo:= 0;//количество использованных попыток

end;

После того как пользователь указал диапазон, в котором должно находиться случайное число, мы проверяем, не является ли конечное значение меньше начального. Проверяем также, не является ли начальное значение меньше нуля и не превышает ли конечное значение 60000. Если все нормально, то загадываем число в заданном диапазоне. После этого обнуляем все значения и приводим программу к начальному виду.

Компилируем и запускаем программу на выполнение. Игра в действии показана на рис. 9.2.

Рис. 9.2. Игра "Угадывание чисел" в действии

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

Полный исходный код программного модуля игры "Угадывание чисел" представлен в листинге 9. 1.

Листинг 9.1. Программный модуль игры "Угадывание чисел"

unit Unit1;

interface

uses

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

type TForm1 = class(TForm)

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

start : TEdit;

finish: TEdit;

Label3: TLabel;

pl1: TLabel;

ch1: TEdit;

pl2: TLabel;

ch2: TEdit;

comp: TCheckBox;

Button2: TButton;

x: TLabel;

znak1: TLabel;

znak2: TLabel;

procedure FormCreate(Sender: TObject);

procedure compClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

procedure min();

procedure max();

public

{ Public declarations }

end;

var

Form1: TForm1;

num, j, i, kolvo, big, small: integer;

maximum, minimum: array [1..100] of integer; {массивы максимальных и минимальных чисел}

implementation

{$R *.dfm}

//процедура нахождения наименьшего числа

procedure TForm1.min();

begin

for i:=1 to kolvo do begin

for j:=1 to kolvo do begin

{Если число меньше наименьшего, то оно становится наименьшим}

if minimum[j] > small then small:= minimum[j];

end;

end;

end;

//процедура нахождения наибольшего числа

procedure TForm1.max();

var temp: integer;

begin

temp:= StrToInt(finish.Text);

for i:=1 to kolvo do begin

for j:=1 to kolvo do begin

if temp > maximum[j] then

if maximum[j] > 0 then temp:= maximum[j]; {если число больше наибольшего…}

end;

end;

if ( (temp<>0) and (temp<>StrTolnt(finish.Text)) ) then

{… и если число входит в допустимый диапазон, то оно становится наибольшим}

big:= temp;

end;

procedure TForm1.compClick(Sender: TObject);

begin

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

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

ch2.Enabled:= False;

рl2.Enabled:= False;

//включаем ввод от первого игрока

ch1.Enabled:= True;

pl1.Enabled:= True;

end

else begin

//если игра идет с человеком, то

//включаем ввод для второго игрока

ch2.Enabled:= True;

рl2.Enabled:= True;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if ((StrToInt(finish.Text) > StrToInt(start.Text)) and (StrToInt(start.Text) > 0) and (StrToInt(finish.Text) < 60000))

then {проверяем, не выходит ли заданное пользователем число за допустимые пределы}

{загадаем случайное число в заданном диапазоне}

num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text)

else ShowMessage('Неверный диапазон!');

//обнуляем все, и придаем программе начальный вид

znak1.Caption:= '';

znak2.Caption:= '';

ch1.Enabled:= True;

ch2.Enabled:= False;

pl1.Enabled:= True;

pl2.Enabled:= False;

x.Caption:= 'X';

ch1.Text:= '0';

ch2.Text:= '0';

//очистим массивы наибольших и наименьших чисел

for i:= 1 to kolvo+1 do begin

minimum[i]:= 0;

maximum[i]:= 0;

big:= StrToInt(finish.Text); //наибольшее число

small:= StrToInt(start.Text); //наименьшее число

end;

kolvo:= 0; //количество использованных попыток

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

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

kolvo:= kolvo + 1;

if not comp.Checked then //если идет игра с человеком

begin

if pl1.Enabled then begin //если ход первого игрока

//если вариант больше загаданного числа, ставим знак >

if StrToInt(ch1.Text) > num then znak1.Caption:= '>';

//если вариант меньше загаданного числа, ставим знак <

if StrToInt(ch1.Text) < num then znak1.Caption:= '<';

if StrToInt(ch1.Text) = num then //если число угадано

begin

znak1.Caption:= '='; //изменим знак на "="

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

х.Caption:= IntToStr(num);

//выводим сообщение о победе первого игрока

ShowMessage('Победил первый игрок!' + #13#10 + 'Число угадано за ' + IntToStr(kolvo) + ' попытки')

end;

//передаем ход второму игроку

pl1.Enabled:= False;

ch1.Enabled:= False;

ch2.Enabled:= True;

pl2.Enabled:= True;

Exit; //прерываем выполнение процедуры

end;

if pl2.Enabled then begin //если ход второго игрока

{сравниваем загаданное число с вариантом второго игрока и ставим соответствующий знак}

if StrToInt(ch2.Text) > num then znak2.Caption:= '>';

if StrToInt(ch2.Text) < num then znak2.Caption := '<';

if StrToInt(ch2.Text) = num then begin

znak2.Caption := '=';

x.Caption:= IntToStr(num);

ShowMessage('Победил второй игрок!' + #13#10 + 'Число угадано за ' + IntToStr(kolvo) + ' попытки')

end;

end;

//передаем ход первому игроку

рl2.Enabled:= False;

ch2.Enabled:= False;

ch1.Enabled:= True;

pl1.Enabled:= True;

Exit;

end;

if comp.Checked then begin //если игра против компьютера

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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