Главная страница
    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.45 MB
Время: 0.043 c
1-1176810767
Dima63
2007-04-17 15:52
2007.06.10
Как развернуть окно без анимации


15-1178253943
Torry
2007-05-04 08:45
2007.06.10
Интервью в Мире ПК


15-1178788010
elserpiente
2007-05-10 13:06
2007.06.10
Профайлер под BDS2006


15-1179055784
boriskb
2007-05-13 15:29
2007.06.10
И все таки (старый спор)


15-1179481611
stone
2007-05-18 13:46
2007.06.10
Экономика по-нашему :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский