PDA

View Full Version : آموزش: کار با تایمر



ahmadsam
پنج شنبه 26 آذر 1388, 10:13 صبح
در این تاپیک سعی می کنیم مثال هایی از کاربرد تایمر ها بکار ببریم
مثال 1





1: // Timer02.cs - Displaying Date and Time
2: // Using the Timer class.
3: // Press Ctrl+C to end program.
4: //------------------------------------------
5: using System;
6: using System.Timers;
7:
8: class myApp
9: {
10: public static void Main()
11: {
12: Timer myTimer = new Timer();
13: myTimer.Elapsed += new ElapsedEventHandler( DisplayTimeEvent );
14: myTimer.Interval = 1000;
15: myTimer.Start();
16:
17: while ( Console.Read() != 'q' )
18: {
19: ; // do nothing...
20: }
21: }
22:
23: public static void DisplayTimeEvent( object source, ElapsedEventArgs e )
24: {
25: Console.Write("\r{0}", DateTime.Now);
26: }
27: }



ضمیمه:

41314

DataMaster
پنج شنبه 26 آذر 1388, 11:43 صبح
ممنون
اگه چند مثال در مورد کاربرد تایمرها به صورت چند نخی هم ارائه بدین خیلی خوبه

HollyGhost
پنج شنبه 26 آذر 1388, 12:21 عصر
تصور می کنم همچین چیزی قبلا مطرح شده بود!

در دات نت دو دسته تایمر هست، تایمر Thread و معمولی

تایمر چند نخی:
System.Threading.Timer

تایمر که برای استفاده در فرم های ویندوز طراحی شده
System.Windows.Forms.Timer

تایمر معمولی که می توان به صورت مستقل استفاده کرد:
System.Timers.Timer

تایمری که متفاوت از بقیه است و عمل PostBack رو با استفاده از Javascript در صفحه وب انجام می ده و برای ASP.NET طراحی شده:
System.Web.UI.Timer

ahmadsam
پنج شنبه 26 آذر 1388, 13:29 عصر
مثال دوم :





using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Threading;


namespace Win32
{
internal class HiPerfTimer
{
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(
out long lpPerformanceCount);


[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(
out long lpFrequency);


private long startTime, stopTime;
private long freq;


// Constructor
public HiPerfTimer()
{
startTime = 0;
stopTime = 0;


if (QueryPerformanceFrequency(out freq) == false)
{
// high-performance counter not supported
throw new Win32Exception();
}
}


// Start the timer
public void Start()
{
// lets do the waiting threads there work
Thread.Sleep(0);


QueryPerformanceCounter(out startTime);
}


// Stop the timer
public void Stop()
{
QueryPerformanceCounter(out stopTime);
}


// Returns the duration of the timer (in seconds)
public double Duration
{
get
{
return (double)(stopTime - startTime) / (double) freq;
}
}
}
}


ضمیمه:

41326

persianlove
پنج شنبه 26 آذر 1388, 18:48 عصر
سلام دوست عزیز من در گرافیک سی شارپ برنامه ای نوشتم که نیاز به تایمر دارد ولی کار نمکنه!
یک 4 راه هست که یک چراغ راهنما هست که که باید هر چند ثانیه خاموش بشه حالا من اینو توی فرم لود و رویداد تیک تایمر نوشتم بعد از گذشت 2 ثانیه هیچ اتفاقی نمیفته و اخر کار چراغها خاموش میشه.
من پرس و جو که کردم گفتن باید این تایمر تو رویداد onpaint نوشته بشه ولی نمیدونم چون زیاد وارد نیستم میشه کمک کنین؟
میشه تایمر رو توی onpaint صدا زد؟
در کل راه دیگه ای به جز تایمر واسه این برنامه وجود داره یا نه؟

shocraneh
سه شنبه 11 مرداد 1390, 08:30 صبح
از تایمر چند نخی تو تاپیک ها خیلی تعریف شده اما شیوه استفاده از اون رو نگفتند .ممکنه دوستان کمک کنند.من باید هر نیم ساعت اطلاعات نمایش داده شده در گرید و یک کمبو باکس رو بروزرسانی کنم

shocraneh
پنج شنبه 13 مرداد 1390, 16:08 عصر
کسی نبود راهنمایی کنه

shocraneh
پنج شنبه 20 مرداد 1390, 11:15 صبح
با سلام . من میخام هر 20 دقیقه گرید روی فرم رفرش بشه و اگه مقادیر بانک داده عوض شده ،مقادیر گرید به روز بشه و به کاربر پیغام داده بشه. من سرچ کردم ولی راستش اجرای کدها مشکل داره اگه دوستان زحمت بکشند یه برنامه با این مضمون برام بزارم ممنون میشم