Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

Что-то вроде триалки:-)   Найти похожие ветки 

 
Bad_B   (2007-05-21 17:39) [0]

В общем задачка такая: сделать что-то типа триал-версии программы, если пользователь нажал >=5 определенную кнопку, то при следующем запуске прога просто "вырубалась". Осуществить через реестр.
Вот взгляните (за 20 мин набросал, но давно не программил), как можно по другому реализовать (или улучшить) задачу.

var
 Form1: TForm1;
 i:integer;
 off:boolean;
=====================
procedure tform1.WrReg;
var
 Registry: TRegistry;
begin
 Registry := TRegistry.Create;
 Registry.RootKey := hkey_local_machine;
 Registry.OpenKey("software\MyReg",true);
 Registry.WriteInteger("index",i);
 Registry.CloseKey;
 Registry.Free;
end;
=======================
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(i);
wrreg;
end;
=================
procedure TForm1.FormCreate(Sender: TObject);
var
Registry: TRegistry;
MyKey : HKey;
Buffer : array[0..1000] of char;
 hrt:integer;
 Err: longint;
begin
hrt:=0;
off:=false;
Err:=RegOpenKey(hkey_local_machine,"software\MyReg",MyKey);
 if Err<>ERROR_SUCCESS then
  begin
  wrreg;
  i:=0;
  end
  else
  begin
Registry := TRegistry.Create;
Registry.RootKey := hkey_local_machine;
Registry.OpenKey("software\MyReg",true);
hrt:=Registry.ReadInteger("index");
Registry.CloseKey;
Registry.Free;
  end;

if hrt>=5 then
 begin
   showmessage("Registry time over");
   off:=true;
 end
else
  wrreg;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if off then
form1.Close;
end


 
Jeer ©   (2007-05-21 18:18) [1]

"Если работает - не трогай".


 
Bad_B   (2007-05-21 19:23) [2]


> Jeer ©   (21.05.07 18:18) [1]
> "Если работает - не трогай".

Да, работать то оно работает, НО... имхо, не совсем корректно закрывать приложение по движению курсора если количество нажатий на кнопку больше или равно количеству доступных...
А так в принципе пойдет, то вот то что указал смущает, а как сделать корректно не могу сообразить((


 
Johnmen ©   (2007-05-21 19:33) [3]

Т.е. как работать с реестром сообразил (?), а как реализовать элементарную логику не знаешь???

Не люблю лгунов (с)


 
Bad_B   (2007-05-21 19:48) [4]


> Johnmen ©   (21.05.07 19:33) [3]

как работать с реестром не сообразил, а научился (вот отсюда читал как и что, ну и думал конечно http://bookz.ru/authors/avtor-neizvesten-3/delphiregry.html )

ну так что получается помощи ждать неоткуда?!....


 
{RASkov} ©   (2007-05-21 19:55) [5]

> не совсем корректно закрывать приложение по движению курсора

На Таймер повесь.... шутка конечно...
Или на нажатии кнопок проверяй значение i...
Пересмотри заново свой алгоритм программы... очень не красиво.
А зачем сразу закрывать, пусть уж последний раз полностью отработает, при зарытии предупредит, что мол, всё.... курИте....



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
15-1178898672
Ringo
2007-05-11 19:51
2007.06.10
Женюсь, ей-богу женюсь, честное, благородное слово!(Паниковский).


10-1126739002
TStas
2005-09-15 03:03
2007.06.10
Как с экселе обвести рамочками диапазон?


3-1174556149
dolmat
2007-03-22 12:35
2007.06.10
Изменение свойств поля


15-1178977274
parus
2007-05-12 17:41
2007.06.10
TV Tuner


15-1178973372
>>DEATH<<
2007-05-12 16:36
2007.06.10
компоненты для MAIL.RU AGENT