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

نام تاپیک: برنامه یادآوری

  1. #1
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    برنامه یادآوری

    سلام..........

    من یه جدول دارم که حاوی یه فیلد تاریخ و یه فیلد ساعت هستش و یه فیلد متن.........

    در واقع این جدول برای یه برنامه کوچیک یادآوری هستش......که اون متن رو باید در تاریخ و ساعت مورد نظر یادآوری کنه...........

    تایمر........نه

    فکر می کنم با ریجستری بشه...........هم اکنون نیازمند یاری سبزتان هستیم.......

  2. #2
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    نقل قول: برنامه یادآوری

    سلام........

    ممنونم دوستان.............

    سامان جان .........برای این کار باید از یه تایمر استفاده بکنم......... 1 روز رو تبدیل به ثانیه بکن ...اونوقت میدونی باید چند بار تایمر تیک بزنه...........

    بازم ممنونم.........

    کمک فوری......

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: برنامه یادآوری

    شرمنده من حواسم به تایمرش نبود!!

  4. #4
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: برنامه یادآوری

    سلام
    سوال جالبیه :)
    ----------------------------
    من یکم جستجو کردم.
    این برنامه به زبان C#‎ نوشته شده.
    شاید بتونید از کدهای Reminder اون الگو بگیرید و به به Vb.net تبدیل کنید.
    Address Book and Events Reminder


    -------------------------------
    ببخشید شما چرا انقدر اخر جملاتتون ............. می گزارید؟
    موفق باشید.

  5. #5
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: برنامه یادآوری

    این هم یک Reminder مفصل برای VB.NET
    http://www.a1vbcode.com/app-4407.asp
    _____________________________________

    یک راه بهتر پیدا کردم.
    Windows service and timer

    پست دوم سوال که Marked as answer شده را مطالعه بفرمایید.
    موفق باشید.

  6. #6
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    نقل قول: برنامه یادآوری

    سلام.....ریکی جان......

    اون برنامه ای که با VB بود رو نیگاه کردم......بازم از تایمر استفاده می کرد........

    دوستان توجه کنند که من با کار با ساعت و یا تاریخ و همچنین پایگاه داده مشکلی ندارم...فقط مسئله استراتژی یادآوری هستش..........

    راستی ....اگه میشه....یه نیگاهی به برنامه C بنداز . آخه ما سوات زبان C نداریم......ممنون میشم........

    سامان جان ....شما هم ما رو فراموش نکن........

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: برنامه یادآوری

    خوب من یکم فکر کردم دیدم که همون روشی که گفتم جواب میده شما این Sub رو توی برنامتون تعریف کنید :

    Public Sub TimerSTring(ByVal Time As String, ByVal Date_ As String)
    Do While Time <> "" And Date_ <> ""
    Application.DoEvents()
    Dim TimeNow As String = Mid(System.DateTime.Now.ToLongTimeString, 1, 8)
    Dim DateNow As String = System.DateTime.Today
    If Date_ = DateNow And TimeNow = Time Then
    MsgBox("Time Now : " & Date.Today & System.DateTime.Now.ToLongTimeString)
    End If
    Loop
    End Sub

    خوب حالا هر جا که دوست داشتید این جوری ازش استفاده کنید :
    TimerSTring("12:08:50", Date.Today)

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

  8. #8
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: برنامه یادآوری

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    خوب من یکم فکر کردم دیدم که همون روشی که گفتم جواب میده شما این Sub رو توی برنامتون تعریف کنید :

    Public Sub TimerSTring(ByVal Time As String, ByVal Date_ As String)
    Do While Time <> "" And Date_ <> ""
    Application.DoEvents()
    Dim TimeNow As String = Mid(System.DateTime.Now.ToLongTimeString, 1, 8)
    Dim DateNow As String = System.DateTime.Today
    If Date_ = DateNow And TimeNow = Time Then
    MsgBox("Time Now : " & Date.Today & System.DateTime.Now.ToLongTimeString)
    End If
    Loop
    End Sub
    خوب حالا هر جا که دوست داشتید این جوری ازش استفاده کنید :
    TimerSTring("12:08:50", Date.Today)
    فقط جهت احتیاط از اون توی فورم لود استفاده نکنید.
    در ضمن توی FormClosing از کلمه End استفاده کنید تا برنامه به تور کامل بسته شه.
    حالا فکر می کنم نه نیازی به شرمندگی باشه نه اون همه کد.
    برادر من.
    ایشون تاریخ تولد بنده را در پایگاه ذخیره کردند.
    تاریخ تولد من 31 شهریور هست.
    حالا می خوان اون تاریخ به من تبریک بگن از امروز تا 31 شهریور چطوری می توانند با این کد شما بررسی کنند ؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: برنامه یادآوری

    نقل قول نوشته شده توسط ricky22 مشاهده تاپیک
    برادر من.
    ایشون تاریخ تولد بنده را در پایگاه ذخیره کردند.
    تاریخ تولد من 31 شهریور هست.
    حالا می خوان اون تاریخ به من تبریک بگن از امروز تا 31 شهریور چطوری می توانند با این کد شما بررسی کنند ؟
    خوب 31 شهریور رو به میلادی حساب کنید بعد هم جای Date.Today بزارید.
    بعد هم برنامه رو استارت آپ کنید توی FormShwon هم از کد استفاده کنید بعید می دونم مشکلی پیش بیاد.(درضمن بگم که من تازه .net رو شروع کردم اگه اشباه ی دییدد اشتباه رو گوش زد کنید کافیه!)
    درضمن شما 1 نکته رو فرا موش کردی اونم اینه که اگه ساعت تولدتون رو ندید چجوری ایشون بهتون تبریک بگن؟؟؟؟؟؟؟؟؟؟

  10. #10
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: برنامه یادآوری

    نقل قول نوشته شده توسط nasim bahari مشاهده تاپیک
    سلام.....ریکی جان......

    اون برنامه ای که با VB بود رو نیگاه کردم......بازم از تایمر استفاده می کرد........

    دوستان توجه کنند که من با کار با ساعت و یا تاریخ و همچنین پایگاه داده مشکلی ندارم...فقط مسئله استراتژی یادآوری هستش..........

    راستی ....اگه میشه....یه نیگاهی به برنامه C بنداز . آخه ما سوات زبان C نداریم......ممنون میشم........

    سامان جان ....شما هم ما رو فراموش نکن........
    اینی که از Timer استفاده نکنید ممکن نیست.
    اما می تونید با ترکیب اون با Window Service و Thread بهینه استفاده کنید که نخواید هر ثانیه چک کنی.
    لطفا به لینک هایی که می گزارم الطفات بیشتری داشته باشید!
    http://www.vbdotnetheaven.com/upload...scheduler.aspx
    --------------------------------------
    Quartz.NET - Enterprise Job Scheduler for .NET Platform


    این لینک یک پروژه Open Source در SourceForge هست که برای دریافت اون باید از فیلتر شکن استفاده کنید.
    ---------------------------------------------------------
    این کد همون کد C#‎‎ هست که شما فرمودید متوجه نشدید.

    Imports System.Threading

    Class TimerExample
    Private Shared Sub Main()
    Dim autoEvent As New AutoResetEvent(False)
    Dim statusChecker As New StatusChecker(10)

    ' Create the delegate that invokes methods for the timer.
    Dim timerDelegate As New TimerCallback(AddressOf 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." & vbLf, DateTime.Now.ToString("h:mm:ss.fff"))
    Dim stateTimer As 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(vbLf & "Changing period." & vbLf)

    ' When autoEvent signals the second time, dispose of
    ' the timer.
    autoEvent.WaitOne(5000, False)
    stateTimer.Dispose()
    Console.WriteLine(vbLf & "Destroying timer.")
    End Sub
    End Class

    Class StatusChecker
    Private invokeCount As Integer, maxCount As Integer

    Public Sub New(count As Integer)
    invokeCount = 0
    maxCount = count
    End Sub

    ' This method is called by the timer delegate.
    Public Sub CheckStatus(stateInfo As [Object])
    Dim autoEvent As AutoResetEvent = DirectCast(stateInfo, AutoResetEvent)
    Console.WriteLine("{0} Checking status {1,2}.", DateTime.Now.ToString("h:mm:ss.fff"), (System.Threading.Interlocked.Increment(invokeCoun t)).ToString())

    If invokeCount = maxCount Then
    ' Reset the counter and signal Main.
    invokeCount = 0
    autoEvent.[Set]()
    End If
    End Sub

    End Class

  11. #11
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    نقل قول: برنامه یادآوری

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    خوب 31 شهریور رو به میلادی حساب کنید بعد هم جای Date.Today بزارید.
    بعد هم برنامه رو استارت آپ کنید توی FormShwon هم از کد استفاده کنید بعید می دونم مشکلی پیش بیاد.(درضمن بگم که من تازه .net رو شروع کردم اگه اشباه ی دییدد اشتباه رو گوش زد کنید کافیه!)
    د
    برادر من
    خب حالا روز رو میشه با این راه شما چک کرد(اونم با کلی حرف و حدیث) ساعت و دقیقه چی؟
    رضمن شما 1 نکته رو فرا موش کردی اونم اینه که اگه ساعت تولدتون رو ندید چجوری ایشون بهتون تبریک بگن؟؟؟؟؟؟؟؟؟؟

  12. #12
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: برنامه یادآوری

    ببین ricky22 جون من که گفتم تازه کارم.ولی هرچی فکر می کنم مشکلی نمی بینم خوب ساعت و دقیقه که تکلیف شون روشنه!!
    حالا اگه به طور مثال کامپیوتر توی اون دقیقه خاموش بود میتونید یه If بزارید که چک کنه اگه تایم کامپیو تر بیشتر از تایم ما بود اون وقت هم پیام رو نشون بده.
    میشه یکم بیشتر توضیح بدی مشکل کجاست(این موضوع رو فقط برای یاد گیری دنبال میکنم و کمک کردن به یک دوست نه چیزه دیگه ای!)؟

  13. #13
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    نقل قول: برنامه یادآوری

    سلام.........دوستان

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

  14. #14

    نقل قول: برنامه یادآوری

    من برای این کار یک بار از این روش استفاده کردم:

    1- هنگام شروع برنامه مناسب هایی که قرار بود در آن روز یاد آوری شود را لود کردم.
    2- اگر مناسبت داشت و در ساعت خاصی نیاز به یادآوری داشت به لیستی اضافه میشد.
    3- اختلاف ساعت موارد لیست با ساعت جاری چک میشد.
    اگر موردی با کمتر از یک ساعت وجود داشت، تایمری دیگر فعال میشد که هر 3دقیقه یک بار لیست را چک میکرد تا در به هنگام رسیدن به ساعت مقرر یادآوری لازم را انجام دهد. سپس آن مورد از لیست حذف میشد. و تایمر 3دقیقه ای غیر فعال میشد.
    4- اگر موردی در لیست بود که بیش از یک ساعت به دخداد آن مانده بود، یک تایمر که هر یک ساعت یک بار اجرا میشد لیست را چک میکرد، در صورت رسیدن به ساعتی که در آن یادآوری باید انجام شود، تایمر 3دقیقه ای فعال میشود.
    5- این روند تا هنگام خالی شدن لیست ادامه پیدا میکرد

    مزایا :
    1- شی تایمر حتی با Interval طولانی حافظه همچنین پردازشگر را مشغول نمی کند.
    2- موقع خطا یابی برنامه تایمر وسط کار شما نمی پرد.
    3- چون کد ها با فاصله زیاد اجرا میشوند سرعت برنامه شما پایین نمی آید.

    ایراد ها :
    1- خطای زمانی استفاده از این روش معادل حداکثر 3 دقیقه است که با استفاده از یک تایمر سوم و کمی دستکاری در الگوریتم کاملا قابل حل است + اینکه برنامه هایی مانند Outllook هم با همین خطای زمانی عمل می کنند.

    2- اگر برنامه یک روز کامل بسته نشود اطلاعات روز جدید خوانده نمی شوند. که با کمی تغییر این هم قابل حل است. مثلا فراخوانی امروز و 3روز آیند به جای روز جاری

    این روش را به راحتی می توانید پیاده کنید، با کمی تغییر در این الگوریتم به راحتی میتوانید همان چزی که نیاز دارید را داشته باشید.
    دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان

    هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
    واحد فاصله «متر» نیست، «اشتیاق» است. اگر مشتاقش باشی حتی يک قدم هم فاصله ای دور است.

    رنگ رنگی | آموزش

  15. #15
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    نقل قول: برنامه یادآوری

    دوستان....سلام

    من با نظر جناب Mani_Rf موافقم.........

    کس دیگه ای نظر نداره ؟ یه جوری می خوام تعداد تیک زدن تایمر رو به حداقل برسونم ... آخه من توی برنامه ام چند تا تایمر دارم.

    با تشکر

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

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