//--------------------------------------------------------------- 1 --
extern int Parol=12345;
//--------------------------------------------------------------- 2 --
int start() // Спец. функция start
{
if(Check()==false) // Если условия использования..
return; // ..не выполняются, то выход
// Здесь должен быть указан основной код программы
Alert("Исполнение программы"); // Алерт для примера
return; // Выход из start()
}
//--------------------------------------------------------------- 3 --
bool Check() // Пользов. функция проверки ..
{ // .. условий использования
if (IsDemo()==true) // Если это демо-счёт, то..
return(true); // .. других ограничений нет
if (AccountCompany()=="SuperBank") // Для корпоративных клиентов..
return(true); // ..пароль не нужен
int Key=AccountNumber()*2+1000001; // Вычисляем ключ
if (Parol==Key) // Если пароль верный, то..
return(true); // ..разрешаем работу на реале
Alert("Неправильный пароль. Эксперт не работает.");
return(false); // Выход из пользов. функции
}
//--------------------------------------------------------------- 4 --
В данном примере необходимая проверка выполняется в первых строках специальной
функции start (блок 2-3):
if(Check()==false) // Если условия использования..
Если в результате выполнения проверки пользовательская функция Check() (блок 3-4)
вернула false, то управление передаётся на оператор return и специальная функция start()
заканчивает работу. Основной код программы располагается непосредственно после
указанной проверки. В результате успешной проверки функция Check() вернёт true, в этом
случае основной код программы будет исполнен.
В пользовательской функции Check() выполняется проверка по трём критериям:
- является ли счёт демонстрационным;
- принадлежит ли сервер корпоративному клиенту;
- подходит ли пароль к реальному счёту.
Для проверки по первому критерию используется функция IsDemo().
516