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

نام تاپیک: دستور دیگری بجای Sleep ?

  1. #1
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417

    دستور دیگری بجای Sleep ?

    سلام
    بچه ها به جای تابع Sleep دستور دیگری برای وقفه سراغ ندارید :?:
    اخه Sleep وقتی وقفه میده تمام برنامه قفل میشه :-x
    من فقط میخام تو یه شمارش یه وقفه بدم و دوباره شرع کنم طوریکه کاربر بتونه از بقیه برنامه استفاده کنه :roll:

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    میتونی یک حلقه بسازی و در ابتدا قبل از حلقه زمان سیستم رو بدست بیاری
    بعد درون حلقه تا زمانی بچرخی که زمان سیستم منهای زمان ابتدا کوچکتر از
    زمان دلخواه ایست میباشد و در غیز اینصورت از حلقه خارج بشی

  3. #3
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    کدنویس جان میشه یه کم توضیح بدین :?:
    من میخام که تو یه لیبل یه چیزایی بنویسم و وقتی که به عدد یا کلمه مورد نظر رسید یه 2 ثانیه ای اونو نشون بده و دوباره ادامه پیدا کنه و من برا اینکار از یه شرط و یه Sleep استفاده کردم که نشد :oops:

  4. #4
    میتونی یک حلقه بسازی و در ابتدا قبل از حلقه زمان سیستم رو بدست بیاری
    بعد درون حلقه تا زمانی بچرخی که زمان سیستم منهای زمان ابتدا کوچکتر از
    زمان دلخواه ایست میباشد و در غیز اینصورت از حلقه خارج بشی
    راه درستیه ولی برای اینکه برنامه متوقف نشه باید تو داخل حلقه از عبارت زیر استفاده کنید:
    Application.ProcessMessages

  5. #5
    جان میشه در مورد Application.ProcessMessages بیشتر توضیح بدی؟ SalarSoft

  6. #6
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    مشهد مقدس
    پست
    416
    فکر کنم منظورش همون Doevent باشه :roll:

  7. #7
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    اره اگه میشه یه کم توضیح بده که کارش چیه

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    با همون حلقه کاملا به جواب میرسی اصلا این یک روشی است که در خیلی از
    مواقع برای اندازه گیری زمان پردازش های مختلف و مقایسه آنها استفاده میشه

  9. #9
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    شرمنده میشه یه مثال بزارید :oops:
    اخه من هر کار کردم باز برنامه قفل میشه :o

  10. #10
    بابا از Timer استفاده کن.
    ضمنا Application.ProcessMessage مربوط به .NET است نه VB6

  11. #11
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    من تو برنامه ام از تایمر زیاد استفاده کردم و به همین خاطر بعد ار Exe کردنش سرعت بقیه برنامه ها رو هم پایین میاره :evil:
    بله حق با شما بود چون دستور Application.ProcessMessage تو وی بی جواب نمی داد :shock:
    میشه یکی یه راهنمایی کنه تا بعد از استفاده از تایمر ها سرعت کم نشه

  12. #12
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    :roll:

  13. #13
    باید از حلقه ها استفاده کنی ولی برای این که اجرای متعدد حلقه برنامه رو به حالت تعلیق نبره باید با دستور DoEvents حلقه رو گسسته کنی
    یه مثال میزنم
    برنامه زیر در اثر کلیک کردن یه دکمه بعد از 10 ثانیه یک کادر محاوره ای نمایش میده

    Private Sub Command1_Click()
    Dim t as date
    t = Time
    Do
    DoEvents
    Loop While DateAdd("s", 10, t) > Time
    MsgBox "After 10 seconds"
    End Sub

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

  14. #14
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    ممنونم :kiss: :kiss: :kiss:

  15. #15
    آقا از doevents برای چی استفاده کردین؟
    بدون آن هم که کار میکنه

  16. #16
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    نقل قول نوشته شده توسط vbprogramer
    آقا از doevents برای چی استفاده کردین؟
    بدون آن هم که کار میکنه
    سلام
    من که کارم راه افتاد میشه شما هم مثال خودتون رو بزارید

  17. #17
    حمید جان من توی همون برنامه گفتم
    فقط میخواهم بدونم خاصیت doevent چیه و برای چی استفاده میشه؟

  18. #18
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    vbprogramer عزیز این دستور باعث میشه که تو حلقه برنامه قفل نکنه (همون مشکل من) :|

  19. #19
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    نیازی به doevents نیست و در بعضی مواقع همین مسئله باعث هنگ کردن میشه
    ( نه همیشه در حالت خاص )‌ به همین خاطر اگر استفاده نکنی بهتره اگر هم استفاده
    کردی که نوش جونت :wink:

  20. #20
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    سلام
    کدنویس عزیز میشه اون حالات خاص رو بگید در ضمن من بدون Do Event نوشتم ولی برنامه ام قفل میکرد :-x
    میشه شما یک مثال بدون Do Event بگید

  21. #21
    کاربر دائمی
    تاریخ عضویت
    بهمن 1382
    محل زندگی
    فعلا ایران - فعلا تهران
    پست
    2,628
    شما همین کد رو بدون doevents بکار ببر ببین بازم هنگ میکنه
    یه توضیحی هم راجع به برنامه ات بده ببینم مشکل کجاست

  22. #22
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417
    اره هنگ میکنه
    من یه لیبل دارم که توش هم متن و هم عدد هست
    من میخام وقتی عدد نمایش داده میشه چند ثانیه مکث کنه و بعد ادامه بده
    من اینو تو یه تایمر گذاشتم و چون Interval تایمرم از 1 ثانیه کمتر بود نمیتونستم از خود تایمر استفاده کنم
    در ضمن من نمیخوام از چند تا تایمر استفاده کنم چون سرعت رو پایین میارن :evil:

  23. #23
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    هلند
    پست
    1,709
    دوستان عزیزی که کار DoEvent را برسیده بودند . اگر برنامه شما در حال اجرا باشد و مثلا به یک حلقه برسد ویندوز تقریبا کارهای دیگرش( منظور برنامه های دیگری که در حال اجرا هستند ) را ول نموده و حلقه شما را اجرا میکند برای اینکه ویندوز به برنامه های دیگر هم برسد اگر به این دستور رسید موقتا از کنترل را از برنامه در حال اجرا گرفته و به برنامه های دیگر میرسد و سبس کنترل را به برنامه ما میفرستد یعنی از این دستور استفاده میشود :ه ویندوز بتواند به برنامه های در حال اجرای دیگر نیز رسیدگی کند .

  24. #24
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    Iran
    پست
    417

  25. #25
    اگر برنامه شما در حال اجرا باشد و مثلا به یک حلقه برسد ویندوز تقریبا کارهای دیگرش( منظور برنامه های دیگری که در حال اجرا هستند ) را ول نموده و حلقه شما را اجرا میکند برای اینکه ویندوز به برنامه های دیگر هم برسد اگر به این دستور رسید موقتا از کنترل را از برنامه در حال اجرا گرفته و به برنامه های دیگر میرسد و سبس کنترل را به برنامه ما میفرستد یعنی از این دستور استفاده میشود :ه ویندوز بتواند به برنامه های در حال اجرای دیگر نیز رسیدگی کند .
    در واقع این دستور به ویژوال بیسیک ( نه ویندوز ) اعلام می کند که برنامه را در محل برخورد به این دستور متوقف کرده و به رویداد های دیگر صف پیام که ویندوز به سوی برنامه ارسال کرده پاسخ دهد

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

  1. ایجاد یک Timer یا Sleep
    نوشته شده توسط Nimi_hop در بخش برنامه‌نویسی جاوا
    پاسخ: 2
    آخرین پست: شنبه 29 اردیبهشت 1386, 21:51 عصر
  2. sleep()
    نوشته شده توسط essa_61 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: چهارشنبه 16 اسفند 1385, 10:29 صبح
  3. عملکرد Thread.Sleep
    نوشته شده توسط PrinceDotNet در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 24 بهمن 1384, 17:18 عصر
  4. خطای Ambiguity در استفاده از تابع Sleep
    نوشته شده توسط orion188 در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 2
    آخرین پست: پنج شنبه 14 آبان 1383, 14:19 عصر

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

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