delphi4arab منتديات دلفي للعرب

نسخة كاملة : بخصوص كل يوم ينقص 1 من قاعدة البيانات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
Heart السلام عليكم إخواني الكرام Heart

أنا عملت برنامج أريد أن أضع له مدة تشغيل مجاني 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;