نمایش نتایج 1 تا 19 از 19

نام تاپیک: چک کردن قفل سخت افزاری به صورت مداوم

  1. #1
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    چک کردن قفل سخت افزاری به صورت مداوم

    سلام دوستان عزیز من یک قفل سخت افزاری از شرکت منشور سیمین خریداری کردم

    من میخوام به صورت مداوم قفل رو چک کنم در برنامه برنامه من 8 تا فرم وجود داره خوده شرکت منشور سیمین گفته از Thread استفاده کنیم حالا من نمیدونم چطوری باید عمل کنم دوستان میشه راهنمایی کنید


    متن شرکت منشور سیمین :

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

  2. #2
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    سلام
    شما حتما برای بررسی قفل یه تابعی دارید که وجود فل رو بررسی می کنه مثلا توی اولین فرم
    می تونید تو فرم اصلی برنامه یه تایمر بزاری که اون تابع رو توی Thread بزارید و دائما چک کنید اگه هر لحظه او تابع تشخیص داد که قفل وجود نداره از برنامه خارج بشه

  3. #3
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    بیشتر راهنمایی کنید منوجه نشدم

    من از تابع نمیخوام استفاده کنم

  4. #4

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

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

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading;


    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    Thread t = new Thread(WriteY);
    Thread t1 = new Thread(WriteX);
    t.Start();
    t1.Start();
    Console.ReadLine();
    }
    static void WriteY()
    {
    for (int i = 0; i < 1000; i++) Console.Write("y");
    }
    static void WriteX()
    {
    for (int i = 0; i < 1000; i++) Console.Write("x");
    }
    }
    }

  5. #5

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

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

    while (true)
    {
    چک کردن فقل
    }

  6. #6
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    به هیچ عنوان نباید از حلقه استفاده کرد در فرم ها سرعت برنامه به شدت کاهش پیدا میکنه

    برای همین میخوام از Thread استفاده کنم که عمل چک کردن قفل کاملا جدا از عملیات های برنامه باشه

    این که من بیام یک تایمر قرار بدم که هر 1 ثانیه قفل رو چک کنه کاملا شدنی هست ولی صحیح نیست یه برنامه نویس حرفه ای ببینه میخنده بهم

    من میخوام این کار به صورت کاملا استاندارد و صحیح انجام بشه که Thread هست که من نمیدونم باید چطوری عمل کنم

  7. #7
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    سلام
    قبلا یک نمونه با vb.net نوشته بودم
    ی نگاه کنید شاید به کارتون بیاد
    https://barnamenevis.org/showthread.php?319865

  8. #8
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    دوستان میشه راهنمایی کنید

  9. #9
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    ..............................................
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    آقا شرمنده لینک قبلی اشتباهه
    اینو دانلود کنید
    فقط تو لود برنامه یه خط وجود داره
    CheckForIllegalCrossThreadCalls = false;
    که مطمئنم منطقی نیست ولی راستش راه حلش رو نمی دونم
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

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

    صبا صبوحی

  12. #12
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    دوستان عزیز من از روش Thread میخوام باشه نه تایمر و ......

    استاندارد این کار با Thread هست

  13. #13
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    برادر من تایمر یک جز لاینفک برای انجام اینکاره از Thread برای جلوگیری از هنگ و اینکار ها استفاده میشه چون قراره یک تابع هر از چند زمان یکبار استفاده و اجرا بشه باید از Timer استفاده بشه حتما!!!

  14. #14
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    من کاملا پاسخ شما رو رد میکنم

    کی به شما گفته Thread برای جلوگیری از هنگ کردن ؟ داخل چه کتابی نوشته ؟ اصلا اینطور نیست

    خلاصه ای از thread
    Threadیا در اصطلاح "نخ" پراسس ها کوچکی هستند که هر کدام تنها یک هدف رو انجام می دن و در نهایت پس از پایان یافتن اجرای مجموعه thread ها یک برنامه یا یک پراسس اصلی پایان پیدا می کنه. از thread برای انجام کارهای موازی همزمان استفاده میشه.
    اگر قرار باشه این کار با تایمر انجام بشه CPU بیچاره میشه؟ اگر برنامه به صورت شبکه ای باشه دیگه بد تر

    دقیقا بهترین روش و اصولی ترین روش برای پیاده سازی این کار thread هست

  15. #15
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    تا حدودی قبول ولی منظور من این بود که استفاده از ترد و نخ کشی برای اینه که فرایند چک کردن و اجرای تابع تاثیری توی ظاهر و اجرای برنامه نداشته باشه...ولی بحث اجرای مداوم و پی در پی شک نکن Timer

  16. #16
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    نقل قول نوشته شده توسط rezafatehy مشاهده تاپیک
    تا حدودی قبول ولی منظور من این بود که استفاده از ترد و نخ کشی برای اینه که فرایند چک کردن و اجرای تابع تاثیری توی ظاهر و اجرای برنامه نداشته باشه...ولی بحث اجرای مداوم و پی در پی شک نکن Timer
    سلام
    دوست عزیز، Timer بیشتر برای کارهای دم دستی کارایی داره، کار درست و حسابی رو به‌تره مستقیم با Thread انجام بدی.
    به نظر من نوشته‌های دوستمون mohammad2407 درسته غیر از این که Timer نمی‌تونه CPU رو بیچاره کنه. ( حداقل به اندازه‌ی یه برنامه‌نویس ضعیف )
    اما باز می‌گم، اگه خواستین قفل ایجاد کنین، حداقل یک‌بار یه قفل رو بشکونین. تازه متوجه می‌شین که برنامه‌نویسی ساخت یافته
    و تر و تمیز چقدر مطلوب قفل‌شکن‌های محترم هست.

    صبا صبوحی

  17. #17
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

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

    نقل قول نوشته شده توسط mohammad2407 مشاهده تاپیک
    اگر قرار باشه این کار با تایمر انجام بشه CPU بیچاره میشه؟ اگر برنامه به صورت شبکه ای باشه دیگه بد تر

    * * * البته استفاده مکرر از ترد درسته که کمک میکنه برنامه شما هنگ نکنه ولی همون باری رو که قراره روی پردازنده بیاره میاره...

    شما باید در اول هر تابعی که دارید استفاده میکنید در برنامه این چک رو انجام بدید (البته نه همیشه)

    شما باید از تابع random استفاده کنید

    مثلا همیشه قبل از تست قفل باید یک عدد رندم بین 1 تا 7 ایجاد کنید و بعد اگز مثلا خروجی برابر با 4 شد تست قفل رو انجام بدید

  18. #18
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    این روش هاایی که دارین میگی کاملا درسته

    ولی من میخوام از ترد استفاده کنم

  19. #19
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    پونک
    سن
    42
    پست
    490

    نقل قول: چک کردن قفل سخت افزاری به صورت مداوم

    از Thread استفاده کن و داخل یک while بینهایت عمل چک رو انجام بده، اما داخل حلقه (Thread.Sleep(1000 رو هم بزار تا CPU Usage بالا نره. اینجوری عمل مثل یه تایمر عمل میکنه.

تاپیک های مشابه

  1. حرفه ای: کپی کردن قفل سخت افزاری
    نوشته شده توسط shahin_sharifi در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 9
    آخرین پست: سه شنبه 24 آذر 1394, 17:37 عصر
  2. نحوه درست چک کردن قفل سخت افزاری
    نوشته شده توسط m.khani_121 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: چهارشنبه 22 شهریور 1391, 08:24 صبح
  3. thread / ترد برای چک کردن قفل سخت افزاری
    نوشته شده توسط netfa.ir در بخش C#‎‎
    پاسخ: 6
    آخرین پست: سه شنبه 14 دی 1389, 08:35 صبح
  4. پاسخ: 6
    آخرین پست: سه شنبه 06 مهر 1389, 15:24 عصر
  5. سوال: چک کردن قفل سخت افزاری در حین اجرای برنامه
    نوشته شده توسط m75an86 در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: پنج شنبه 13 تیر 1387, 22:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •