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

نام تاپیک: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

  1. #1

    به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    ميخوام زماني كه برنامه run شد به مدت 5 دقيه سه فرم را بصورت گردشي اجرا كنم و حالا ميخوام پس از 5 دقيقه اون سه فرم (به جز فرم اصلي ) hide بشه يعني هيچكدام از اون فرم ها نمايش داده نشن و اون روال ديگه اجرا نشه و به مدت 5 دقيقه ميخوام يكي از فرم هاي ديگه (كه هيچ كدام از اون سه تا نيست )به بمدت 5 دقيقه اجرا بشه و پس از طي 5 دقيقه دوباره روال قبلي شروع بشه و تا زماني كه برنامه run است به همين صورت 5 دقيقه 5 دقيقه عوض بشه .
    دوستان عزيز نظر شما هم مفيده ولي اگر كد يا پروژه مشابه هم داريد بفرستيد

  2. #2
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزيز
    اين كارها رو با تايمرت درست كن و هر وقت خاستي Visible ش رو true و هر وقت خاستي false كن. سخت نيست زياد ولي باز هم اگه نتونستي بنويسي(كه حتما ميتوني) بگو كه كد بزارم

  3. #3

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزيز سلام
    اگر ممكنه كد بگذاريد
    به اين نكته دقت كنيد كه اول اون سه تافرم 5 دقيقه شو ميشه و دقيقا پس از سپري شدن اين 5 دقيقه اون فرمي كه بايد 5 دقيقه شو بشه مياد و شو ميشه حالا امكانش هست كه هر كدام از اون سه فرم شو باشه يا تازه ميخواد شو بشه و ...

  4. #4
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    نقل قول نوشته شده توسط csharpprogramer88 مشاهده تاپیک
    ميخوام زماني كه برنامه run شد به مدت 5 دقيه سه فرم را بصورت گردشي اجرا كنم و حالا ميخوام پس از 5 دقيقه اون سه فرم (به جز فرم اصلي ) hide بشه يعني هيچكدام از اون فرم ها نمايش داده نشن و اون روال ديگه اجرا نشه و به مدت 5 دقيقه ميخوام يكي از فرم هاي ديگه (كه هيچ كدام از اون سه تا نيست )به بمدت 5 دقيقه اجرا بشه و پس از طي 5 دقيقه دوباره روال قبلي شروع بشه و تا زماني كه برنامه run است به همين صورت 5 دقيقه 5 دقيقه عوض بشه .
    دوستان عزيز نظر شما هم مفيده ولي اگر كد يا پروژه مشابه هم داريد بفرستيد
    دوست عزيز
    اون سه فرمي كه اول دارن گردشي اجرا ميشن بدون فاصله و سريع اين كار انجام ميشه يا مثلا با تاخير 2 ثانيه خوبه. (ميگم يعني 5 دقيقه هر كدوم اجرا ميشن يا كلا اين روال 5 دقيقه طول بكشه؟)


  5. #5

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    نقل قول نوشته شده توسط vandermond مشاهده تاپیک

    دوست عزيز
    اون سه فرمي كه اول دارن گردشي اجرا ميشن بدون فاصله و سريع اين كار انجام ميشه يا مثلا با تاخير 2 ثانيه خوبه. (ميگم يعني 5 دقيقه هر كدوم اجرا ميشن يا كلا اين روال 5 دقيقه طول بكشه؟)

    سلام
    تشکر که جواب دادی
    زمانی که برنامه اجرا میشه یک فرم از اون سه فرم اجرا میشه و بمدت 15 ثانیه show میشه و دوباره فرم دوم 15 ثانیه و فرم سوم 15 ثانیه و بازم از اول حالا این روال فقط باید 5 دقیقه اجرا بشه یعنی از زمانی که برنامه جرا شده فقط 5 دقیقه این روال اجرا میشه حالا پس از 5 دقیقه یک فرم (شامل اون سه فرم نیست و یک فرم جدیده ) بمدت 5 دقیقه اجرا بشه و پس از اینکه 5 دقیقه این فرم اجرا شد حالا دوباره روال اول اجرا بشه و پس از 5 دقیقه روال اولی ...
    ابه این صورت تا آخر اجرا بشه
    با تشکر

  6. #6
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزيز
    اين برنامه خودت هستش كه روش يه خورده كار كردم. البته روشهاي بهتري هم ميتوني استفاده كني. مثلا به جاي اينكه براي هر فرم يك تايمر بزاري ميتوني يك تايمر كلي بزاري تو فرم اصلي و با ايجاد خاصيت به اون مقدار مورد نظر رو بدي يا بگيري و.....
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    خوب بيد.....؟؟؟
    اگه مشكلي بود بگو. راستي يادم رفته بود بگم. من براي اينكه تست كردن برنامه آسون باشه Interval ها رو كوچيك گذاشته بودم. خودت درستشون كن.

  8. #8

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    سلام به برنامه نويسان محترم
    كدي را كه دوستمون جناب vandermond فرستادند يك مشكل داره لطفا بررسي كنيد

    كدي را كه فرستادند در حالت معمولي جواب ميده ولي يه مشكلي كه وجود داره اينه كه من در يكي از از فرم ها (مثلا فرم 3) با يك كوئري يك سري تصاوير را از بانك ميخونم و در يك ليست ميريزم و حالا با يك شرط هر دفعه كه اين فرم فرخواني ميشه تصوير بعدي نمايش داده ميشه ولي شما كه فرم را close ميكني اطلاعات مربوط به اون ليست از بين ميره و ايندكسي كه تعريف كردم و شماره تصوير را نگهداري ميكنم براي اينكه هي تصوير بعدي نشان داده بشه با لود شدن دوباره فرم صفر ميشه و ليست تصاوير دوباره از تصوير اول شروع ميشه كه اين يك مشكل اساسي منه

  9. #9
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزيز
    به صورت پ خ هم بهتون گفتم كه روش هر فرم يك تايمر خوب نيست و ميشه بهترش كرد. ولي براي اين هم ميتونيد شماره Index آخرين تصويري كه نمايش داده شده رو توي يك متغير پابليك بريزي و بعد ازش استفاده كني.

    بقيه اساتيد هم نظر بدن.

  10. #10
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    نمی دونم داری چی می نویسی ؟ ولی اینو میدونم که این روش اصلا اصولی نیست .

    سوال اولی که در ذهن من ایجاد شده . شما میخوای یکسری تصاویر که در دیتا بیس هست را هر 5 دقیقه نمایش بدی ایا برای این کار 3 تا فرم لازم هست ؟؟؟؟؟؟؟؟؟

  11. #11
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    براي اين هم ميتونيد شماره Index آخرين تصويري كه نمايش داده شده رو توي يك متغير پابليك بريزي و بعد ازش استفاده كني.
    این روش جواب خواهد داد
    شما میخوای یکسری تصاویر که در دیتا بیس هست را هر 5 دقیقه نمایش بدی ایا برای این کار 3 تا فرم لازم هست ؟؟؟؟؟؟؟؟؟
    بنابر گفته جناب دیباگر و همچنین نظر خودم، شما مشخص کنید که هدف اصلیتان از این کار چیه؟؟ اونوقت باهم بدنبال یک روش اصولی برای رسیدن به هدف باشیم

  12. #12

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    نقل قول نوشته شده توسط mahdi87_gh مشاهده تاپیک
    این روش جواب خواهد داد

    بنابر گفته جناب دیباگر و همچنین نظر خودم، شما مشخص کنید که هدف اصلیتان از این کار چیه؟؟ اونوقت باهم بدنبال یک روش اصولی برای رسیدن به هدف باشیم
    سلام
    دوست عزيز من سه فرم در پروژه دارم يك فرم تصويري را نشان ميده و فرم دوم تاريخ سيستم را به شمسي نشان ميده و فرم سوم ساعت سيستم را نشان ميده
    حالا ميخوام هر كدام از اين سه فرم 15 ثانيه نمايش داده بشه و اين روال پس از اجراي برنامه بمدت 5 دقيقه ادامه پيدا ميكنه حالا پس از 5 دقيقه يك فرم ديگه اي اجرا ميشه كه به تنهايي 5 دقيقه نمايش داده ميشه و يك كليپ ويدئويي را نشان ميده پس از 5 دقيقه ويدئو دوباره روال اولي شروع ميشه و ... .
    من بيشتر كار را انجام دادم ولي چون با تايمر و شو و هايد فرم زياد وارد نبودم مشكلاتي پيش آمد البته اين چيزي كه الان دارم چيزي نيست كه نظر منو جلب كنه دوستان اگر لطف كنن چنين چيزي را طراحي كنند و بفرستند كمك بزرگي را به من ميكنند البته همانطور كه گفتم بيشتر كار را انجام دادم ولي ميخوام كارم بهتر در بياد كه از دوستان عزيز درخواست كمك دارم .

  13. #13
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزیز بنظر من راه حل آسونتر و بی دردسر تر برای اینکار اینه که شما یک فرم بیشتر نداشته باشید!!
    در عوض برای انجام هر یک از چهار کار گفته شده (ساعت و ...) از یک panel استفاده کنید. همه پنلها را در یک موقعیت یکسان مستقر کنید و تنها با یک تایمر(!!!) و چند تا شرط پنل دلخواهتون رو نمایش داده و سایر پنل ها رو مخفی کنید
    اگر در انجام این کار دچار مشکل شدید، بگید تا در نوشتن کدش کمک کنم

  14. #14
    کاربر دائمی آواتار vandermond
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    رايانه
    پست
    526

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    نقل قول نوشته شده توسط mahdi87_gh مشاهده تاپیک
    دوست عزیز بنظر من راه حل آسونتر و بی دردسر تر برای اینکار اینه که شما یک فرم بیشتر نداشته باشید!!
    در عوض برای انجام هر یک از چهار کار گفته شده (ساعت و ...) از یک panel استفاده کنید. همه پنلها را در یک موقعیت یکسان مستقر کنید و تنها با یک تایمر(!!!) و چند تا شرط پنل دلخواهتون رو نمایش داده و سایر پنل ها رو مخفی کنید
    اگر در انجام این کار دچار مشکل شدید، بگید تا در نوشتن کدش کمک کنم
    اين روش خيلي بهتره چون ديگه مشكل دسترسي و ..... هم نخواهيد داشت. در ضمن من از اول فرض رو بر چند فرمي گذاشته بودم كه اون برنامه رو دادم. و الا اين روش بهتره.


  15. #15
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    دوست عزیز این هم نمونه برنامه. کافیه فقط عدد ها رو تغییر بدید
    فایل های ضمیمه فایل های ضمیمه

  16. #16
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    با سلام
    دوست عزیز از کد int sum_of_secounds = 5 + 5 + 5 + 15; استفاده کردم چون شما چهار کار مختلف میخواستید انجام بدید که من برای 3 تا 5 ثانیه و برای آخری 15 ثانیه در نظر گرفتم

    اين شرط را بيشتر توضيح بديد و بگيد چرا دوباره sec = 0
    وجود ++ قبل از متغیر sec یاعث افزایش مقدار متغیر قبل از بررسی شرط می شود. و چون برنامه شما بطور مستمر در حال اجراست و یک روند تکراری را انجام میدهد و همچنین بخاطر اینکه ما تنها از یک تایمر استفاده کرده ایم، باید پس از انجام یک دوره این روال را از نو شروع کنیم، پس sec=0 (بجای اینکه بیایم تایمر رو عیرفعال و دوباره فعال کنیم)
    ( اگر بخواهیم زمان گذشته از شروع بکار تایمر را در نظر بگیریم، این مقدار همواره رو به افزایش است و نمیتوانیم از آن در شرط هایمان استفاده کنیم.)
    panel1.Visible = sec < 5;
    panel2.Visible = sec >= 5 && sec < 10;
    panel3.Visible = sec >= 10 && sec < 15;
    panel4.Visible = sec >= 15 && sec < 30;
    همانطور که می دانید نتیحه یک عبارت شرطی مقداری از نوع بولین خواهد بود. پس برای صرفه جویی در حجم کدها و همچنین تسریع اجرای کد از این روش کد نویسی استفاده کرده ام. همانطور که میدانید دستورات شرطی(if) نسبت به دستورات دیگر زمان بیشتری برای اجرا لازم دارند
    موفق باشی

  17. #17
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: به نظر شما چطوري اين فرم ها را با تايمر اجرا كنم

    از روی همون برنامه قبلی که بهتون داده بودم برید و این تغییرات رو اعمال کنید
    int sum_of_secounds = 10*60;

    کد تایمر رو بصورت زیر عوض کنید
    if (++sec > sum_of_secounds)
    sec = 0;
    if (sec < 300)
    {
    panel1.Visible = ((sec / 15) % 3 == 0);
    panel2.Visible = ((sec / 15) % 3 == 1);
    panel3.Visible = ((sec / 15) % 3 == 2);
    panel4.Visible = false;
    }
    else
    {
    panel1.Visible = false;
    panel2.Visible = false;
    panel3.Visible = false;
    panel4.Visible = true;
    }

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

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