'РЛ" - НАЧИНАЮЩИМ
Ринат Мязитов
231306, Республика Беларусь,
Гродненская обл.,
Лидский р-н, г. Берёзовка,
ул. Ленина, д. 21 а, кв. 54.
E-mail: Ramil-333@tut.by
|
Сегодня мы с вами не будем делать какую-либо определенную
|
программу типа Paint и т. п., потому-что объяснение и создание
■ листинга займут не два и не три номера! Что ж е нас ждет сегодня?
Мы сделаем примитивную защиту своей программы, узнаем, как
вывести текст на экран поверх окон и как программно поменять
I
заставку на рабочем столе.
1. Заш ита программы .
Все мы видели различные вариан-
ты защиты у программ: например, с вве-
дением серийного номера, ключа и т.п.
Так вот мы с вами сегодня напишем ма-
ленькую защиту; сразу оговорюсь, что
это защита низкого уровня и ее я не ре-
комендую делать для коммерческих
программ.
Для начала давайте представим
сам механизм защиты: мы вводим дан-
ные и, если они совпадают, то нам раз-
решен доступ к программе.
Теперь составим подробную логи-
ческую цепочку:
- мы вводим пароль ((в окне (ТЕс№1)
на форме (БотЛ)) ->
- если наш пароль совпадает
- *
- мы открываем саму программу (
2
-
ю форму (Form2))
- *
-
если пароль не совпадает, то вы-
даем сообщение об ошибке.
Теперь осталось только это напи-
сать и реализовать на языке програм-
мирования.
У нас будет две формы (Forml,
Form2). На 1-й форме будет проходить
проверка пароля, а
2
-я форма - это
наша программа.
Открываем BorlandC++Builder. Пос-
ле чего добавляем 2-ю форму (Form2),
Rie
New
Form.
Теперь сделаем, чтобы наша про-
грамма приняла форму (Form2). Для
& Unitl.cpp
) Project - Clams
Unitl.cpp I UitfZçpp]
/ / -----------------------------------------------------------------------
Щ
in c lu d e < v c l.h >
flpregm a h d rs to p
P
in c lu d e " ü n i t l . h "
di
І
Рис. 1
/ / -
^pragm a package ( » m a r t_ in it)
pragm a re s o u rc e
. d fia "
T F o rin l * F o rm l;
/ / ------------------------------------------------------
__X a * t r a il T F o rin l: :TForxnl (TCowponent* Owner)
: TTorm (O wner)
<
)
/ / ------------------------------------------------------
этого в редакторе текста Unitl .срр пос-
ле строчки
#include “Unitl .h"
допишем
#include “Unit2.h” (рис. 1).
Теперь на Forml добавим кнопку
(Buttonl) и поле (Editl) (рис. 2), все эти
компоненты находятся на вкладке
Standard, на панели компонентов. В
Editl, в инспекторе объектов (Object
Inspector), в свойстве Text вместо Editl
пишем 0; для Buttonl в свойстве Caption
пишем “Готово”. Потом нажмем на нашу
Forml, и в свойстве Caption пишем
“Проверка пароля” (рис. 3). Если вам
не понятны проделанные действия, чи-
тайте предьщущие статьи автора!
Теперь осталось написать код за-
щиты (напомню, что логическую цепоч-
ку защиты мы составили с вами выше).
Мы понимаем, что пользователь, ког-
да ввел код, нажимает на кнопку (в на-
шем случае это кнопка “Готово”), пос-
ле чего идет проверка или сравнение
кода.
Двойным
щелчком нажи-
маем по нашей
кнопке “Готово” и
в появившемся
месте пишем код
(см. врезку
1
).
Project!
Попробуй ещб
J S
л
Рис. 4
с‘- Forml
В
Ш
• • ?
*• * Ч .* -
<*
?
;diti
*• * *
' »
* *
г :
: ; ; ; ; :
; ; ■
î*
;
Buttonl
І:
»
• -Ч
- *- -» Ч
* •' »
Рис.
2
* *. і* ч
* -•
і
Ч
.4
с/. Проверка пароля
Е Ш ®
Готово
Рис.3
l u
Int m;
. , " •
m = StrTolnt(Edit1->Téxt);
if (m== (123456))
:'V*&&v
4
d
' М
- e
’-.f'-
,
-гVI .
\\ m переменная (целочисленное)
.
5
\\ присваиваем т , код введенный пользователем с окна Editl
\\ если код, введенный пользователем, совпадает с правильным
кодом (123456);
Form
2
->Show();
\\ то открываем программу
else
-
;
\\ если не совпадает
«•
ShowMessage(" Попробуй ещё ");
\\ выдаем сообщение с текстом “Попробуй ещё” (рис. 4)
\\ и одновременно очищаем Edit
у
.
Editl ->Ciear();
'■і
28
U Радиолюбитель - 0 1 /2 0 0 8
предыдущая страница 28 Радиолюбитель 2008-01 читать онлайн следующая страница 30 Радиолюбитель 2008-01 читать онлайн Домой Выключить/включить текст