Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
саша40
-46 / 291 / 47
Регистрация: 14.08.2012
Сообщений: 2,565
1

Работы над активацией программы

08.09.2012, 21:01. Просмотров 560. Ответов 2
Метки нет (Все метки)

Привет. Ребята и форумчане можете мне просто помочь создать активацию программы. Хочу защитить свою программу и уже почти всё готово. Осталось только: функция по смене активационой переменой(поидее я уже понял как её создать, но могут быть ошибки); Правильное сохранение и чтение и сравнение переменой; Правильное чтение, сохранение и слаживание, и сравнение дат;
Сначала начнём с дат:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var f:Textfile; s: string; s1:TDate;
d1:TDate;
begin
... //код
sysutils.CreateDir(extractfilepath(application.exename) + 'Activate'); //создаем папку 
читаем дату 
AssignFile(f,'Activte/date.ini'); 
{$I-} 
Reset(f);
{$I+}
if IOResult=0 then begin
readln(f,s);
CloseFile(f);
d1:=strtodate(s);
s1:=strtodate(s)+30;
... //код
Delphi
1
2
3
4
5
6
7
8
9
10
11
var f: Textfile;
begin
if not FileExists('Activate/date.ini') then //выполнится только если нету файла 
begin
//записываем дату
assignfile(f,'Activate/date.ini');
rewrite(f);
writeln(f,d);
closefile(f);
end;
...//код
Delphi
1
2
Label18.Caption:='Дата:' + datetostr(date);
d:=datetostr(date); //переменая d- глобальная
Ещё сравнение, но тут и переменая:
Delphi
1
2
3
4
5
6
... //код
if (strtodate(d)=s1) and (b=false) then
begin
ShowMessage('Истёк срок пробной версии(30 Г¤Г*ГҐГ©)! Активируйте программу'); //ввыводим сообщение
Form2.Show; //открываем активационую форму
end;
Переменая:
Delphi
1
2
3
4
5
6
7
8
9
10
11
 var ... f1:file of byte;
n:byte;
B:boolean;
begin
... //код 
//чтение
AssignFile(f1,'Acttivate/Active.Byte');
Reset(f1); read(f1,n); CloseFile(f1);
b:= Boolean(n);
end;
... //код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 var ... 
f1: file of byte;
B:boolean;
v: byte;
begin
... //код
//запись 
if  not FileExists('Activate/Active.Byte') then exit
else
begin
AssignFile(f1,'Activate/Active.Byte');
rewrite(F1);
b:=false;
v := Ord(b);
write(f,v);
closefile(f);
Можете пожалуйста проверить правильно ли я всё написал? Очень надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2012, 21:01
Ответы с готовыми решениями:

Результат работы программы
Результатом работы моей программы является текстовый файл (расширение отличное...

Разделение работы программы на два процесса
Суть такова. Условно говоря, есть две программы, которые выполняют две разные...

Смена позиции кнопки во время работы программы
Здравствуйте. Подскажите как сделать, чтобы когда наводишь мышкой на кнопку, ее...

Смена кэмпшна колонки во время работы программы.
Мой вопрос вот какой!!! Есть DBGrid(правда он не стандартный). Необходимо...

Ограничение времени работы программы (триальный период)
Привет всем! Необходимо сделать пробный период для программы к примеру 30...

2
Nutserus
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 608
09.09.2012, 00:30 2
Все что ты пишешь это бред сумашедшего.

Delphi
1
2
3
4
5
6
7
8
sysutils.CreateDir(extractfilepath(application.exename) + 'Activate'); //создаем папку 
читаем дату 
AssignFile(f,'Activte/date.ini'); 
{$I-} 
Reset(f);
{$I+}
if IOResult=0 then begin
readln(f,s);
Ты создал папку и пытаешься прочитать из нее файл, откуда ему взяться там, если ты только что создал эту папку? Ну это наивысший тупизм.
0
саша40
-46 / 291 / 47
Регистрация: 14.08.2012
Сообщений: 2,565
09.09.2012, 13:59  [ТС] 3
Цитата Сообщение от Nutserus Посмотреть сообщение
Все что ты пишешь это бред сумашедшего.

Delphi
1
2
3
4
5
6
7
8
sysutils.CreateDir(extractfilepath(application.exename) + 'Activate'); //создаем папку 
читаем дату 
AssignFile(f,'Activte/date.ini'); 
{$I-} 
Reset(f);
{$I+}
if IOResult=0 then begin
readln(f,s);
Ты создал папку и пытаешься прочитать из нее файл, откуда ему взяться там, если ты только что создал эту папку? Ну это наивысший тупизм.
При первом запуске проги файл даты не читается, потому что отсутвует. Сам код чтенения находится в конце процедуры открытия и поэтому читается в последнею очедередь. Файл даты создатся только после закрытия программы и переменой создатся только после закрытия проги.

Добавлено через 37 минут
спасибо за помощь я уже закончил делать активацию остались мелочи.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 13:59

Обработка аварийного завершения работы программы
Здравствуйте, при работе с базами данных делаю первые шаги и недавно столкнулся...

SQLConnection - изменение HostName во время работы программы
Здравствуйте! Как изменить в компоненте SQLConnection значение HostName во...

Работы над ошибками
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru