Delphi. Учимся на примерах
Шрифт:
Разработка формы
Создайте новый проект Delphi и измените свойства формы согласно табл. 10.1.
Таблица 10.1. Свойства формы программы входа в систему
Свойство | Значение | Пояснение |
---|---|---|
Caption | Очистить заголовок | |
Align | alCustom | Запрет на перемещение окна |
ВorderStyle | bsNone | Убираем
|
FormStyle | fsStayOnTop | Окно программы будет всегда расположено поверх других окон |
Position | poDesktopCenter | |
Height | 130 | Высота |
Width | 130 | Ширина |
Разместите на форме компонент Label категории Standard и измените его свойства согласно табл. 10.2.
Таблица 10.2. Свойства компонента
Свойство | Значение | Пояснение |
---|---|---|
Caption | Logon | Надпись метки |
Font.Color | clNavy | Цвет текста — темно-синий |
Font.Size | 20 | Размер шрифта |
Font.Style | [fsBold] | Начертание шрифта — полужирное |
Left | 16 | Отступ слева |
Тор | 0 | Отступ сверху |
Разместите под меткой компонент Edit категории Standard и присвойте его свойству Name значение pass. Для того чтобы скрыть ввод текста (то есть, вводимый пользователем пароль), следует указать в свойстве PasswordChar символ, который будет отображаться вместо вводимого текста. Можно указать здесь символ "*" или, например, знак доллара "$".
Под полем pass разместите кнопку (компонент Button категории Standard) и присвойте ее свойству Caption значение Enter. По нажатию этой кнопки будет выполняться проверка корректности пароля.
Еще нам потребуется два компонента Timer категории System. Для первого таймера необходимо изменить значение свойства Interval на 10, для второго никаких свойств изменять не нужно.
Результат оформления формы должен соответствовать рис. 10.1.
Рис. 10.1. Форма для программы входа в систему
Разработка программного кода
Объявим в качестве закрытых членов класса формы переменную типа HWND и две процедуры, которые разработаем чуть позже:
Теперь в разделе implementation создадим сами процедуры. Сначала процедура check:
Процедура check проверяет корректность пароля. В данном случае в качестве пароля используется слово "password". Если в поле pass введено именно это слово, то разблокируем Рабочий стол и панель задач. После этого доступ ко всему открыт, и мы завершаем работу программы. Если же введенный пользователем текст не совпадает с корректным паролем, то мы продолжаем требовать ввод пароля.
Теперь очередь процедуры logon:
Здесь мы блокируем Рабочий стол и панель задач, а затем проверяем, не пытается ли пользователь отключить нашу программу с помощью диспетчера задач. Если окно диспетчера задач открыто, то закрываем его.