Главная страница
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.033 c
15-1179167527
@!!ex
2007-05-14 22:32
2007.06.10
1С под Linux


15-1179200465
Сынок
2007-05-15 07:41
2007.06.10
Как определиться с профессией?


6-1164041827
NiGGa
2006-11-20 19:57
2007.06.10
PPPoE соединение


2-1179799348
unnamed777
2007-05-22 06:02
2007.06.10
как убить процесс??


5-1155721962
vodvorezlaya
2006-08-16 13:52
2007.06.10
помогите найти компоненты для пработы с USB