PDA

نسخه کامل مشاهده نسخه کامل : اجرا پس از چند روز



CrazyTux
07-05-2007, 19:19
مثلا یک برنامه بعد از رفتن در کامپیوتر بعد از 2 ساعت یا روز شروع به کار بکنه(اجرای دستورات در form load())

farasun
07-05-2007, 20:57
برای "ساعت" که کاملا واضحه چه کاری باید بکنید
اما برای روز کافیه تاریخ سیستم طرف رو چک کنید.
اگر همون زمانی بود که شما انتظار دارید، پروسه مورد نظر شما اجرا شود.

bad_boy_2007
07-05-2007, 23:07
برای "ساعت" که کاملا واضحه چه کاری باید بکنید
اما برای روز کافیه تاریخ سیستم طرف رو چک کنید.
اگر همون زمانی بود که شما انتظار دارید، پروسه مورد نظر شما اجرا شود.

این کار شدنیه ولی مشکلی که داره اینه که اگر تاریخ به عقب برگردانده بشه دیگه کار نمیکنه ، معمولا تفاضلات تاریخی رو در هر بار شروع ویندوز حساب میکنن و در جایی ذخیره میکنن و در نهایت اگر مجموع تفاضلات کم شده باشد هیچ عملی انجام نمیشود ولی در صورتی که اضافه شده باشه یک یا چند واحد به واحد ذخیره شده افزوده میشه و . . .
البته این راه هم اشکلات خاص خودش رو داره که قابل حله ولی در کل ایمن تره .

CrazyTux
08-05-2007, 16:10
لطفا کامل تر بگویید!!!!!!!!!!!!!1111

bad_boy_2007
08-05-2007, 17:59
الگوریتمها در این زمینه خیلی زیاده و شاید تا حدی سلیقه ای و گاه بسیار پیچیده و حرفه ای

یک الگوریتم ساده اینه که برای اولین بار که برنامه بالا میاد تاریخ رو یه جا ثبت کنی و از این به بعد هر وقت که برنامه بالا آمد تفاضل تاریخ رو محاسبه کنی اگر از تعداد روزهای مقرر بیشتر شد برنامه دیگه بالا نمیاد . ولی این الگوریتم یک مشکل داره اونم اینه که اگه طرف تاریخ سیستم رو به عقب بر گردونه برنامه بالا میاد ، چون شرط تفاضل تاریخی برقرار نشده .

یک راه که عموما پیشنهاد میشه اینه که در هر بار بالا آمدن برنامه تاریخ رو یه جا ثبت کنی . از این به بعد هر بار برنامه بالا آمد تاریخ ثبت شده رو با تاریخ فعلی مقایسه میکنی اگه بزرگتر شده بود ، تفاضلات تاریخی رو بدست میاری و با تعداد روزهایی که قبلا محاسبه کرده بودی جمع میکنی(فقط نکته مهم اینه که تاریه اولین بار باز شدن برنامه رو هم میکنی تاریخ فعلی) ، تو این قسمت بهتره به چند طریق عمل ذخیره سازی تاریخ و تفاضلات رو انجام بدی مثلا یه گوشه رجیستری و تو چند تا فایل مختلف و . . . و در صورتی که این فایلها با هم مطابقت نداشت از بالا آمدن برنامه جلوگیری کنی و حتی یک برنامه کمکی رو فراخوانی کنی که بعد از بسته شدن برنامت ، فایل exe رو هم از بین ببره یا بانکا رو قفل کنه یا از این کارا !!!

بهتره از چند روش مختلف بطور همزمان واسه قفل گزاری استفاده کنی مثلا محدودیت تعداد رکوردها + محدودیت تعداد دفعات باز شدن برنامه + محدودیت تفاضلات تاریخی + استفاده از سریال هارد یا دیگر قطعات + . . .

CrazyTux
10-05-2007, 20:34
از راهنمایت متشکرم Bad_Boy_2007 خودم هم به این کار نزدیکم و لی میشه سورسش را خودت اگه می تونی یا یکی لطف کنه بزاره

bad_boy_2007
16-05-2007, 08:29
یه سورس قشنگ چند وقت پیشا تو همین فریوم دیده بودم دانلود کردم پیداش کردم میزارم