delphi4arab منتديات دلفي للعرب
بخصوص كل يوم ينقص 1 من قاعدة البيانات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : بخصوص كل يوم ينقص 1 من قاعدة البيانات (/showthread.php?tid=7389)



بخصوص كل يوم ينقص 1 من قاعدة البيانات - merzoug2020 - 09-01-2016

Heart السلام عليكم إخواني الكرام Heart

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


RE: بخصوص كل يوم ينقص 1 من قاعدة البيانات - merzoug2020 - 09-01-2016

أو يكون على regedit حساب أوتوماتيكي


RE: بخصوص كل يوم ينقص 1 من قاعدة البيانات - merzoug2020 - 10-01-2016

شكرا لكم على الإجابة لكني الحمد لله عمل مجهودي على عملها ليلة كاملة و إليكم الكون عندا إقلاع البرنامج

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

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;