Odliczanie uruchomien

0

Wiekszosc z nas widziala programy testowe, ktore za kazdym jego uruchomieniem podaja nam ile zostalo jeszcze dni aby moc z niego korzystac.
Ja tez chcialbym cos takiego zrobic w swojej aplikacji, tzn. mam watek (thread), który chcialbym uruchamiac automatycznie np po 5-tym uruchomieniu mojej aplikacji. Jak to zrobic ????

0

najprościej to utwórz sobie jakiś plik textowy / wpis w rejestrzei finał. Jakkolwiej wydaje mi się, że jest funkcja sprawdzająca ilość kopi...

0

np: co uruchmienie zapisuj sobie gdzies do pliku konfiguracyjnego ilośc uruchomień, i przy każdym uruchomieniu powiększaj tę wartość o 1, mozesz dodatkowo dać jakiś wpis w rejestrze i porównywać czy sie zgadza z tym co miałoby być w pliku :) jak sie nie bedzie zgadzać to do obu (plik i rejestr) wstawiaj większą z liczb :] [to tak na wypadek jakby ktoś próbował oszukuwać :>]

0

Podlicza co każde uruchomienie programu ile razy już uruchomiłeś ten prog :)

unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, Registry, ComCtrls,  ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i : integer;
  Reg : TRegistry;
  KeyGood : boolean;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
try
Reg := TRegistry.Create;  // otworz rejestr
  try
      KeyGood := Reg.OpenKey('Licznik\Liczba_wejsc',False); // otwórz klucz
      i := strtoint(Reg.ReadString('Liczba')) + 1;
      Label1.Caption := inttostr(i); 
      Reg.CloseKey;
   finally
      Reg.Free; 
  end;
 except
   ShowMessage('Błąd w zapisu/odczytu rejestru !'+#10+
                        'Prawdopodobnie uruchomiłeś program poraz pierwszy');
 end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Reg := TRegistry.Create;  // otworz rejestr
    try
      Reg.OpenKey('Licznik\Liczba_wejsc',True); // otwórz klucz
      Reg.WriteString('Liczba',Label1.Caption); // zapisz wartość
      Reg.CloseKey;
    finally
      Reg.Free;
    end;
end;

end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1