بخصوص كل يوم ينقص 1 من قاعدة البيانات
#1
Sad 
Heart السلام عليكم إخواني الكرام Heart

أنا عملت برنامج أريد أن أضع له مدة تشغيل مجاني 30 يوما ووضعت في قاعدة البينات   TEMP  عدد الأيام التي تنقص منها كل يوم  1 حتى تصبح 0 البرنامج لا يشتغل   وتحكم يكون من دلفي و أيضا و إذا غير المستخدم التاريخ يبقى الحساب عادي لا يتغير شيء   هل من حل ؟
الرد
#2
أو يكون على regedit حساب أوتوماتيكي
الرد
#3
شكرا لكم على الإجابة لكني الحمد لله عمل مجهودي على عملها ليلة كاملة و إليكم الكون عندا إقلاع البرنامج

//-------------------------------------------------------------------------------------------------------------------------

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;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم