
السلام عليكم إخواني الكرام
أنا عملت برنامج أريد أن أضع له مدة تشغيل مجاني 30 يوما ووضعت في قاعدة البينات TEMP عدد الأيام التي تنقص منها كل يوم 1 حتى تصبح 0 البرنامج لا يشتغل وتحكم يكون من دلفي و أيضا و إذا غير المستخدم التاريخ يبقى الحساب عادي لا يتغير شيء هل من حل ؟
أو يكون على regedit حساب أوتوماتيكي
شكرا لكم على الإجابة لكني الحمد لله عمل مجهودي على عملها ليلة كاملة و إليكم الكون عندا إقلاع البرنامج
//-------------------------------------------------------------------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
with DataModule2 do
if adot.RecordCount=0 then
begin
Button1.Visible:=false;
end else if adot.FieldByName('try').AsString='0000' then
button1.Visible:=true
else if adot.FieldByName('try').AsString<>'0000' then
begin
if adot.FieldByName('ja').AsDateTime<strtodate(FormatDateTime('dd-mm-yyyy',date ))then
button1.Visible:=false
else if StrToDate(FormatDateTime('dd-mm-yyyy',adot.FieldByName('lastd').AsDateTime))>StrToDate(FormatDateTime('dd-mm-yyyy',date)) then
begin
showmessage('La date ou le temps de système a été changé après le dernier essai'+#13+'ce qui implique une violation d''utilisation, Le logiciel va se fermer');
application.Terminate;
end;
end;
with datamodule2 do
begin
if adot.RecordCount=0 then begin
adot.Insert;
ADOt.FieldByName('lastd').AsString:=FormatDateTime('dd-mm-yyyy',date);
ADOt.FieldByName('ja').AsString:=FormatDateTime('dd-mm-yyyy',IncDay(date,15));
ADOt.FieldByName('try').Value:=7;
adot.Post;
end else
begin
if StrToDate(FormatDateTime('dd-mm-yyyy',ADOt.FieldByName('lastd').AsDateTime))>=StrToDate(FormatDateTime('dd-mm-yyyy',ADOt.FieldByName('ja').AsDateTime))then
begin
Showmessage('La version d''essai a expiré, veuillez acheter ce Logiciel');
Application.Terminate;
end
else begin
adot.Edit;
ADOt.FieldByName('lastd').AsString:=FormatDateTime('dd-mm-yyyy',date);
adot.Post;
end;
end;
Showmessage('Il reste '+floattostr(StrToDate(FormatDateTime('dd-mm-yyyy',ADOt.FieldByName('ja').AsDateTime))-StrToDate(FormatDateTime('dd-mm-yyyy',date)))+' jours d''essai, veuillez acheter ce Logiciel');
Button1.Visible:=true;
end;
datamodule2.ADOt.Open;
datamodule2.ADOt.first;
datamodule2.ADOt.Edit;
datamodule2.ADOt.FieldByName('lastd').AsString:=FormatDateTime('dd-mm-yyyy',date);
datamodule2.ADOt.Post;
datamodule2.ADOt.Close;
datamodule2.ADOt.Open;
datamodule2.ADOt.first;
if datamodule2.ADOt.FieldByName('lastoc').asstring='' then
begin
datamodule2.ADOt.Edit;
datamodule2.ADOt.FieldByName('lastoc').AsString:=FormatDateTime('dd-mm-yyyy',IncDay(date,-1));
datamodule2.ADOt.Post;
end;
end;