![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
Помогите, пожалуйста разобраться:
Что не так? записывать записывает, но не сравнивает даты и период, а прордолжает дальше работать. //------------------------------------ В общем делаю ограничение пользования программой в днях Вообще, хотелось бы сделать, как в "Касперском", есть ключ на определенное время.Ты его устанавливаешь, пользуешься программой, истекает время, все - сообщение, выход из программы, берешь другой ключ. Мож подскажите, как можно такое реализовать. Это сообщение отредактировал(а) bems - 24.5.2010, 22:43 |
|||
|
||||
| cyberstream |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 7.9.2006 Репутация: нет Всего: 4 |
Код рабочий. Сабж реализует. Не под администратором по умолчанию нет разрешений на запись в HKEY_LOCAL_MACHINE. --------------------
Не знаешь кого спросить? - Спроси google! |
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
Код рабочий. Сабж реализует. - Что такое сабж???
А вообще я в правильную ветку записываю или нужно,мож в другую??? Это сообщение отредактировал(а) curumb - 24.5.2010, 22:51 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Кому нужно? Откуда же мы тут знаем, в какую ветку тебе нужно записывать? Добавлено через 1 минуту и 42 секунды А вообще после date и now разве скобки не нужны? date(), now() ? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| cyberstream |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 7.9.2006 Репутация: нет Всего: 4 |
Вопрос первый
Какая ветвь для чего. В твоём случае я бы использовал ту же. Скобки не нужны. Это Delphi. --------------------
Не знаешь кого спросить? - Спроси google! |
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
Спасибо за советы.
а за статью отдельное! |
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
И все равно почему-то не проверяет условие проверки даты -
if now-data<2 then begin // если прошло меньше 2 дней с момента записи в реестр, то освобождаю объект reg.free; end else if now-data>2 then begin//если прошло больше 2 дней с момента записи в реестр, то вывожу сообщение reg.free; ShowMessage('Действие лицензии истекло'); Form44.Close;// и закрываю все Form1.Close; просто работает как и работала... Не подскажите, в чем может быть дело? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
curumb, посмотри, какое значение у тебя в переменной data.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| cyberstream |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 7.9.2006 Репутация: нет Всего: 4 |
Вместе с датой и время в реестр пишется, считывается и сравнивается с now. С какой точностью будут отмеряться двое суток?
Не хочешь проверить data отладчиком - воткни ShowMessage
--------------------
Не знаешь кого спросить? - Спроси google! |
||||
|
|||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
ОК, попробую такие варианты...спс
|
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
С какой точностью будут отмеряться двое суток?
Точность особого значения не имеет...период приблизительный. Я в Delphi не особо силен, поэтому не знаю как отладчиком проверить дату, воспользовался представленным кодом - ShowMessage('Дата в реестре: '+DateTimeToStr(data)+ '. Разность: ' + FloatToStr(now-data)); //уберу, когда разберусь Дату в реестре почему то перезаписывает каждый раз при запуске, не скажите с чем может быть связано? |
|||
|
||||
| cyberstream |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 7.9.2006 Репутация: нет Всего: 4 |
По умолчанию RootKey установлено в HKEY_CURRENT_USER.
--------------------
Не знаешь кого спросить? - Спроси google! |
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry; data:TDateTime; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if not Reg.KeyExists('Software\RiseV1.0.0.0') then begin Reg.OpenKey('Software\RiseV1.0.0.0', true); Reg.WriteDate('1Rise', Date); Reg.CloseKey; end else if Reg.KeyExists('Software\RiseV1.0.0.0') then begin Reg.OpenKey('Software\RiseV1.0.0.0', false); data:=Reg.ReadDate('1Rise'); if now-data<1 then begin Reg.CloseKey; end else if now-data>1 then begin Reg.CloseKey; //здесь пишу: Form1.Close; - выдает ошибку и не закрывает приложение (Acces in violetion at address 0000000 - что-то такое) end; end; finally Reg.Free; inherited; end; end; ------------------------------------------------------------------------- Все работает. Единственное, что не получается, закрыть все приложение. Кто-нибудь может подсказать, как это сделать? Это сообщение отредактировал(а) curumb - 29.5.2010, 23:12 |
|||
|
||||
| curumb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
Разобрался, нашел: Application.Terminate все закрывает.
Всем спасибо кто откликнулся Это сообщение отредактировал(а) curumb - 29.5.2010, 23:34 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |