الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن ال Timer

مغلق
بدأه king_baghdad في 13 أغسطس 2007 · 14 رد · 2,288 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سؤال بعد إكمالي لبرنامجي أريد أن أجعل هذا البرنامج يشتغل مثلا لمدة يوم أو يومين ولكن حاولت أن أوقت التايمر ولكن يبدأ التوقيت من لحظة تشغيل التطبيق وعند إعادة التطبيق يعاد من جديد التايمر .. انا اريد أن أجعل التايمر يبدأ التوقيت من لحظة معينة وأريده يتواصل ويعد الوقت كأنه بالضبط الساعة الموجودة في جهاز الحاسوب ..أتمنى من المشرفين الإجابة أو الذي لديه إجابة مع كل التقدير لهذا المنتدى البديع

#2

تحتاج الى ملف مرفق مع البرنامج txt مثلا

عند انطلاق البرنامج يأخذ القيمة من الملف

ثم يقوم بتغييرها اثناء تشغيل البرنامج

حتى يعرف كل مرة اين توقف العدد

ثم يجدد القيمة في الملف

مع ملاحظة ان تكون القيمة في txt مشفرة

حتى لا يتم تغييرها

#3

يمكنك فعل ما قال الأخ bachirk لكن بحفظ العداد مرتين

مرة في ملف مرفق بالبرنامج و مرة في الريجيستر ليصعب فهم طريقة عمل و بالتالي

يصعب سرقته

#4

بسم الله الرحمن الرحيم

كما يمكنك حفظ التوقيت وذلك بتغيير توقيت الملف التنفيذي وهذه الطريقة سهلة جدا (لذلك قد لا ينتبه لها من يحاول سرقة البرنامج مثلا)

أو حفظ هذه القيمة مشفرة و إدماجها في منطقة Resources آخر الملف التنفيذي.

1141068814.gif

It doesn't matter how slow you go, as long as you don't stop

#5

أذا كنت تريد تشغيل البرنامج لمدة يوم او يومين

يمكنك عند اول تشغيل للبرنامج ان يحفظ تاريخ اليوم في مفتاح بالريجستري او ملف txt او ini او قاعدة بيانات

اما عند استخدام تايمر فانت تريد تشغيل البرنامج لمدة معينة 24 ساعة او 48 ساعة متقطعة

اي مثل بطاقات الانترنت

#6

السلام عليكم ... أرجو توضيح كيفية وضع الوقت في ملف وتنفيذه ... وبالنسبة للاخ sniper يقول ممكن وضع الوقت في

قاعدة بيانات ويكون محمي طيب ممكن يبدل المستخدم ساعة الجهاز وبالتالي تتلخبط العملية .. أرجو التوضيح لانني اريد ليس أن أحمي برنامجي بكلمة مرور بل أريد أن يشتغل لمدة معينة ..مثلا في حالة بيع برنامج لجهة معينة ولم يدفع لي شيء أرغب في وضع خيط يساعدني في التغلب على جميع المصاعب لا سامح الله لو أراد أحد العبث مع جزيل الشكر

#7

ان كان البرنامج يعمل كاملا لمدة زمنية معينة

فيمكن بطريقة او باخرى جعل تلك المدة ما لانهاية

الحل الوحيد لحماية برنامجك بشكل ناجع وهو تقديم نسخة غير كاملة Demo

بحيث تحذف اجزاء من الكود ثم تعمل Compile لتحصل على نسخة تجريبية غير قابلة للكسر

غير ذلك الامر مسالة وقت ويكسر

d4baa0.gif
#8

السلام عليكم و رحمة الله و بركاته

معذرة لمشاركتي

كنت ارجوا فقط توضيح المقصود بـــ

اقتباس
كما يمكنك حفظ التوقيت وذلك بتغيير توقيت الملف التنفيذي وهذه الطريقة سهلة جدا

و لكم جزيل الشكر

#9

الملف التنفيذي له تاريخ معين

يمكن تغييره بحيث يصبح تاريخ تثبيت البرنامج، في كل مرة ينفذ يقارن التاريخ الحالي مع تاريخ الملف التنفيذي، في حالة كان الفارق اكثر من 30 يوم مثلا لا يعمل

d4baa0.gif
#10

اذا استعمل التاريخ يستطيع المستعمل تثبيت التاريخ في وقت واحد كل يوم

لكن اذا استعمل الرقم في ملف حتى لو يكون الرقم ظاهر لن يستطيع المستعمل تغييره

لانك سوف تشفر الرقم

x=6*a+10
a=(x-10)/6

حيث a هو عدد الدقائق و x هو العدد المشفر الموضوع في الملف

عندما تأخذ الرقم من الملف تحوله الى عدد الدقائق بالمعادلة 2

عندما تريد حفظ عدد الدقائق تحولها الى رقم بالمعادلة 1

سوف تعرف ان المستخدم غير قيمة العدد اذا كانت نتيجة تحويل الرقم في الملف الى دقائق

عدد غير صحيح وبهذا يتوقف البرنامج

لهذا ليس للمستخدم حل لزيادة مدة الاستعمال

#11

bachirk

يكسر

سواء بالتعديل على البرنامج

او بتجميد اوقت او التاريخ

d4baa0.gif
#12
DelphiCoder كتب:
بسم الله الرحمن الرحيم

كما يمكنك حفظ التوقيت وذلك بتغيير توقيت الملف التنفيذي وهذه الطريقة سهلة جدا (لذلك قد لا ينتبه لها من يحاول سرقة البرنامج مثلا)

أو حفظ هذه القيمة مشفرة و إدماجها في منطقة Resources آخر الملف التنفيذي.

كيف ؟؟؟

وهل يمكن تعديل هذه القيمة أثناء الـ

runtime

والإحتفاظ بالقيمة الجديدة.

#13
اقتباس
سواء بالتعديل على البرنامج

او بتجميد اوقت او التاريخ

انت على حق

لانك اذا كنت تحاول ان تصنع برنامج محمي فهناك من يحاول كسر الحماية

لكن نحن نبحث عن حماية بحيث يكون عدد القادريين على كسرها اقل ما يمكن

من فترة حاولت حماية برنامج

قمت بحفظ تاريخ انشاء الملف مع البرنامج

حيث كل ما انطلق البرنامج يقارن تاريخ الانشاء مع التاريخ الموجودة في الملف

اذا انت نسخت البرنامج يتغيير تاريخ انشاء البرنامج الى تاريخ الكمبيوتر و

بهذا عندما ينفذ البرنامج يجد اختلاف بين تاريخ انشاء البرنامج والتاريخ في الملف

فيعرف ان الملف منسوخ

لكن عيب هذه الطريقة انك اذا قمت بعمل صورة للبرنامج تظهر بنفس تاريخ الانشاء

#14

السلام عليكم

لدى وجهة نظر ارجو ان تكون ذات قيمة

اكيد برنامجك يحتوى على قاعدة بيانات اذا كان كذلك فلماذا لا تحمى البرنامج بعدد سجلات جدول ما

حيث لا داعى لحساب الوقت واين نخزنه وهل يمكن كسره و و وما الى ذالك

على سبيل المثال

procedure TForm_main.FormCreate(Sender: TObject);
begin
if ADOTable.RecordCount= ?? then
begin
MessageDlg('اخبر المستخدم ما تريد',mtError,[mbOK],0)
applecation.terminate;
end;
end;

تم تعديل هذه المشاركة بواسطة c_vita في 16 أغسطس 2007 في 17:28

#15

السلام عليكم :

تعقيبا على كلام الأخ bashirk .. كيف يمكن تشفير والأخذ من ملف ، أتمنى لو تضعوا مثال للتوضيح ولكم جزيل الشكر

هذا الموضوع مغلق.

مواضيع مشابهة