PDA

View Full Version : محاسبه اختلاف زمان



abolfazlab
جمعه 16 فروردین 1387, 08:42 صبح
چگونه می توان دریک برنامه ویندزی داخل یکtextboxساعت ورود(07:30)راواردکردودرtextboxدی گری ساعت خروج(16:00)ودرنهایت درtextboxسومی بطوراتوماتیک اختلاف ساعت ورودوخروج راحساب کند.textboxهابعدازواردکردن دورقم سمت چپ علامت:بطوراتوماتیک نوشته شودتوسط سیستم.
باتشکر

Ghasem Dehghani
جمعه 16 فروردین 1387, 10:30 صبح
دوست عزیز سلام !
شما میتونید از سه DateTimePicker موجود در Toolbox استفاده کنید و بعد تنظیمات اون رو به صورت زیر انجام بدین :


private void Form1_Shown(object sender, EventArgs e)
{
// ----------- Setting dateTimePicker 1, 2 ,3
// 1
this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dateTimePicker1.CustomFormat = "HH:mm";
this.dateTimePicker1.ShowUpDown = true;
// 2
this.dateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dateTimePicker2.CustomFormat = "HH:mm";
this.dateTimePicker2.ShowUpDown = true;
// 3
this.dateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dateTimePicker3.CustomFormat = "HH:mm";
this.dateTimePicker3.ShowUpDown = true;
}

در کد فوق ابتدا dateTimePicker را Custom کردیم چون میخواستیم اطلاعات ورودی را خودمان تعیین کنیو و بعد زمان فرمت ورودی را مشخص کردیم HH به صورت بزرگ زمان را 24 ساعته دریافت خواهد کرد و hh کوچک اطلاعات ساعت را 12 ساعته دریافت خواهد کرد . و mm هم که مشخص است و برای گرفتن دقیقه بود یعنی : HH:mm
و بعد برای محاسبه اختلاف زمان میتونید از روش زیر عمل کنید :


private void button1_Click(object sender, EventArgs e)
{
// -------------------- Calc Time
DateTime dt1 = new DateTime(2000, 1, 1, dateTimePicker1.Value.Hour, dateTimePicker1.Value.Minute, 0);
DateTime dt2 = new DateTime(2000, 1, 1, dateTimePicker2.Value.Hour, dateTimePicker2.Value.Minute, 0);
TimeSpan tms= dt2 - dt1;
DateTime dt3 = new DateTime(2000, 1, 1, tms.Hours, tms.Minutes, 0);
this.dateTimePicker3.Value = dt3;
}

استفاده از dateTimePicker علاوه بر کنترل اتوماتیک اطلاعات وارد شده ، استاندارد تر است و نیاز برای نوشتن و تبدیل TextBox برای گرفتن اطلاعات ساعت را کاهش خواهد داد .

موفق باشی !

sinpin
جمعه 16 فروردین 1387, 14:48 عصر
چگونه می توان دریک برنامه ویندزی داخل یکtextboxساعت ورود(07:30)راواردکردودرtextboxدی گری ساعت خروج(16:00)ودرنهایت درtextboxسومی بطوراتوماتیک اختلاف ساعت ورودوخروج راحساب کند.textboxهابعدازواردکردن دورقم سمت چپ علامت:بطوراتوماتیک نوشته شودتوسط سیستم.
باتشکر
از کلاس TimeSpan استفاده کنید:
http://barnamenevis.org/forum/showpost.php?p=469390