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

نام تاپیک: شمارش معکوس

  1. #1

    Question شمارش معکوس

    سلام

    من یک لیبل دارم که داخل عدد 3600 رو نمایش میدم

    حالا من میخوام با کلیک بر روی یک دکمه شروع کنه به کم کردن ( بصورت ثانیه به ثانیه که درست ظرف یک ساعت صفر بشه )

    نکته اصلی اینه که میخوام قبل از اینکه به صفر برسه اگز از برنامه خارج شدم و کامپیوتر رو خاموش کردم این فرایند خودش ادامه پیدا کنه مثلا نیم ساعت بعد که کامپیوتر رو روشن کردم و برنامه رو اجرا کردم این عدد به نصف رسیده باشه

    نه از اول روی دکمه کلیک کنم تا عدد دوباره معکوس بشه

    نمی دونم درست توضیح دادم یا نه آیا همچین چیزی امکان داره ؟

    با تشکر

  2. #2
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: شمارش معکوس

    برای قسمت اول سوالت
    شما یه تایمر به فرمت اضافه می کنی. بعد در قسمت tick تایمر یه واحد از textbox کم می کنی.
    برای قسمت دوم سوالت
    اگه می خوای برنامه ات بعد روشن شدن سیستم خودت برنامه رو اجرا کنی میشه در حینی که از مقدار textbox کم میکنی در تابع tick ، مقدار کم شده رو روی حافظه بنویسی. برای اجرا هم می تونی از اون مقدار ذخیره شده در حافظه ثانویه بخونی و از اون مقداری که قبل اینکه سیستم رو خاموش کنی شروع بشه و طبق تابع کم بشه تا به صفر برسه.
    اگر روال کارت اینه بگو بیشتر توضیح بدم.

    موفق باشید

  3. #3
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: شمارش معکوس

    ایشون میخان وقتی برنامه شروع شد کانتر برنامه از عدد 3600 کم بشه مثلا 10 دققیه که گذشت 600 تا ازش کم شد و عدد که رسید به 3000 اگر کامپیوتر خاموش شد و 10 دقیقه دیگه روشن شد عدد 3000قبلی 600 تای دیگه که در حین خاموش بودن سپری شده رو هم ازش کم کنه و کانتر از 2400شروع بشه به کم شدن.
    به نظرم شروع کار و پایان کار باید با علامت گذاری طبق ساعت روزانه و همچنین شمارنده باشه بدین صورت که هر وقت کامپیوتر خاموش شد یا برنامه بسته شد یک نقطه علامت براساس زمان کامپیوتر ذخیره بشه و موقعی که کامپیوتر روشن شد یا برنامه شروع دوباره شد بیاد زمان فعلی رو از زمانی که کامپیوتر خاموش شده کسر کنیم و ثانیه اون رو محاسبه کنیم و از اخرین عدد شمارنده که 3000 بوده کسر و همین بشه مبنای جدید کانتر برنامه

  4. #4

    نقل قول: شمارش معکوس

    آقای ali_md110 درست میگن

    اما اینجا یه مشکل هست اگر یکی تاریخ سیستمش رو تغییر بده اختلال ابجاد میشه

    در کل نم دونم چطوری سورسش رو بنویسم

    ممنون میشم راهنمایی کنید

  5. #5

    نقل قول: شمارش معکوس

    نقل قول نوشته شده توسط asman.abi مشاهده تاپیک
    برای قسمت اول سوالت
    شما یه تایمر به فرمت اضافه می کنی. بعد در قسمت tick تایمر یه واحد از textbox کم می کنی.
    برای قسمت دوم سوالت
    اگه می خوای برنامه ات بعد روشن شدن سیستم خودت برنامه رو اجرا کنی میشه در حینی که از مقدار textbox کم میکنی در تابع tick ، مقدار کم شده رو روی حافظه بنویسی. برای اجرا هم می تونی از اون مقدار ذخیره شده در حافظه ثانویه بخونی و از اون مقداری که قبل اینکه سیستم رو خاموش کنی شروع بشه و طبق تابع کم بشه تا به صفر برسه.
    اگر روال کارت اینه بگو بیشتر توضیح بدم.

    موفق باشید

    من این رو متوجه نشدم

  6. #6
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: شمارش معکوس

    این هم کد مربوط این مسئله ای که شما گفتید. یکم وقت گرفت ولی درست کار می کنه.

    سوال داشتی بپرس.

    این هم کد کاملش

    Timer t = new Timer();
    string path = "C:\\time.txt";
    private void Form1_Load(object sender, EventArgs e)
    {

    t.Interval = 1000;

    if (File.Exists(path))
    {
    t.Tick += t_Tick;
    t.Enabled = true;
    }
    }

    private void button2_Click(object sender, EventArgs e)
    {
    if (textBox1.Text != "")
    {
    File.WriteAllText(path, textBox1.Text);
    t.Tick += t_Tick;
    t.Enabled = true;
    }
    }

    void t_Tick(object sender, EventArgs e)
    {
    string s;
    int n;

    s = File.ReadAllText(path);
    n = Convert.ToInt32(s);
    n -= 1;
    textBox1.Text = n.ToString();
    File.WriteAllText(path, textBox1.Text);
    }

  7. #7
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: شمارش معکوس

    البته برای اینکه تا صفر بیاد و دیگه نشمره یه شرط اضافه کردم در تابع t_Tick
    تابع اصلاح شده ی t_Tick

     void t_Tick(object sender, EventArgs e)
    {
    string s;
    int n;

    s = File.ReadAllText(path);
    n = Convert.ToInt32(s);
    if (n > 0)
    {
    n -= 1;
    textBox1.Text = n.ToString();
    File.WriteAllText(path, textBox1.Text);
    }
    }

  8. #8

    نقل قول: شمارش معکوس

    دست شما درد نکنه

    اما هنوز یه چیز دیگه هست

    وقتی از برنامه خارج میشی شمارش متوقف میشه

    مثلاً اگر من روی دکمه کلیک کنم و شروع بشه به کم کردن اگز از 300 شروع بشه به کم کردن و به 200 برسه بعد از برنامه خارج بشم شمارش روی 200 باقی میمونه تا دوباره برنامه رو اجرا کنم و دوباره روی دکمه کلیک کنم تا از 200 شروع کنه به کم کردن

    اما من میخوام وقتی از برنامه خارج میشیم هم به صورت خودکار این عدد کن بشه

    حالا یکم از برنامه ای که دارم مینویسم توضیح میدم

    من توی برنامه میخوام کاری کنم که وقتی روی یک دکمه کلیک شه ، یک عمل یا یک امکان بعد یک ساعت توی برنامه فعال شه ، حالا ممکنه طرف مقابل حوصله نداشته باشه یک ساعت صبر کنه . کامپیوتر خودش رو خاموش کنه و بره یک ساعت دیگه بیاد که اون امکان فعال شده باشه

    حالا یک مثال دیگه

    اگر شما بازی تراوین یا عصر پادشاهان یا جنگ خان ها رو بازی کرده باشی ، وقتی بخوای یک ساختمان رو ارتقاع بدی ممکنه چند دقیقه طول بکشه و اگر توی این بازی شما از سایت خارج شی فرایند ارتقا ادامه پیدا میکنه و لازم نیست دوباره وارد سایت بشی که عمل ارتقا ادامه پیدا کنه

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

    با تشکر ؟

  9. #9
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187

    نقل قول: شمارش معکوس

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

    اما هنوز یه چیز دیگه هست

    وقتی از برنامه خارج میشی شمارش متوقف میشه

    مثلاً اگر من روی دکمه کلیک کنم و شروع بشه به کم کردن اگز از 300 شروع بشه به کم کردن و به 200 برسه بعد از برنامه خارج بشم شمارش روی 200 باقی میمونه تا دوباره برنامه رو اجرا کنم و دوباره روی دکمه کلیک کنم تا از 200 شروع کنه به کم کردن

    اما من میخوام وقتی از برنامه خارج میشیم هم به صورت خودکار این عدد کن بشه

    حالا یکم از برنامه ای که دارم مینویسم توضیح میدم

    من توی برنامه میخوام کاری کنم که وقتی روی یک دکمه کلیک شه ، یک عمل یا یک امکان بعد یک ساعت توی برنامه فعال شه ، حالا ممکنه طرف مقابل حوصله نداشته باشه یک ساعت صبر کنه . کامپیوتر خودش رو خاموش کنه و بره یک ساعت دیگه بیاد که اون امکان فعال شده باشه

    حالا یک مثال دیگه

    اگر شما بازی تراوین یا عصر پادشاهان یا جنگ خان ها رو بازی کرده باشی ، وقتی بخوای یک ساختمان رو ارتقاع بدی ممکنه چند دقیقه طول بکشه و اگر توی این بازی شما از سایت خارج شی فرایند ارتقا ادامه پیدا میکنه و لازم نیست دوباره وارد سایت بشی که عمل ارتقا ادامه پیدا کنه

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

    با تشکر ؟
    برای این کار می تونی علاوه بر زمان باقی مانده ساعت فعلی هم ذخیره کنی. بعد از اینکه از نرم افزار خارج شدید همان طور که در بالا در Form_Load نوشتم ساعت هم بخونی و از ساعت فعلی سیستم کم کنی و به ثانیه تبدیل کنی. بعد با مقداری که ازقبل مشخص کردی (مثلا 3600) مقایسه می کنی. اگر بیشتر شده باشه یعنی 1 ساعت شده و بقیه روال.

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

  1. سوال: شمارش معکوس در ویژوال بیسیک
    نوشته شده توسط ali virus در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: پنج شنبه 10 مرداد 1387, 14:43 عصر
  2. نمایش دادن شمارش معکوس
    نوشته شده توسط maxpayn2 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 22 بهمن 1386, 09:40 صبح
  3. شمارش معکوس تا تاریخ مورد نظر
    نوشته شده توسط angel_boy013 در بخش PHP
    پاسخ: 3
    آخرین پست: پنج شنبه 09 شهریور 1385, 06:22 صبح

برچسب های این تاپیک

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

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