PDA

View Full Version : سوال: مشکل در شمارنده ها ؟



vb8334
سه شنبه 02 اسفند 1390, 00:40 صبح
با سلام به تمامی دوستان

دوستان من کتاب الکترونیکی #c هاشمیان رو دارم می خونم و تو قسمت شمارنده ها به مشکل خوردم
بعضی از قسمت هاش رو میدونم این کد چیکار داره میکنه ولی بعضی از اونا رو هم نه. مثلآ

this.Hour = DateTime.Now.Hour ;

این قسمت زمانی که فرم لود میشه ساعت رو میگیره درسته؟

خوب بعد آیا وقتی ساعت رو گرفت اون ساعت میره در این قسمت this.hour

حالا وقتی ساعت گرفته شد به تابه hour فرستاد میشه get و set اینجا دقیقآ چه کاری انجام میدن.




public partial class Form1 : Form
{
private enum DayAction
{
GettingReadyForWork = 0,
TravelingToWork,
AtWork,
AtLunch,
TravelingFromWork,
RelaxingForFriends,
GettingReadyForBed,
Asleep,



};
private DayAction CurrentState;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Hour = DateTime.Now.Hour ;

}
private int Hour
{
get
{
return dtpHour.Value.Hour;

}
set
{
dtpHour.Value = new DateTime(

DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, value, 0, 0);
//lblState.Text = "At " + value + ":00 Matt is ";

if (value >= 6 && value < 7)
CurrentState = DayAction.GettingReadyForWork;
else if (value > 7 && value < 8)
CurrentState = DayAction.TravelingToWork;
else if (value >= 8 && value < 13)
CurrentState = DayAction.AtWork;
else if (value >= 13 && value < 14)
CurrentState = DayAction.AtLunch;
else if (value >= 14 && value < 17)
CurrentState = DayAction.AtWork;
else if (value >= 17 && value < 18)
CurrentState = DayAction.TravelingFromWork;
else if (value >= 18 && value < 22)
CurrentState = DayAction.RelaxingForFriends;
else if (value >=22 && value < 23)
CurrentState = DayAction.GettingReadyForBed;
else
CurrentState = DayAction.Asleep;

lblState.Text = "At" + value + ":00 Matt is " + CurrentState;



}

}

private void dtpHour_ValueChanged(object sender, EventArgs e)
{
this.Hour=dtpHour.Value.Hour;

}
}


ممنون

flash118
سه شنبه 02 اسفند 1390, 00:46 صبح
با سلام
حوب دوست عزیز خیلی راحت دقت کنید خیلی واضح هستHour یک متغییر هست وقتی میخواهید مقدار دهی کنید بلوکSET فراخواهی میشه و Value هم همون مقداری هست که شما می خواهید به Hourse اختصاص بدید و GET هم زمانی هست که میخواهید مقدار فعلی Hourse را بخونید که اون وقت این بلوک فراخوانی میشه امید وارم که تونسته باشم واضح گفته باشم