PDA

View Full Version : ایجاد تایمر در ویژوال سی ++



mousamk
چهارشنبه 08 شهریور 1385, 19:45 عصر
لطفاً بفرمایید که در ویژوال سی ++ چطور می‌توانیم تایمری ایجاد کنیم که مثلاً هر ثانیه یکبار دستورات خاصی را اجرا کند.

البته در اینجا (http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers/usingtimers.asp) (msdn online) مطالبی نوشته بود، ولی من چیزی متوجه نشدم.

منتظر توجه دوستان هستم.

Arash_j13
چهارشنبه 08 شهریور 1385, 23:56 عصر
این لینکی که دادید کاملا توضیح داده شما باید تابع SetTimer رو فراخوانی کنید
پارمتر یه کد مشخصه هست که خودتون اختصاص می دیدی تا در صورتی که چند تا تایمر توی برنامه دارید بتونید اونها رو از هم تشخیص بدید
پارمتر دوم زمان بر حسب میلی ثانیه و پارمتر سوم یه تابع callback در فواصل زمانی مشخص شده فراخوانی می شه اگه این پارامتر NULL با شه به برنامه پیغام WM_TIMER فرستاده می شه

marvel
پنج شنبه 09 شهریور 1385, 10:05 صبح
فکر کنم شما با ایجاد تایمر مشکل دارید نه با روش استفاده تایمر.
شما می تونید با استفاده از class wizard به سادگی این کار رو انجام بدید.
class مورد نظر رو انتخاب کرده و از لیست message ها WM_TIMER رو انتخاب کنید.
یک تابع با عنوان OnTimer در کلاس ایجاد میشه داخل این تابع می تونید دستورات مورد نظر رو بنویسید.
هر جا خواستید تایمر شروع به کار کنه تابع SetTimer را استفاده کرده و فواصل زمانی اجرای دستورات را به این تابع می فرستید.

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

امیدوارم مفید باشه.

mousamk
پنج شنبه 09 شهریور 1385, 19:42 عصر
فکر کنم شما با ایجاد تایمر مشکل دارید نه با روش استفاده تایمر.
شما می تونید با استفاده از class wizard به سادگی این کار رو انجام بدید.
class مورد نظر رو انتخاب کرده و از لیست message ها WM_TIMER رو انتخاب کنید.
یک تابع با عنوان OnTimer در کلاس ایجاد میشه داخل این تابع می تونید دستورات مورد نظر رو بنویسید.
هر جا خواستید تایمر شروع به کار کنه تابع SetTimer را استفاده کرده و فواصل زمانی اجرای دستورات را به این تابع می فرستید.

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

امیدوارم مفید باشه.

خیلی ممنونم دوست عزیز. مشکلم قبلاً حل شد. توضیح اضافی هم دیگه لازم نیست؛ می‌دونم که برای استفاده از چند تا تایمر کافی هست که از یک دستور switch استفاده کنیم تا همه تایمرها رو مدیریت کنیم.