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
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.