Главная страница
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.08 c
15-1179225601
7555545
2007-05-15 14:40
2007.06.10
Комп не включаеться!


15-1179152262
denis24
2007-05-14 18:17
2007.06.10
сохранение настроек IDE


15-1178787861
Vlad Oshin
2007-05-10 13:04
2007.06.10
Почему то сбилось нахождение кода по щелчку в ObjectInspector


1-1176385878
random(255)
2007-04-12 17:51
2007.06.10
Mathlab и Delphi


1-1176700809
bss
2007-04-16 09:20
2007.06.10
Как установить свой фонт для контролов при Enabled=false