CODE:
#definefile "C:\Users\Home\Desktop\МОЁ\Kibor\Constants.txt";//скачайте ниже, изменить путь
char Text_File[100000];
string Elements[999];
string User_Box, Date_Box, Information_Box;
string Jump = formatic(13)+formatic(10);
string Local_User = individualcode();//ключ, получаемый при запуске программы
int Registered_User;
int Checked_User;
int Difference;
int Result;
char License[255];
string temp_fold = tempfolder();
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
string Settings_File_Path = temp_fold+"Settings.ini";
//могут быть лишние переменные.
function Check_License(string Type)
{
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
Strftime(address(#Date[0]), sizearray(Date), "%d.%m.%Y", Hour, Minute, Second, Day, Month, Year);
if (Type == "MessageBox")
{//изменить свой фтп на
if (sendgetweb(#Text_File[0], "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914)", "GET", "http:/"+"/сайт.zzz.com.ua", "тестовый License.txt") > 0)
{
int Boxes = regexsearch(sizearray(Elements), #Elements[0], format(#Text_File[0]), "[^;]+(?=;|$)");
if (Boxes != 0)
{
for(int ii=0; ii<Boxes; ii++)
{
if(regexsearch(1, #User_Box, Elements[ii], "^.+?(?=\/)"))
{
if (User_Box == Local_User)
{
regexsearch(1, #Date_Box, Elements[ii], "(?<=\/)[\d\.]+(?=\/)");
regexsearch(1, #Information_Box, Elements[ii], "[^\/]+(?=;|$)");
Result = Date_Compare(format(#Date[0]), Date_Box, #Difference);
Checked_User = 1;
break;
}
else
{
Checked_User = 0;
}
}
}
}
}
else
{
MessageBeep(MB_ICONEXCLAMATION);
my_message(0, "Не удается подключиться к серверу. Пожалуйста повторите попытку позже." , "", MB_OK | MB_ICONERROR | MB_TOPMOST);
}
//============================
if (Checked_User == 1)
{
if (Result == 2)
{
Registered_User = 1;
if(fopen(Settings_File_Path, "r") != 0)
{
fclose();
GetPrivateProfileString ("Another", "License_Message", 0, address(#License[0]), 255, Settings_File_Path);
if (format(#License[0]) != "1")
{
MessageBeep(MB_OK);
my_message(0, "Поздравляем! Спасибо, что купили наш бот. "+Jump+"Программа будет работать только на этом компьютере."+Jump+Jump+
"Купил/(Причина): "+Information_Box+Jump+
"Для: "+User_Box+Jump+
"До: "+Date_Box+"(осталось: >"+format(Difference)+" дней)", "", MB_OK | MB_ICONINFORMATION | MB_TOPMOST);
WritePrivateProfileString ("Another", "License_Message", "1", Settings_File_Path);
}
}
}
//============================
if (Result == 1 || Result == 0)
{
Registered_User = 0;
if(fopen(Settings_File_Path, "r") != 0)
{
fclose();
GetPrivateProfileString ("Another", "License_Message", 0, address(#License[0]), 255, Settings_File_Path);
if (format(#License[0]) != "0")
{
MessageBeep(MB_ICONEXCLAMATION);
my_message(0, "У вас не полная версия программы. "+Jump+"Часть функционала работать не будет." , "", MB_OK | MB_ICONINFORMATION | MB_TOPMOST);
WritePrivateProfileString ("Another", "License_Message", "0", Settings_File_Path);
}
}
}
}
else
{
if(fopen(Settings_File_Path, "r") != 0)
{
fclose();
GetPrivateProfileString ("Another", "License_Message", 0, address(#License[0]), 255, Settings_File_Path);
if (format(#License[0]) != "0")
{
MessageBeep(MB_ICONEXCLAMATION);
my_message(0, "У вас не полная версия программы. "+Jump+"Часть функционала работать не будет." , "", MB_OK | MB_ICONINFORMATION | MB_TOPMOST);
WritePrivateProfileString ("Another", "License_Message", "0", Settings_File_Path);
}
}
}
}
//============================
if (Type == "Action")//при вызове без сообщений(Тихо) проверит лицензию и отключит контролы, например, при открытии настроек и обнулит сохраненые контролы в файле всегда будут равны 0, пока не будет активация лицензии
{
if (Registered_User == 1)
{
//доработал в уме) ну тут просто реально, просто я пока удалил этот код, но помню что тут должно быть
}
else
{
//доработал в уме) ну тут просто реально, просто я пока удалил этот код, но помню что тут должно быть
}
}
}