PDA

View Full Version : سوال: محاسبه ی روز بدون استفاده از تاریخ کامپیوتر (برای استفاده ی 30 روزه از برنامه).



mjzsoft25
سه شنبه 28 شهریور 1391, 14:27 عصر
سلام
من می خواستم برای برنامه ام یه دوره ی استفاده ی 30 روزه بذارم(مثل فوتوشاپ), ولی نمی دونم چه جوری برنامه ام سر 30امین روز ازکار بیفته و کد فعالسازی بخواهد.
اگه از تاریخ خود سیستم استفاده کنم کاربر می تونه اونو عقب بکشه و مدت بیشتری از برنامه استفاده کنه.
اگه برای ورود به برنامه بخواهم همیشه به اینترنت متصل بشم کاربر از برنامه بدش میاد.

لطفا اگه چیزی میدونید کمکم کنید.:ناراحت:

ehsan7007
سه شنبه 28 شهریور 1391, 14:52 عصر
یک کلاس برای تریال سازی برنامه بود...
باید بگردی دنبالش ؛ البته فکر می کنم بشه با رجیستری یه کارایی کرد...

mjzsoft25
سه شنبه 28 شهریور 1391, 15:16 عصر
یک کلاس برای تریال سازی برنامه بود...
باید بگردی دنبالش ؛ البته فکر می کنم بشه با رجیستری یه کارایی کرد...

میشه با اون یک مدت nروزه برای استاده از برنامه رو محاسبه کرد یا به تاریخ سیستم بستگی داره؟

