PDA

View Full Version : فراخوانی تاریخ و ساعت با کلاس در فرم



davidrobert
یک شنبه 07 تیر 1394, 17:15 عصر
کد تاریخ شمسی و همین طور ساعت که یک بار بنویسید و 100 بار این کد رو اجرا کنید و نیاز نیست راه به راه این کد رو بنویسید یه کلاس ایجاد کنید برای تاریخ و زمان و این کد ها رو برایش بنویسید.
public string miladi2shamsi(DateTime _date)
{
//کد مربوط به تاریخ به صورت ماه و روز
PersianCalendar pc = new PersianCalendar();

StringBuilder sb = new StringBuilder();

sb.Append(pc.GetYear(_date).ToString("0000"));

sb.Append("/");

sb.Append(pc.GetMonth(_date).ToString("00"));

sb.Append("/");

sb.Append(pc.GetDayOfMonth(_date).ToString("00"));

sb.Append(" امروز :");

//sb.Append(pc.GetDayOfWeek(_date).ToString());

string s = pc.GetDayOfWeek(_date).ToString();

switch (s.ToUpper())
{

case "SATURDAY":

sb.Append(" شنبه");

break;

case "SUNDAY":

sb.Append(" يكشنبه");

break;

case "MONDAY":

sb.Append(" دوشنبه");

break;
case "TUESDAY":
sb.Append(" سه شنبه");
break;

case "WEDNESDAY":
sb.Append(" چهار شنبه");
break;
case "THURSDAY":
sb.Append(" بنچ شنبه");
break;
case "FRIDAY":

sb.Append(" جمعه");

break;

}

return sb.ToString();
}

Timer timer1 = new Timer();

public string dateshort(DateTime _dateshort)
{
//کد مربوط به تاریخ کوتاه
PersianCalendar pc = new PersianCalendar();
string date = pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now);
return date.ToString();
}


public string TimeFull(DateTime _time)
{
//کد مربوط به زمان کامل
timer1.Enabled = true;
timer1.Interval = 1000;
PersianCalendar pctime = new PersianCalendar();
DateTime tm = new DateTime();
tm = DateTime.Now;
string tim = pctime.GetHour(tm) + ":" + pctime.GetMinute(tm).ToString() + ":" + pctime.GetSecond(tm);
return tim.ToString();
}
و در فرم مورد نظر به این صورت تاریخ و زمان رو صدا کنید.


ClsNeedCode needCode = new ClsNeedCode();
LblDate.Text = needCode.miladi2shamsi(DateTime.Now);
LblDate.Text = needCode.dateshort(DateTime.Now);
LblDate.Text = needCode.TimeFull(DateTime.Now);

این هم روش صدا کردن تاریه و زمان می باشد. خیلی ساده و خوش مزه.

esagraphic
چهارشنبه 14 مرداد 1394, 22:45 عصر
سلام یه سوال باید صدا زدنشو توی تایمر انجام داد درسته چون یکبار صدا زده میشه و درست نشون میده ولی ساعت تغیر نمیکنه چون تنها صدا زده شد و تمام

davidrobert
پنج شنبه 15 مرداد 1394, 03:27 صبح
شما فقط کافی روی ابزار تایمر کلیک کنید و مقدار interval=1000; Enbale=true کنید و در قسمت کد نویسی ساعت این رو بنویسید ساعت شما شروع به کار هم میکنه.
private void timer1_Tick(object sender, EventArgs e)
{
LblTime.Text = needCode.TimeFull(DateTime.Now);
}

esagraphic
پنج شنبه 15 مرداد 1394, 09:33 صبح
شما فقط کافی روی ابزار تایمر کلیک کنید و مقدار interval=1000; Enbale=true کنید و در قسمت کد نویسی ساعت این رو بنویسید ساعت شما شروع به کار هم میکنه.
private void timer1_Tick(object sender, EventArgs e)
{
LblTime.Text = needCode.TimeFull(DateTime.Now);
}


با سلام دوباره
بلی دقیقا همینطوری کردم اما من کاملاً تاریخ را هم انداختم به دلیل اینکه نرم افزار من به صورت مدادوم 24 ساعت بازه و کار گرفته میشه اگه تایمر نباشه تاریخ به ساعت دوازده شب که تغیر میکنه تاریخ تغیر نمیکنه مگر فرم را ببندی درست اما اگر تایمر باشه مشکل حله

davidrobert
پنج شنبه 15 مرداد 1394, 11:00 صبح
با سلام دوباره بلی دقیقا همینطوری کردم اما من کاملاً تاریخ را هم انداختم به دلیل اینکه نرم افزار من به صورت مدادوم 24 ساعت بازه و کار گرفته میشه اگه تایمر نباشه تاریخ به ساعت دوازده شب که تغیر میکنه تاریخ تغیر نمیکنه مگر فرم را ببندی درست اما اگر تایمر باشه مشکل حله بله تایمر باشه کار میکنه چون شما به تایمر میگید هر یک ثانیه به روز شو و این دستور رو اجرا کن به همین دلیل ساعت هر یک ثانیه جلو میره و ملوم میشه ساعت در حال کار کردن هستش. و شما تاریخ هم قرار بدید در کنار ساعت در تایمر اون هم وقتی به 00:00 شب برسی عوض میشه و تاریخ جدید قرار میگیره.

esagraphic
پنج شنبه 15 مرداد 1394, 11:18 صبح
ممنون دوستم این کارو منو کلی راه انداخت عالی بود یه سوال چی کنم ساعت روی 12 ساعت باشه 24 ساعته نباشه

davidrobert
پنج شنبه 15 مرداد 1394, 13:52 عصر
دوست عزیز این به تنظیمات خود ویندوز مربوط میشه که شما تنظیمات ساعت ویندوزتون 12 ساعته باشه یا 24 ساعته