Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные по Дельфи_2011.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.3 Mб
Скачать

Лабораторная работа №6. Оператор ветвление в дельфи.

Цель: Закрепить навыки написания программ ветвления, познакомиться с элементом ShowMessage.

Создадим программу-пароль. Она будет работать следующим образом: При загрузке программа попросит ввести пароль, если Вы введете пароль правильно, программа напишет "Добро пожаловать", если пароль неверен — ответ будет "Посторонним вход воспрещен".

1. Откройте Delphi или создайте новый проект.

Для данной программы потребуются следующие элементы: компонент Label (для вывода надписей на экран), компонент Edit (для ввода пароля), 2 кнопки (подтвердить ввод и выход).

2. Поместите данные элементы на форму:

рис.1

рис. 2

3. Измените свойства Caption объектов. В объекте Edit — это свойство Text)

Логика программы: что мы хотим, как будет работать программа. При загрузке необходимо будет ввести пароль. При нажатии на кнопку ОК, программа проверяет, правильно ли был введен пароль (сравнивает строку в Edit со строкой в памяти компьютера), и если пароль верен, то выводит надпись "Добро пожаловать", а строку Edit прячет; если неправильно, то выводит на экран окно с сообщением, что пароль неверен.

4. Пишем обработчик события для клавиши ОК (2 раза щелкните по кнопке, и Вы окажетесь в редакторе кода в нужном месте:

рис. 3

5. Запустите программу клавишей F9. Проверьте, как ведет себя программа. Введите правильный и неправильный пароль. Ели пароль неверный то на экране должно появиться окно рис 4.

Вы не находите в нем ничего странного? Ведь мы написали оператор edit1.Text:='';, который должен был очистить строку ввода, а у меня там введенный пароль. На самом деле, все верно. Наш оператор стоит после строки ShowMessage — значит, он должен выполняться после него. И хотя компьютер вывел на экран сообщение (т.е. данное окно), работа оператора еще не завершилась. Оператор завершится, когда Вы нажмете ОК. И, действительно, как только Вы нажмете ОК, строка ввода очистится.

Рис. 4

Счетчик.

Давайте усовершенствуем программу так, чтобы пользователь мог лишь несколько раз ввести пароль, например, 3 раза. Чтобы решить данную проблему, нам понадобится счетчик. Счетчик — это специальная переменная, которая увеличивается на 1 при нужном событии.

8. Счетчиком будет переменная k. Значение переменной k должно увеличиваться когда введен неверный пароль, следовательно должно нужно обрабатывать события кнопки ОК по ветви "нет". Измените код кнопки, добавив в него строку: k:= k+1;

Далее нужно проверить, совершено ли данное событие 3 раза, т.е. k=3 или нет, и если так, то закрыть форму. Записать данную процедуру можно следующим образом:

if k=3 then form1.close;

Посмотрите, ваша процедура должна быть похожа на следующую:

procedure TForm1.Button1Click(Sender: TObject);

begin

if edit1.Text='qqq'

Then

begin

Label1.Caption:=' Добро пожаловать ';

edit1.Enabled:=false;

end

Else

begin

ShowMessage (' Посторонним вход воспрещен ');

edit1.Text:='';

edit1.SetFocus;

k:= k+1;

if k=3 then form1.close;

end;

end;

9. Теперь необходимо объявить новую переменную. Делается это в редакторе кода после раздела implementation. В разделе VAR:

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

11. В Инспекторе объектов выберите Form1, перейдите в раздел Events, и дважды щелкните напротив строки OnCreate (при создании). Откроется соответствующая процедура.

12.Введите оператор в открывшуюся процедуру :

procedure TForm1.FormCreate(Sender: TObject);

begin

k:=0;

end;

Самостоятельно:

Доделайте программу, чтобы она при неправильном пароле выводила надпись: У вас осталась 1 попытка ( или 2 или 3).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]