ehsan7007
سه شنبه 28 شهریور 1391, 15:23 عصر
خدمت شما ، نحوه ی کارش رو نمیدونم ، چون خودم تا حالا ازش استفاده نکردم. (http://www.mediafire.com/?dod5h8411o4h5b7)

mjzsoft25
سه شنبه 28 شهریور 1391, 15:48 عصر
خدمت شما ، نحوه ی کارش رو نمیدونم ، چون خودم تا حالا ازش استفاده نکردم. (http://www.mediafire.com/?dod5h8411o4h5b7)

دوست عزیز موقع Debug کردن خطای زیرو میده.

ehsan7007
سه شنبه 28 شهریور 1391, 16:10 عصر
گفتم که با هاش کار نکردم.
ولی فکر می کنم باید به برنامت اضافه کنی ، نه اجراش کنی !

ali_habibi1384
سه شنبه 28 شهریور 1391, 16:17 عصر
گفتم که با هاش کار نکردم.
ولی فکر می کنم باید به برنامت اضافه کنی ، نه اجراش کنی !
آقا احسان ممنون از اينكه به سوالات بچه ها جواب ميدي اما لطفا يه چيزايي بگو كه بدرد كسي بخوره. من پستاي شما رو زياد ديدم اما گويا هدف شما فقط جواب دادنه نه بدرد بخور بودن!

ali_habibi1384
سه شنبه 28 شهریور 1391, 16:19 عصر
سلام
من می خواستم برای برنامه ام یه دوره ی استفاده ی 30 روزه بذارم(مثل فوتوشاپ), ولی نمی دونم چه جوری برنامه ام سر 30امین روز ازکار بیفته و کد فعالسازی بخواهد.
اگه از تاریخ خود سیستم استفاده کنم کاربر می تونه اونو عقب بکشه و مدت بیشتری از برنامه استفاده کنه.
اگه برای ورود به برنامه بخواهم همیشه به اینترنت متصل بشم کاربر از برنامه بدش میاد.

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

ehsan7007
سه شنبه 28 شهریور 1391, 16:35 عصر
آقا احسان ممنون از اينكه به سوالات بچه ها جواب ميدي اما لطفا يه چيزايي بگو كه بدرد كسي بخوره. من پستاي شما رو زياد ديدم اما گويا هدف شما فقط جواب دادنه نه بدرد بخور بودن!


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

موفق باشید.

roolinjax
سه شنبه 28 شهریور 1391, 16:54 عصر
براي برنامه هاي ديتا بيسي بهترين كار شمردن اطلاعات جدول هست .
میشه در مورد جمله ی بالا بیشتر توضیح بدید؟

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

ali_habibi1384
سه شنبه 28 شهریور 1391, 17:43 عصر
براي برنامه هاي ديتا بيسي بهترين كار شمردن اطلاعات جدول هست .
میشه در مورد جمله ی بالا بیشتر توضیح بدید؟
من براي فعال شدن قفل مثلا در رويداد فرم لود ميام و مثلا تعداد چند تيبل رو ميشمارم اگر مثلا به 100 رسيده بود اجازه ادامه كار رو به كاربر نميدم و برنامه رو با يه پيام مناسب ميبندم.
بهترين تيبلها جدولهاي مهم برنامه هستند مثلا جدول فاكتور.

barnamenevisforme
سه شنبه 28 شهریور 1391, 18:35 عصر
سلام
این موضوع رو توی یه تاپیک دیگه هم مطرح کردم.
بهترین روش استفاده از یه الگوریتم تاریخ حال حاضر به علاوه مدت مصرف برنامه هست.
طبیعتا اگر برنامه ای در یک تاریخ شروع به کار کرده باشه،مدت زمانی که برنامه باز هست رو میشه به عنوان مدت مصرف در نظر گرفت.حالا شما در هر بار شروع برنامه اگر تاریخ رو با مدت مصرف جمع بزنید،تاریخ نباید از اون مقدار کمتر باشه.اگر بود هر تصمیمی میتونید بگیرید.یا در جا برنامه رو قفل کنید و یا اینکه اجازه بدید مدت مصرف به یه حد که رسید اونوقت برنامه رو از کار بندازید.

mjzsoft25
چهارشنبه 29 شهریور 1391, 11:38 صبح
خب ميشه چندتا كار كرد مثلا اينكه هر روز كه كاربر برنامه رو ران ميكنه اونو ثبت كرد و ساعتش رو هم ثبت كرد حالا اگر كاربر به حالتي برخورد كرد كه ساعتي كه ميخواد ثبت كنه قبلا ثبت شده بوده يعني تاريخ رو دستكاري كرده و شما برنامه رو قفل ميكني.
اين يه حالتش بود . براي برنامه هاي ديتا بيسي بهترين كار شمردن اطلاعات جدول هست .

براي برنامه هاي ديتا بيسي بهترين كار شمردن اطلاعات جدول هست .
میشه در مورد جمله ی بالا بیشتر توضیح بدید؟

mjzsoft25
چهارشنبه 29 شهریور 1391, 11:42 صبح
سلام
این موضوع رو توی یه تاپیک دیگه هم مطرح کردم.
بهترین روش استفاده از یه الگوریتم تاریخ حال حاضر به علاوه مدت مصرف برنامه هست.
طبیعتا اگر برنامه ای در یک تاریخ شروع به کار کرده باشه،مدت زمانی که برنامه باز هست رو میشه به عنوان مدت مصرف در نظر گرفت.حالا شما در هر بار شروع برنامه اگر تاریخ رو با مدت مصرف جمع بزنید،تاریخ نباید از اون مقدار کمتر باشه.اگر بود هر تصمیمی میتونید بگیرید.یا در جا برنامه رو قفل کنید و یا اینکه اجازه بدید مدت مصرف به یه حد که رسید اونوقت برنامه رو از کار بندازید.

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


من براي فعال شدن قفل مثلا در رويداد فرم لود ميام و مثلا تعداد چند تيبل رو ميشمارم اگر مثلا به 100 رسيده بود اجازه ادامه كار رو به كاربر نميدم و برنامه رو با يه پيام مناسب ميبندم.
بهترين تيبلها جدولهاي مهم برنامه هستند مثلا جدول فاكتور.

راهی نیست که تا 30 روز شد برنامه قفل کنه و کدفعالسازی بخواهد.
من می خواهم از این راه محدودش کنم نه از راه تعداد رکورد ها.

ahrimaneahurai
چهارشنبه 29 شهریور 1391, 14:12 عصر
فک کنم برای شما این مناسب باشه که هر بار کاربر برنامه رو باز کرد تاریخ و ساعت سیستم رو هش کنی و توی رجیستری کاربر ثبت کنی.وقتی دوباره باز میشه چک کنی که ساعت و تاریخ از اون زمان کمتر نباشه.اگر هم رجیستری رو پاک کرد بهش میگی که رجیستری پاک شده و ...

ehsan7007
چهارشنبه 29 شهریور 1391, 14:24 عصر
خب اگر کاربر از برنامه استفاده نکرد چی؟!

barnamenevisforme
چهارشنبه 29 شهریور 1391, 14:52 عصر
نه نه دوست عزیز من فقط می خواهم یه تست 30 روزه به کاربر بدم که اگر حتی برنامه رو باز نکرد سر 30 روز برنامه قفل بشه و کد فعالسازی بخواهد.سلام
با این تفاسیر باید از امکانات scrip موجود در بنامه های ساخت نصب مثل installshield استفاده کنید و شروع اولیه نرم افزار رو ثبت کنید و در اجرای اولیه نرم افزار با اون تارخ مقایسه کنید.
یه راه دیگه هم هست و اون نوشتن یک سرویس در کنار برنامه میتونه باشه،هر چند برنامه مورد استفاده قرار نگیره،سرویس با هر بار روشن شدن سیستم به صورت خودکار شروع به کار میکنه و تمامی اعمال کاربر از قبیل تغییر تاریخ رو میتونه در نظر بگیره.

ahrimaneahurai
چهارشنبه 29 شهریور 1391, 14:56 عصر
خب اگر کاربر از برنامه استفاده نکرد چی؟!

موقع نصب داخل رجیستری ثبت کنید زمان و تاریخ رو.

ali_habibi1384
چهارشنبه 29 شهریور 1391, 18:34 عصر
فک کنم برای شما این مناسب باشه که هر بار کاربر برنامه رو باز کرد تاریخ و ساعت سیستم رو هش کنی و توی رجیستری کاربر ثبت کنی.وقتی دوباره باز میشه چک کنی که ساعت و تاریخ از اون زمان کمتر نباشه.اگر هم رجیستری رو پاک کرد بهش میگی که رجیستری پاک شده و ...
اين همون پيشنهاديه كه من دادم توي پست قبلي.
در جواب آقاي احسان هم كه گفتن اگر برنامه باز نشد چي ؟ بايد بگم موقع نصب برنامه تاريخ رو اونجا ذخيره ميكني و بعد 30 روز وقتي برنامه باز بشه در جا لاك ميشه و مشكل حله.

ehsan7007
چهارشنبه 29 شهریور 1391, 18:52 عصر
اینطوری که اگر تاریخ سیستم رو عقب بکشه...
هر الگوریتم وابسته به تاریخ سیستم قابل هک شدن با تغییر زمان سیستمه

ali_habibi1384
چهارشنبه 29 شهریور 1391, 19:18 عصر
اینطوری که اگر تاریخ سیستم رو عقب بکشه...
هر الگوریتم وابسته به تاریخ سیستم قابل هک شدن با تغییر زمان سیستمه
چطوري؟ مثال بزنيد

ehsan7007
چهارشنبه 29 شهریور 1391, 19:28 عصر
چی رو مثال بزنم؟!
کاربر میاد تاریخ سیستم رو روی یک روز نگه میداره ؛ اونوقت برنامه درباقالی ها سیر خواهد کرد!!

ali_habibi1384
چهارشنبه 29 شهریور 1391, 19:30 عصر
چی رو مثال بزنم؟!
کاربر میاد تاریخ سیستم رو روی یک روز نگه میداره ؛ اونوقت برنامه درباقالی ها سیر خواهد کرد!!
خب اين ميشه گذر از تاريخ تكراري و برنامه لاك ميشه.

ehsan7007
چهارشنبه 29 شهریور 1391, 19:44 عصر
شما از تاریخ تکراری چیزی نگفتید ؛ خوب برای اینچیکار کنیم؟
شاید تاریخ رو جلو اورد!
میدونم اینطوری هم برنامه لاک میشه ، ولی فکر این رو هم بکنید که شاید کاربر واقعا تاریخش جلو و یا عقب باشه!
منظورم اینه که ممکنه هنگام ثبت تاریخ ، تاریخ کاربر غلط باشه!
اینطوری باکشیدن به عقب ، برنامه به تاریخ تکراری می خوره و لاک می شه!
اگر هم تاریخ رو مثلا یک روز به جلو ببره ، یا برنامه یکروز کمتر کار میکنه یا ...

اینطوری کاربر از برنامه ناراضی میشه ...

باز هم میگم الگوریتم وابسته به تاریخ باگ داره

ali_habibi1384
چهارشنبه 29 شهریور 1391, 19:57 عصر
شما از تاریخ تکراری چیزی نگفتید ؛ خوب برای اینچیکار کنیم؟
شاید تاریخ رو جلو اورد!
میدونم اینطوری هم برنامه لاک میشه ، ولی فکر این رو هم بکنید که شاید کاربر واقعا تاریخش جلو و یا عقب باشه!
منظورم اینه که ممکنه هنگام ثبت تاریخ ، تاریخ کاربر غلط باشه!
اینطوری باکشیدن به عقب ، برنامه به تاریخ تکراری می خوره و لاک می شه!
اگر هم تاریخ رو مثلا یک روز به جلو ببره ، یا برنامه یکروز کمتر کار میکنه یا ...

اینطوری کاربر از برنامه ناراضی میشه ...

باز هم میگم الگوریتم وابسته به تاریخ باگ داره
در هر صورت نميشه همه چيز رو باهم داشت!
اگر شما راه حل بهتري براي تاريخ داريد ارائه كنيد ، اگر نه دوستمون نياز داره كه حتما وابسته به تاريخ باشه. من بايد پاسخ دوستمون رو بدم. اگر پستهاي قبلم رو بخونيد اشاره كردم به موضوع استفاده از الگوريتم تعداد ركوردها.نيازي نيست شما متذكر اين بشيد كه الگوريتم وابسته به تاريخ كلا مشكل داره:چشمک:

barnamenevisforme
چهارشنبه 29 شهریور 1391, 22:32 عصر
یه راه دیگه هم هست و اون نوشتن یک سرویس در کنار برنامه میتونه باشه،هر چند برنامه مورد استفاده قرار نگیره،سرویس با هر بار روشن شدن سیستم به صورت خودکار شروع به کار میکنه و تمامی اعمال کاربر از قبیل تغییر تاریخ رو میتونه در نظر بگیره.
سلام
اینو واسه تاکید تکرار کردم.با این روش میتونید کاری کنید که برنامه دقیقا 30 روز مجوز فعالیت داشته باشه.
تا به حال برنامه هایی که license manager دارند رو دیدید؟دقیقا از یک سرویس برای مدیریت نسخه ها استفاده میکنند.

mahdidabaghi
چهارشنبه 29 شهریور 1391, 23:23 عصر
با سلام
به نظر من بهترین کار اینه وقتی شما پروژتونو تحویل میدین تاریخ اون روز(مثلا بیست و نهم) رو به صورت رمز شده در دیتابیس ذخیره کنین و بعد یه پروسیجر تو اس کیو ال بنویسین و از datadiff استفاده کنین . یعنی زمانی که کاربر لاگین کرد بیاد تاریخ لاگینو با تاریخ ثبت شده در دیتابیس مقایسه کنه . اگه مقایسه این دو تاریخ عدد یک مثبت شد(مثلا طرف سی ام لاگین کرد) تاریخ سی ام جایگزین تاریخ قبلیه بشه و اگر بیست و هشتم لاگین کرد نتیجه مقایسه منفی یک میشه و اجازه لاگین پیدا نمیکنه.
همچنین بهتره یک data diff دیگم واسه این که کاربر تاریخ رو جلو نبره (مثلا ببره سی و یکم) نوشت که اگه این مقایسه هم بزرگتر از یک شد(یعنی دو یا بیشتر) باز هم اجازه لاگین نداشته باشه.
و در پایان شما زمان استفاده از برنامه رو مثلا بیست ونهم ماه دیگه اگه قرار دادی کافیه بگی اگی زمان لاگین برنامت به این تاریخ رسید کاربر شما اجازه لاگین نداشته باشه
امیدوارم مشکل گشا باشه و از نظرات دوستان هم نسبت به این الگوریتم خوشحال میشم

mjzsoft25
پنج شنبه 30 شهریور 1391, 13:38 عصر
با سلام
به نظر من بهترین کار اینه وقتی شما پروژتونو تحویل میدین تاریخ اون روز(مثلا بیست و نهم) رو به صورت رمز شده در دیتابیس ذخیره کنین و بعد یه پروسیجر تو اس کیو ال بنویسین و از datadiff استفاده کنین . یعنی زمانی که کاربر لاگین کرد بیاد تاریخ لاگینو با تاریخ ثبت شده در دیتابیس مقایسه کنه . اگه مقایسه این دو تاریخ عدد یک مثبت شد(مثلا طرف سی ام لاگین کرد) تاریخ سی ام جایگزین تاریخ قبلیه بشه و اگر بیست و هشتم لاگین کرد نتیجه مقایسه منفی یک میشه و اجازه لاگین پیدا نمیکنه.
همچنین بهتره یک data diff دیگم واسه این که کاربر تاریخ رو جلو نبره (مثلا ببره سی و یکم) نوشت که اگه این مقایسه هم بزرگتر از یک شد(یعنی دو یا بیشتر) باز هم اجازه لاگین نداشته باشه.
و در پایان شما زمان استفاده از برنامه رو مثلا بیست ونهم ماه دیگه اگه قرار دادی کافیه بگی اگی زمان لاگین برنامت به این تاریخ رسید کاربر شما اجازه لاگین نداشته باشه
امیدوارم مشکل گشا باشه و از نظرات دوستان هم نسبت به این الگوریتم خوشحال میشم

به خوب الگوریتمی اشاره کردی.
یک نکته:
1.اگه کاربر دو بار توی یک روز لاگین کنه باید برای بار دوم تاریخ همون لاگین اول توی دیتابیس ذخیره بشه که با این کار کاربر میتونه ساعت سیستمش رو عقب بکشه(مثلا بعدظهر رو به قبل ظهر تغییر بده) در این صورت کاربر میتونه مدت خیلی طولانی از برنامه استفاده کنه.
یا یک برنامه برای عقب کشیدن ساعت سیستم به بنویسه.
اگر هم بخواهیم برای هر روز محدودیت لاگین بگذاریم کار درستی نیست و کاربر از برنامه خوشش نمی آید.
معلوم نیست که چه طور Microsoft و یا Adobe برای برنامه هایشان مهلت تست 30 روزه می گذارند؟؟؟؟:متعجب:

ehsan7007
پنج شنبه 30 شهریور 1391, 15:58 عصر
می گم ها؟!
نمیشه تغییر تاریخ رو ثبت کرد؟!

می دونم مسخرست ! ولی نمیشه یه چیزی مثل تاریخ مجازی درست کرد؟

mjzsoft25
جمعه 31 شهریور 1391, 11:49 صبح
می گم ها؟!
نمیشه تغییر تاریخ رو ثبت کرد؟!

می دونم مسخرست ! ولی نمیشه یه چیزی مثل تاریخ مجازی درست کرد؟

ببخشید منظورتون از تاریخ مجازی چی بود؟؟:لبخند:

mahdidabaghi
جمعه 31 شهریور 1391, 22:17 عصر
به خوب الگوریتمی اشاره کردی.
یک نکته:
1.اگه کاربر دو بار توی یک روز لاگین کنه باید برای بار دوم تاریخ همون لاگین اول توی دیتابیس ذخیره بشه که با این کار کاربر میتونه ساعت سیستمش رو عقب بکشه(مثلا بعدظهر رو به قبل ظهر تغییر بده) در این صورت کاربر میتونه مدت خیلی طولانی از برنامه استفاده کنه.
یا یک برنامه برای عقب کشیدن ساعت سیستم به بنویسه.
اگر هم بخواهیم برای هر روز محدودیت لاگین بگذاریم کار درستی نیست و کاربر از برنامه خوشش نمی آید.
معلوم نیست که چه طور Microsoft و یا Adobe برای برنامه هایشان مهلت تست 30 روزه می گذارند؟؟؟؟:متعجب:

به نظر من که کاربر برای مدت طولانی نمیتونه ساعت رو عقب بکشه مگه این که واقعا ادم بیکاری باشه
البته با این سخت گیری شما میشه یه پروسیجر دیگم نوشت که ساعت های لاگین رو هم بشه مقایسه کرد (مثل تاریخ نمونه ای که گفتم)
فکر کنم اینجوری دیگه حل بشه

ali_habibi1384
جمعه 31 شهریور 1391, 23:23 عصر
به نظر من که کاربر برای مدت طولانی نمیتونه ساعت رو عقب بکشه مگه این که واقعا ادم بیکاری باشه
البته با این سخت گیری شما میشه یه پروسیجر دیگم نوشت که ساعت های لاگین رو هم بشه مقایسه کرد (مثل تاریخ نمونه ای که گفتم)
فکر کنم اینجوری دیگه حل بشه
اينو كه ميگي باز ميان ميگن خب دقيقه رو عقب ميكشن !
وقتي ميگن تاريخ رو ثبت ميكنيم منظور كلي هست (سال-ماه-روز-ساعت-دقيقه-ثانيه و گاها صدمش هم ثبت كنيم كه كاربر اونو عقب نكشه:قهقهه:)

mahdidabaghi
جمعه 31 شهریور 1391, 23:31 عصر
اينو كه ميگي باز ميان ميگن خب دقيقه رو عقب ميكشن !
وقتي ميگن تاريخ رو ثبت ميكنيم منظور كلي هست (سال-ماه-روز-ساعت-دقيقه-ثانيه و گاها صدمش هم ثبت كنيم كه كاربر اونو عقب نكشه:قهقهه:)
علی جان من هم هدفم فقط ایده بود ... بازم مرسی

ali_habibi1384
شنبه 01 مهر 1391, 00:03 صبح
علی جان من هم هدفم فقط ایده بود ... بازم مرسی
منظورم به شما نبود راه حل شما درست بود.
به اونايي بود كه ميخوان گير بيخود بدن:لبخند:

mahdidabaghi
دوشنبه 03 مهر 1391, 23:56 عصر
منظورم به شما نبود راه حل شما درست بود.
به اونايي بود كه ميخوان گير بيخود بدن:لبخند:
اکی ... به هر حال من خودم با این الگوریتم کا کردم (واسه پروژه ای یه هفته ای داشتم رو این موضوع فکر میکردم و این شد نتیجش) و تا حالا نتیجه خوبیم ازش گرفتم.

mohamadlvs
سه شنبه 18 مهر 1391, 20:24 عصر
بدون بررسی تاریخ سیستم نمیشه این کار رو انجام داد، به هر حال باید یک مرجع باشه
همه این برنامه های 30 روزه هم با استفاده از تاریخ سیستم کار می کنند
روش کار هم اینجوری که با هر بار عوض شدن تاریخ یک روز از زمان کم می کنند
حالا اگه تاریخ سیستم رو 10 روز هم به عقب بکشی و سیستم رو راه اندازی مجدد کنید می بینید که یک روز از تاریخ به روز رسانی برنامه تان کم شده نه این که 10 روز اضافه شده باشه!!

Directx
سه شنبه 18 مهر 1391, 22:11 عصر
سلام به همه دوستان
خیلی وقت بود که به برنامه نویس نیومده بودم بعد چند مدت این اولین باره دیدم بحث یکم داغ شده گفتم قاطی شم
ببخشید من دو تا رشته ریاضی و کامپیوتر رو باهم می خونم یکم اعتماد به نفس کاذب بهم دست داده ولی می دونید من می گم به هیچ عنوان این امکان نداره که بدون استفاده از پروسس در جریان این قضیه رو حل کنید منظورم راه حل علمی نه ترفند
با یه مثال ساده میگم یه بردار رو در نظر بگیرید اگه بخواهیم انتهای این بردار رو پیدا کنیم حتما باید ابتدا و طول بردار رو داشته باشیم و ابتدا که معلومه همون تاریخ نصب حالا طول رو چجوری حساب کنیم ؟(منظورم اندازه نیست که در اون صورت میشه مدت زمان استفاده شده از نرم افزا) مطمئنا طول همون اختلاف تاریخ نصب و تاریخ اجرای کنونی برنامست دیگه(باید فاصله 30 باشه) که این اندازه 30 به سیستم بستگی داره
البته ترفند هایی که گفتین تا حدودی کار راه انداز هست اما جواب مسئله نیست(مثل مقایسه ی دو تا کسر تو عبارت شرطیه که ممکنه اون اعشارای اخرش کار دست ادم بده) و اینو بدونید که حتی خیلی از برنامه های بزرگ با عقب کشیدن تاریخ سیستم کار می کنند

حسین شهریاری
چهارشنبه 19 مهر 1391, 07:39 صبح
سلام
برای حل اصولی این مشکل یه راهنمایی میکنم ولی پیاده سازیش باشه با شما:
همونطور که میدونید هر مادربوردی یه تاریخ انقضا داره! و این تاریخ انقضا با یه فرمولی محاسبه میشه که الان نظرم نیست.
یعنی حتی اگه مادربورد آک آک توی کمد هم باشه اون فرمول میاد تاریخ انقضا را محاسبه میکنه.
هدفم از موارد فوق این بود که مادربورد یه Counter داره که حتی اگه از اون اصلا استفاده هم نشه، اون شمارنده روز به روز افزایش پیدا مکنه.
شرکتهای نرمافزاری حرفه ای(مثل آنتی ویروس نویس ها) نیز محصولاتشان را با همین روش محدود میکنن که مثلا 30 روز کار کنه.
پس با این حساب تاریخ ویندوز(سیستم) به درد نمیخوره و باید به همان روشی که این شرکتها با همان شمارنده تاریخ را بدست میارن، کارتونا حل کنین.

barnamenevisforme
پنج شنبه 20 مهر 1391, 13:04 عصر
سلام

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

mahdidabaghi
پنج شنبه 20 مهر 1391, 20:36 عصر
سلام به همه دوستان
خیلی وقت بود که به برنامه نویس نیومده بودم بعد چند مدت این اولین باره دیدم بحث یکم داغ شده گفتم قاطی شم
ببخشید من دو تا رشته ریاضی و کامپیوتر رو باهم می خونم یکم اعتماد به نفس کاذب بهم دست داده ولی می دونید من می گم به هیچ عنوان این امکان نداره که بدون استفاده از پروسس در جریان این قضیه رو حل کنید منظورم راه حل علمی نه ترفند
با یه مثال ساده میگم یه بردار رو در نظر بگیرید اگه بخواهیم انتهای این بردار رو پیدا کنیم حتما باید ابتدا و طول بردار رو داشته باشیم و ابتدا که معلومه همون تاریخ نصب حالا طول رو چجوری حساب کنیم ؟(منظورم اندازه نیست که در اون صورت میشه مدت زمان استفاده شده از نرم افزا) مطمئنا طول همون اختلاف تاریخ نصب و تاریخ اجرای کنونی برنامست دیگه(باید فاصله 30 باشه) که این اندازه 30 به سیستم بستگی داره
البته ترفند هایی که گفتین تا حدودی کار راه انداز هست اما جواب مسئله نیست(مثل مقایسه ی دو تا کسر تو عبارت شرطیه که ممکنه اون اعشارای اخرش کار دست ادم بده) و اینو بدونید که حتی خیلی از برنامه های بزرگ با عقب کشیدن تاریخ سیستم کار می کنند
با سلام
مهندس جان ای کاش این الگوریتمی که بهتون گفتمو یه بار اجرا میکردین.من که خودم این روش رو انجام میدم کاربران نمیتونن با عقب کشیدن یا حتی جلو کشیدن تاریخ به برنامه کلک بزنن.یعنی همون 30 روز اجرا میشه نه کمتر و نه بیشتر

Alghoochi
جمعه 21 مهر 1391, 00:10 صبح
سلام
برای حل اصولی این مشکل یه راهنمایی میکنم ولی پیاده سازیش باشه با شما:
همونطور که میدونید هر مادربوردی یه تاریخ انقضا داره! و این تاریخ انقضا با یه فرمولی محاسبه میشه که الان نظرم نیست.
یعنی حتی اگه مادربورد آک آک توی کمد هم باشه اون فرمول میاد تاریخ انقضا را محاسبه میکنه.
هدفم از موارد فوق این بود که مادربورد یه Counter داره که حتی اگه از اون اصلا استفاده هم نشه، اون شمارنده روز به روز افزایش پیدا مکنه.
شرکتهای نرمافزاری حرفه ای(مثل آنتی ویروس نویس ها) نیز محصولاتشان را با همین روش محدود میکنن که مثلا 30 روز کار کنه.
پس با این حساب تاریخ ویندوز(سیستم) به درد نمیخوره و باید به همان روشی که این شرکتها با همان شمارنده تاریخ را بدست میارن، کارتونا حل کنین.

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