Solved

Timed Usage

Posted on 1998-12-12
10
141 Views
Last Modified: 2010-04-04
How can I set my program so that it will only run for a set number of days from date of installation. As in a lot of shareware programmes. I presume this is something to do with dates and registry?
0
Comment
Question by:xpher
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 5

Expert Comment

by:scrapdog
ID: 1350811
>I presume this is something to do with dates and registry?

Yes.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1350812
Just write the installation date to the registry (HKEY_LOCAL_MACHINE\Software\YourCompany\YourProgram\...). Then test on startup if the test period is gone by comparing the date from the registry with the current date.
Probably you should encrypt the registry value somehow...

Regards, Madshi.
0
 
LVL 1

Author Comment

by:xpher
ID: 1350813
Madshi
Sounds good. How?
Excuse me quite new to this.

Regards
Chris
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 8

Accepted Solution

by:
ZifNab earned 50 total points
ID: 1350814
xpher,

here are free components with source :

http://www.torry.ru/vcl/security/arprotector.zip
http://www.torry.ru/vcl/security/registera.zip
http://www.torry.ru/vcl/security/mtsharware.zip
http://www.torry.ru/vcl/security/tshare.zip

free components without source :

http://www.torry.ru/vcl/security/easylic.zip

Regards, Zif.

Madshi, hope you don't mind I gave these links, I'm sure your example will be the same like these or even better.
0
 
LVL 20

Expert Comment

by:Madshi
ID: 1350815
Zif, no problem!
If xpher like your links I can save the time to write some sources for him...

Regards, Madshi.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1350816
Hi Madshi, that's what I thought too... We all need our time and why not using already created code which is offered for free? See you Zif.
0
 
LVL 1

Author Comment

by:xpher
ID: 1350817
ZifNab
Thanks for component links. I've been trying the tshare I can get it to work but am still confused about how to stop it creating messages once the software is registered. Any comments

Many thanks
Chris
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1350818
I'll look at the component.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1350819
Hi xpher,

this component only gives you the apportunity for making a shareware trial version. You still have to provide the code for after registration handling : e.g.

unit TestFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Shareware, ExtCtrls;

type
  TTestForm = class(TForm)
    Panel1: TPanel;
    Label2: TLabel;
    Button1: TButton;
    Shareware1: TShareware;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
    function Registered : Boolean;
  end;

var
  TestForm: TTestForm;

implementation

{$R *.DFM}

function TTestForm.Registered: Boolean;
begin
 {Put here your actions, e.g. checking if program is registered}
end

procedure TTestForm.Button1Click(Sender: TObject);
begin
Close;
end;

procedure TTestForm.FormActivate(Sender: TObject);
begin
 If not(Registered) then Shareware1.Execute;
end;

end.

Where Registered first detects if program is registered are not.

Perhaps the other links will provide you a code which does registering and trial-test. But, if you use this component, you can use your own registering method.

Regards, Zif.
0
 
LVL 1

Author Comment

by:xpher
ID: 1350820
Thanks ZifNab, got the idea now.
Cheers
Chris :)
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question