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

نام تاپیک: روش استفاده از timer call back

  1. #1

    روش استفاده از timer call back

    با سلام خدمت دوستان عزیز.
    در برنامه ام از timer call back استفاده میکنم ولی روش ست کردن شروع و نیز پریود یادآوری را نمیدانم در هنگام new کردن چگونه انجام دهم. اگر امکان دارد مرا راهنمایی کنید.
    متشکرم.

  2. #2
    برای این کار از تایمر موجود در System.Threading استفاده کنید.


    Timer myTimer;
    myTimer = new Timer(new TimerCallback(ScheduledWorkCallbackInterval), session["User_10"], 1000*60*60,1000*60*60); //بعد از یک ساعت


    private void ScheduledWorkCallbackInterval(object sender)
    {

    }

    نکته اینکه به جای session["User_10"] هر چیزی رو می خواهید این رویداد دریافت کند ارسال بکنید!

    اگه کمی روی این قضیه کار بشه میشه باهاش Scheduled jobs رو پیاده سازی کرد.
    (البته برای Scheduled jobs یک ابزار نوشتم که با کش کار میکنه!!)

  3. #3
    از راهنماییتان متشکرم.
    پارامترهای 1000*60*60,1000*60*60 چه هستند وکدام پریود است؟
    ویک سوال دیگر هم در مورد session[user10]داشتم که این چیست؟
    من میخواهم وقتی یک صفحه ای لود میشود در آن صفحه بررسی کند اگر تاریخ امروز با تاریخ در دیتابیس یکی است پس از هر دقیقه، ساعت سیستم را باساعت جاری مقایسه کند و اگر یکی بود در صفحه پیغامی بدهد.
    فرموده بودید:
    نکته اینکه به جای session["User_10"] هر چیزی رو می خواهید این رویداد دریافت کند ارسال بکنید!
    حالا باید چه چیزی را به جای آن قرار دهم.
    اگر سوالم ابتدایی است عذرخواهی میکنم زیرا تازه با این شی مفید آشنا شده ام.

  4. #4
    کاربر دائمی آواتار mahdi_negahi
    تاریخ عضویت
    آذر 1384
    محل زندگی
    www.iranbuycenter.com
    پست
    582
    امیدوارم به درتان بخورد

    using System;
    using System.Threading;

    class TimerExample
    {
    static void Main()
    {
    AutoResetEvent autoEvent = new AutoResetEvent(false);
    StatusChecker statusChecker = new StatusChecker(10);

    // Create the delegate that invokes methods for the timer.
    TimerCallback timerDelegate =
    new TimerCallback(statusChecker.CheckStatus);

    // Create a timer that signals the delegate to invoke
    // CheckStatus after one second, and every 1/4 second
    // thereafter.
    Console.WriteLine("{0} Creating timer.\n",
    DateTime.Now.ToString("h:mm:ss.fff"));
    Timer stateTimer =
    new Timer(timerDelegate, autoEvent, 1000, 250);

    // When autoEvent signals, change the period to every
    // 1/2 second.
    autoEvent.WaitOne(5000, false);
    stateTimer.Change(0, 500);
    Console.WriteLine("\nChanging period.\n");

    // When autoEvent signals the second time, dispose of
    // the timer.
    autoEvent.WaitOne(5000, false);
    stateTimer.Dispose();
    Console.WriteLine("\nDestroying timer.");
    }
    }

    class StatusChecker
    {
    int invokeCount, maxCount;

    public StatusChecker(int count)
    {
    invokeCount = 0;
    maxCount = count;
    }

    // This method is called by the timer delegate.
    public void CheckStatus(Object stateInfo)
    {
    AutoResetEvent autoEvent = (AutoResetEvent)stateInfo;
    Console.WriteLine("{0} Checking status {1,2}.",
    DateTime.Now.ToString("h:mm:ss.fff"),
    (++invokeCount).ToString());

    if(invokeCount == maxCount)
    {
    // Reset the counter and signal Main.
    invokeCount = 0;
    autoEvent.Set();
    }
    }
    }

  5. #5
    با سلام وتشکر از همه دوستان ونیز جناب mahdi_negahi .
    کد جناب mahdi_negahi را بررسی کردم.ولی اصلاً متوجه نشدم که اینها را کجا بنویسم و چگونه استفاده کنم؟ من در زمینه استفاده از timer مبتدی هستم لطفاً ، خواهشاً مرا با جزئیات بیشتری راهنمایی کنید.
    در داخل windows application برای مثال از یک component بنام timer استفاده کردم.در قسمت property از timer مقدار interval=1000 قرار دادم.یعنی هر ثانیه یکبار.
    ونیز داخل لود فرم timer.start() قرار دادم.
    ونیز داخل تابع tick از timer کد زیر را نوشتم.

    privatevoid timer_Tick(object sender, System.EventArgs e)
    {
    txt_time.Text=DateTime.Now.ToString();
    {

    بنابراین هنگام اجرا ، هر ثانیه یکبار مقدار زمان جاری را در تکست میریخت.
    اما حالا در وب وقتی یک timer در فرم میگذارم فقط یک تابع بنام Elapsed دارد.که در آن هم اگرهمان کد بالا رابنویسم و در لود صفحه هم timer.start() باز هم هیچ کاری نمیکند.
    خواهشاً مرا راهنمایی کنید چه کنم؟
    اصلاً از چه کد یا component ی استفاده کنم و چگونه؟

    در حقیقت من در برنامه ام میخواهم هر دقیقه یکبار ساعت سیستم را بررسی کرده اگر با ساعت موجود در دیتابیس یکی بود آنگاه پیغامی را به صورت alert بدهد.

    حالا خواهشاً مرا راهنمایی کنید چگونه و از چه کدی اینکار را انجام دهم؟؟؟؟

  6. #6
    کاربر دائمی آواتار mahdi_negahi
    تاریخ عضویت
    آذر 1384
    محل زندگی
    www.iranbuycenter.com
    پست
    582
    دوست عزیز خوب ملومه که کد شما کار نمیکند چون کد شما باید به سمت سرور برود و نتایج برگردد
    کد من فقط مثال جامعی از تاپیک اول شما است

  7. #7
    از لطف و راهنمایی شما متشکرم.
    ببخشید من اینگونه سوال پرسیدم. زیرا در این مورد اطلاعاتم خیلی ضعیف است. حالا اگر امکانش هست و در مورد سوال ومشکل اصلی ام که در آخرین تاپیک مطرح کرده ام کسی اطلاعاتی دارد مرا لطفاً راهنمایی کنید.
    که از چه طریقی میتوانم برای آن timer ایجاد کنم که هر دقیقه ساعت جاری را با ساعت در دیتابیس مقایسه کند و اگر یکی بود پیامی دهد.
    خیلی ممنون میشوم.

  8. #8
    میشه پارامترهای Timer رو توضیح بدید.
    ممنون

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

  1. أستورات اصلی مثل call
    نوشته شده توسط tami_1369 در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 1
    آخرین پست: جمعه 01 مهر 1384, 00:58 صبح
  2. Call کردن یک تابع در برنامه
    نوشته شده توسط demon_da در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: چهارشنبه 12 اسفند 1383, 13:53 عصر
  3. Call Of Duty
    نوشته شده توسط Gladiator در بخش طراحی و ساخت بازی‌های کامپیوتری
    پاسخ: 18
    آخرین پست: دوشنبه 26 مرداد 1383, 06:27 صبح
  4. Call Sub or Procedure
    نوشته شده توسط FirstLine در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 04 دی 1382, 12:04 عصر

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

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