Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 19.05.2008, 19:48
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Данные о сроке использования можно записывать или в БД или в реестр.
Я бы так делал.
В базе данных создал в БД таблицу с одним полем (формат дата) и при запуске программы проверял бы есть там запись или нет. Если нет (значит первый запуск) то записываем в это поле текущую дату. Если есть то берем разницу между сегодняшней датой и (датой записанной в БД +30 дней) и выдаем нужное сообщение.
Ответить с цитированием
  #17  
Старый 19.05.2008, 21:36
Dissonance Dissonance вне форума
Прохожий
 
Регистрация: 19.05.2008
Сообщения: 15
Репутация: 10
По умолчанию

я не понимаю как эта прога будет без моего вмешательства всё это сверять. Код мне надо примерный код
Ответить с цитированием
  #18  
Старый 19.05.2008, 21:38
Dissonance Dissonance вне форума
Прохожий
 
Регистрация: 19.05.2008
Сообщения: 15
Репутация: 10
По умолчанию

я всё это понимаю но мне нужно примерный код как это сделать. от текста пользы мало. я не понимаю как это написать. Я в делфи мало чего знаю вот и обратился к вам
Ответить с цитированием
  #19  
Старый 19.05.2008, 22:57
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Ну может что то типа этого...Для начала конечно надо создать таблицу в БД. 1- поле id - ключевое, 2- поле - data -дата.
Код:
Var d:Integer;  
  if DM.ADOTable1.RecordCount=0 then
     begin
        DM.ADOTable1.Edit;
        DM.ADOTable1.FieldByName('data').AsDateTime:=now;
        DM.ADOTable1.Post;
        MessageDlg('Срок действия лицензии составляет 30 дней.", mtInformation, [mbOk], 0)
     end
     else
     begin
       if (now+30)> (DM.ADOTable1.FieldByName('data').AsDateTime) then
       begin
          d:=DaysBetween(now+30,(DM.ADOTable1.FieldByName('data').AsDateTime));
          MessageDlg('До истечения лицензии осталось '+IntToStr(d)+' дней', mtInformation, [mbOk], 0)
       end
       else
       begin
           MessageDlg('Срок действия лицензии истек!', mtInformation, [mbOk], 0);
       end;
     end;
И конечно нужно предусмотреть, если лицензия закончилась чтобы программа закрывалась.
Ответить с цитированием
  #20  
Старый 20.05.2008, 20:03
Dissonance Dissonance вне форума
Прохожий
 
Регистрация: 19.05.2008
Сообщения: 15
Репутация: 10
По умолчанию

Ок. Спасибо а какие компоненты ты на форму помещал??? Ведь не только код???
Ответить с цитированием
  #21  
Старый 20.05.2008, 20:22
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Для данного кода только ADOTable1, который соединил с таблицей с датой.
Если у тебя база данных я так понимаю на форме уже должен быть ADOConnection и соответствующие компоненты ADOTable, ADOQuery, ADODataSet и т.п.
Ответить с цитированием
  #22  
Старый 21.05.2008, 09:41
Dissonance Dissonance вне форума
Прохожий
 
Регистрация: 19.05.2008
Сообщения: 15
Репутация: 10
По умолчанию

Ок спасибо большое
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter