ورود

View Full Version : سوال: زمان سنج



ravand
پنج شنبه 12 بهمن 1391, 11:28 صبح
سلام من دنبال نوشتن برنامه ای هستم که از وقتی که برنامه رو اجرا میکنم تا هر زمانی که برنامه در حال اجرا هست مدت زمان اجرا شدن برنامه برام نمایش داده بشه.
مثلا اگه دو ساعت برنامه اجرا بود برام نمایش بده که برنامه دو ساعت در حال اجرا بوده است.
حالا اگه برنامه ای هم باشه که مدت زمان روشن بودن سیستم رو هم نشون بده که دیگه خیلی عالی میشه.
متشکرم.

dracula_killer
پنج شنبه 12 بهمن 1391, 11:52 صبح
اول بگین محیط برنامتون کنسولی هست یا با jframe و....؟

اگر با jframe باشه می تونم کمکتون کنم

ravand
پنج شنبه 12 بهمن 1391, 13:15 عصر
خب میتونیم فرم هم باشه. اگه کنسولی هم باشه خودم فرم دارش میکنم. شما راه حلش رو بگید.
متشکرم.

dracula_killer
پنج شنبه 12 بهمن 1391, 13:30 عصر
ببینید دوست عزیز دوتا event داریم در فریم
یکی زمانی هست که فریم open میشه و دیگه closing هست.
شما میای با استفاده از کلاس Calendar زمانی که فریم باز شد زمان فعلی رو می گیری و تو یه متغییر ذخیره می کنی
زمانی هم که فریم در حالت closing قرار گرفت بازهم زمان فعلی رو می گیریم و از اون زمان قبلی کم می کنیم و اختلاف این دو برابر با مدت زمانیه که برنامه در حال اجرا بوده.
حالا می تونی setDefaultCloseOperation رو برابر EXIT_ON_CLOSE بکنی که وقتی فریم بسته شد برنامه هم متوقف شه.این میشه دقیقا همون چیزی که شما میخوای

ravand
پنج شنبه 12 بهمن 1391, 13:45 عصر
یه چیز دیگه ام بگم. اینکه قرار نیست برنامه بسته بشه. میخوام مثلا دو ساعت بعد از اجرای برنامه بازم برنامه رو نگاه بکنم ببینم چقدر وقته این برنامه در حال اجراست. و مثلا دوساعت دیگه هم یه نگاهی بهش بکنم. دیگه نمیخوام برنامه رو ببندم.
متشکرم

dracula_killer
پنج شنبه 12 بهمن 1391, 14:10 عصر
یه چیز دیگه ام بگم. اینکه قرار نیست برنامه بسته بشه. میخوام مثلا دو ساعت بعد از اجرای برنامه بازم برنامه رو نگاه بکنم ببینم چقدر وقته این برنامه در حال اجراست. و مثلا دوساعت دیگه هم یه نگاهی بهش بکنم. دیگه نمیخوام برنامه رو ببندم.
متشکرم

خب آسونتر شد:
یک دکمه طراحی کن که وقتی روش کلیک کردی زمان فعلی رو از زمانی که موقع باز شدن فریم ذخیره کردیم کم کنه و اختلاف رو نمایش بده

ravand
پنج شنبه 12 بهمن 1391, 14:14 عصر
خب آسونتر شد:
یک دکمه طراحی کن که وقتی روش کلیک کردی زمان فعلی رو از زمانی که موقع باز شدن فریم ذخیره کردیم کم کنه و اختلاف رو نمایش بده
من فکر نمیکنم اصلا نیازی به ذخیره کردن زمان و کلیک کردن روی دکمه داشته باشیم. من نمونه ی این برنامه رو با زبان های دیگه دیدم.
مثلا این برنامه ای که میگم خودش زمان رو میشماره از 1 ثانیه شروع میکنه میره بالا تا دقیقه و ساعت ...

dracula_killer
پنج شنبه 12 بهمن 1391, 14:15 عصر
آها شما تایمر میخواین
معذرت می خوام من بد متوجه شدم.
شرمنده تایمر رو من بلد نیستم.بهتره دیگر دوستان کمک کنن

MohseN16
پنج شنبه 12 بهمن 1391, 14:55 عصر
طریقه استفاده از تایمر رو توی این لینک توضیح داده :
http://www.behzadim.ir/post8.php

spiderman200700
پنج شنبه 12 بهمن 1391, 20:04 عصر
میتونی اینجا رو هم یه نگاهی بندازی:
http://app2app.ir/آموزش-کلاس-های-timer-و-timertask-در-جاوا

ravand
جمعه 13 بهمن 1391, 07:48 صبح
یکی پیدا کردم ولی میخوام بر اساس دقیقه و ساعت هم باشه:
import java.util.Timer;
import java.util.TimerTask;
import java.util.Calendar;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
public class timer {
static int counter = 0;
public static void main(String[] args) {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("TimerTask executing counter is: " + counter);
counter++;//increments the counter
}
};
Timer timer = new Timer("MyTimer");//create a new Timer
timer.scheduleAtFixedRate(timerTask, 30, 3000);//this line starts the timer at the same time its executed
}
}

spiderman200700
جمعه 13 بهمن 1391, 12:24 عصر
میتونی جای اینکه counter رو اضافه کنی، هر دفه یه Calendar جدید ایجاد کنی .