Пример программы к лабораторной работе 1. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пример программы к лабораторной работе 1.

Поиск

TEdit

Этот компонент представляет из себя текстовое поле ввода. У него есть такие же свойства как и у TButton.

Основные cвойсва:
Text — это текст который введен;
ReadOnly — разрешенн ли ввод;
MaxLength — максимальная длинна текста. Измеряется в колличестве символов;
HideSelection — будет ли сниматься выделение с текста при потере компонентом фокуса;
PasswordChar — символ отображаемый вполе вместо всех других символов - используется для скрытия пароля;

Основные события:
onChange — происходит при любом изменении отображаемого текста;
onClick — происходит при клике по компоненту;

Все остальные свойства аналогичны свойствам формы. Свойства формы рассмотренны в третьем уроке

Научимся программно извлекать введенные данные, а также записывать в поле. Для этого выложиv на форму 2 Button и 1 Edit.

Создаем событие по клику на первую кнопку и пишем следующий код:

ShowMessage('В Edit1 написан текст: '+Edit1.Text);

Текст "В Edit1 написан текст: " будет выводиться всегда во всех сообщениях. К нему мы прибавляем Edit1.Text, т.е. строчку содержащую текст введенный в Edit.

А по нажатию на вторую кнопку будем в поле Edit1 присваивать что-нибудь свое.

Edit1.Text:='Текст изменился';

В итоге у Вас должно получиться 2 процедуры:

procedure TForm1.Button1Click(Sender: TObject);begin ShowMessage('В Edit1 написан текст: '+Edit1.Text);end; procedure TForm1.Button2Click(Sender: TObject);begin Edit1.Text:='Текст изменился';end;

Запускаем программу и пробуем.

Сохранить проект, открыть.


 

Компьютер загадывает число случайным образом от 0 до 100. Пользователь вводит число, пытаясь его угадать. Программа соответственно отвечает больше число, которое загадано, или меньше. Например если компьютер загадал число 45, а пользователь ввел число 50, то программа должна ответить: "Меньше".

Итак. Приступим. Создайте новый проект. Выложите, для начала, на форму компоненты: TButton, TEdit. В TEdit пользователь будет вводить своё число, а ввод будет подтверждать нажатием на кнопку.

Дальше необходимо реализовать загадывание числа. Объявим переменную x типа Byte в глобальном блоке Var (в ней будет храниться загаданное число):

var x: Byte;

У новичков может возникнуть вопрос: куда же это писать? Где этот блок Var? Если вы создали пустое приложение, то в коде программы встречается только одно слово Var. Вот туда и добвить. Будет выглядеть это так:

var
Form1: TForm1;
x: Byte;

Хорошим тоном прогарммирования считается написание комментариев к коду, называемых ремарками. В маленьких программках, подобных этой, это не так принципиально, но в больших проектах без них просто не обойтись. Ремарки пишутся просто - текст самого комментария заключается между фигурными скобками. Можно и подругому - двойным символом дроби ("//"). Но в отличии от предыдущего случая кремаркой будет только одна строка. Также можно и так: "(*" - для открытия ремарки, "*)" - для закрытия ремарки. Такой тип ремарок используется в особом случае. Он "перекрывает" все виды ремарок. Т.е. если написанна ремарка фигурными скобками, а перед ней и после нее необходимо все закоментировать то уже помещается это в такой тип ремарок. Если же пользоваться фигурными скобками то самая верхняя ремарка дойдет до закрытия следующей ремарки. Ну тут просто нужно попробовать и разобраться. Знания эти не лишние - пригодятся. Давайте добавим ремарку:

var
Form1: TForm1;
x: Byte; // загаданное число

Переменную то объявили теперь нужно в неё поместить значение. Делать это будем все по созданию формы. Кликаем по форме два раза и пишем:

procedure TForm1.FormCreate(Sender: TObject);
begin
{Инициализация генератора случайных чисел}
Randomize;
x := Random(101); // присваиваем случайное число
end;

Итак, число загадали. Обратите внимание, что написано не 100 а 101. При таком значении максимальным случайным числом может быть 100, а минимальным - 0. Теперь нужно его сравнивать с введенными пользователем числами. Как я уже говорил подтверждение ввода будет осуществляться нажатием на кнопку. Там же и будет происходить сравнение. Но нужно будет выводить ответ программы (больше или меньше). Для этого выложим на форму TLabel. Кликнем по кнопке два раза, тем самым создадим процедуру которая будет выполняться по клику на кнопке. Отредактируйте так:

procedureTForm1.Button1Click(Sender: TObject);
var Ent: byte;
begin
Ent := StrToInt(Edit1.Text);
ifEnt > x thenLabel1.Caption := 'Меньше';
ifEnt < x thenLabel1.Caption := 'Больше';
ifEnt = x thenShowMessage('Вы угадали !');
end;

Я ввел переменную Ent и в нее присваивал введенное число. Потом его сравнивал и выводил результат сравнения.

Впринципе играть уже можно, но не интересно! Нужно сделать колличество попыток. Добавим также глобальную переменную k типа Byte. Но немного по особому:

k: byte = 10;

Такая запись означает что в переменной автоматически будет храниться число 10. Его уже не нужно будет присваивать. Добавим на форму еще один TLabel. Теперь немного изменим код происходящий по нажатию на кнопку. Снова щелкнем по кнопке два раза и увидем знакомый код. Конечно же можно его найти вручную. Отредактируем так:

procedure TForm1.Button1Click(Sender: TObject);
var Ent: byte;
begin
Ent := StrToInt(Edit1.Text);
if Ent > x then Label1.Caption := 'Меньше';
if Ent < x then Label1.Caption := 'Больше';
if Ent = x then ShowMessage('Вы угадали !');
Dec(k);
Label2.Caption := IntToStr(k);
if k = 0 then ShowMessage('Вы проиграли !');
end;

Dec(k) - уменьшить значение находящееся в переменной k на 1. Inc - увеличить на 1. Можно написать тоже самое но по другому: k:=k-1; Например если нужно уменьшить переменную k на 3 то пишем: Dec(k, 3). Точно также и с Inc. Ну а в Label2 выводится колличество оставшихся попыток.

Ну вот вобщем-то и все, осталось только навести порядок и сделать аккуратный интерфейс программы. Чтобы пользователю было удобно. Как раз сейчас и будем это делать.

Свойство Textу Edit1измените на пустую строку, т. е. вообще сотрите все что там написано.

Текст на кнопке обязательно нужно переименовать на что-нибудь понятное. Например, на "OK".

Свойство Captionу Label1поменяйте на "Загадано число от 0 до 100". А у Label2 поменяйте на "10".

Измените свойство Caption у формы (строка заголовка у окна). Установите нужные размеры формы, чтобы небыло так, что на форме 5 компонентов, расположенных в углу, а остальное пространство формы пустое. Установите свойство Position у формы в poScreenCenter, чтобы при запуске программы она появилась в центре экрана. Также нужно сделать так, чтобы размеры формы нельзя было изменять пользователю. Свойство BorderStyle можно установить например в bsToolWindow.

Если у вас установлена операционная система Windows XP и выше, то вы, наверное, заметили, что компоненты немного другого стиля. Исправить это можно добавив модуль XPManв раздел Uses.

Также можно украсить программу написав название программы и поместив его в верхнюю часть формы. Размер шрифта у Label2 можно сделать покрупнее. Вобщем тут уже дело вашей фантазии. Программу можно еще немного развить сделав красивые окна сообщающие о выигрыше или проигрыше. Сделать начало новой игры.

 

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 32; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.007 с.)