procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (key in ['0'...'9',#8]) then key := #0; end; 1. program trial 1 bulan Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; Button2: TButton; procedure FormCreate(Sender: TObject); private { Private declarations } dTgl: TDateTime; isExist : Boolean; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses Registry; procedure TForm1.FormCreate(Sender: TObject); const vRoot = 'Software\TrialProg'; var Reg : TRegistry; begin isExist := False; Reg := TRegistry.Create; //rootkey tempat registry Reg.RootKey := HKEY_CURRENT_USER; try // buka key registry dan baca nilai tanggalnya if Reg.OpenKey(vRoot,True) then if Reg.ValueExists('TglAkhir') then begin isExist := True; dTgl := Reg.ReadDate('TglAkhir'); //check trial udah habis atau belum, jika sudah lewat 1 bulan
//dari program pertama kali dijalankan maka habis deh trialnya
if Date >= IncMonth(dTgl) then begin showMessage('Masa Coba Udah Habis !'); Halt; end else showMessage('Program akan Habis '+ IntToStr(Round(IncMonth(dTgl) - Date))+' Hari Lagi'); end; // jika key belum ada (program baru pertama kali dijalankan) maka // buat key untuk menyimpan tanggal mulai dijalankan. if isExist = False then begin Reg.WriteDate('TglAkhir',Date); dTgl := Date; showMessage('Program akan Habis '+ IntToStr(Round(IncMonth(dTgl) - Date))+' Hari Lagi'); end; finally Reg.Free; end; end; end.