السلام عليكم
واجهتني مشكلة اثناء عمل برنامج حضور وانصراف الموظفين والمشكلة هى مش عارف اخلي ال text box عباره عن توقيت ساعه
بحيث انى لما اطرح ال out من ال in يديني فى ال total hour مجموع ساعات العمل
ارجو مساعدتي في حل هذه المشكلة
ولكم جزيل الشكر
السلام عليكم اخي الكريم
تفضل هذا الكود
كود :
private void button1_Click(object sender, EventArgs e)
{
DateTime startTime = new DateTime();
startTime = Convert.ToDateTime(textBox1.Text);
DateTime endTime = new DateTime();
endTime = Convert.ToDateTime(textBox2.Text);
TimeSpan ts = endTime - startTime;
textBox3.Text = ts.ToString();
}
وهذا الكود سوف يعطيك النتيجة بالدقائق
كود :
private void button2_Click(object sender, EventArgs e)
{
DateTime startTime = new DateTime();
startTime = Convert.ToDateTime(textBox1.Text);
DateTime endTime = new DateTime(2012, 2, 20, 14, 43, 0);
endTime = Convert.ToDateTime(textBox2.Text);
TimeSpan span = endTime - startTime;
int Minuts = span.Hours * 60 + span.Minutes;
textBox3.Text = Minuts.ToString();
}
(17-04-19, 08:54 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
تفضل هذا الكود
كود :
private void button1_Click(object sender, EventArgs e)
{
DateTime startTime = new DateTime();
startTime = Convert.ToDateTime(textBox1.Text);
DateTime endTime = new DateTime();
endTime = Convert.ToDateTime(textBox2.Text);
TimeSpan ts = endTime - startTime;
textBox3.Text = ts.ToString();
}
وهذا الكود سوف يعطيك النتيجة بالدقائق
كود :
private void button2_Click(object sender, EventArgs e)
{
DateTime startTime = new DateTime();
startTime = Convert.ToDateTime(textBox1.Text);
DateTime endTime = new DateTime(2012, 2, 20, 14, 43, 0);
endTime = Convert.ToDateTime(textBox2.Text);
TimeSpan span = endTime - startTime;
int Minuts = span.Hours * 60 + span.Minutes;
textBox3.Text = Minuts.ToString();
}
شكراً جداً اخى العزيز
بس كان ليا استفسار اخير .. كنت عايز كود يعمل جمع لعدد كتير من الساعات ... يعني مثلا انا عندى اكتر من تيكست بوكس فيه حساب للساعه .. عايز كود يجمعهم كلهم مع بعض .. وشكراً جداً اخى العزيز على المساعده
السلام عليكم اخي الكريم
استخدم الكود الثاني حيث الحساب يكون بالدقائق ثم قم بجمع كل التكست بوكس
وبعدها حول الى الساعة بأن تقسم الرقم الناتج على 60
والباقي من القسمة سيكون دقائق
(18-04-19, 01:13 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
استخدم الكود الثاني حيث الحساب يكون بالدقائق ثم قم بجمع كل التكست بوكس
وبعدها حول الى الساعة بأن تقسم الرقم الناتج على 60
والباقي من القسمة سيكون دقائق
السلام عليكم اخى العزيز
بس الطريقه اللى بتقول عليها دى مش هتنفع .. يعني مثلا لو قسمنا 160 دقيقه اي 2.40 اتنين ساعه واربعين دقيقه
هنقول 160/60 هيطلع الناتح كدا ٢.٦٦٦٦٦٦٦٦٦٦٦٦٦٦٧ اكيد طبعاً مش صح
لو فيه اي طريقه تانى للجمع بحيث يجمعلي عدد الساعات والدقائق ويدينى الناتج يبقي كتر خيرك
شكراً جداً اخى العزيز على سرعه الرد
السلام عليكم اخي الكريم
ستستخدم عمليتي القسمة العادية وباقي القسمة واليك الكود
كود :
private void button1_Click(object sender, EventArgs e)
{
int HH,MM;
HH = (int.Parse(textBox1.Text) / 60); // قسمة عدد صحيح دون أن نأحذ الباقي
MM = (int.Parse(textBox1.Text) % 60); // عملية باقي القسمة
textBox2.Text= HH + "ساعة " + " و " + MM +" دقيقة";
}
(18-04-19, 05:24 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
ستستخدم عمليتي القسمة العادية وباقي القسمة واليك الكود
كود :
[align=center] private void button1_Click(object sender, EventArgs e)[/align]
[align=center] {[/align]
[align=center] int HH,MM;[/align]
[align=center] HH = (int.Parse(textBox1.Text) / 60); // قسمة عدد صحيح دون أن نأحذ الباقي [/align]
[align=center] MM = (int.Parse(textBox1.Text) % 60); // عملية باقي القسمة[/align]
[align=center] textBox2.Text= HH + "ساعة " + " و " + MM +" دقيقة";[/align]
[align=center] } [/align]
شكراً جداً اخى العزيز على مساعدتك
بس انا كنت محتاج اعمل بس جمع لعدد الساعات فى تيكست بوكس واحد ولكن مش يجمع ليا عدد الساعات بالدقايق زي كدا يعني
عايز عدد الساعات اللى في الصورة يتجمع فى التيكست بوكس اللى تحت
يعني مثلا يقولي دول 17:20 سبعه عشر ساعه وعشرون دقيقه مش تحت شرط بالتفقيط بالارقام بس
ومرة تانى الف مليون شكرا لمساعدتك
السلام عليكم ورحمة الله وبركاته
تفضل اخي عملت لك مثال تقوم بادخال التاريخ واسم الموظف وعدد ساعات دوامه في الداتاغرايدفيو
ثم تحسب ممجموع ساعات دوامه الموجودة في عمود ساعات الدوام وتضعها في مربع المجموع
اعتقد جازما هذا ماتريد والله المستعان
(18-04-19, 10:06 PM)ابراهيم ايبو كتب : [ -> ] السلام عليكم ورحمة الله وبركاته
تفضل اخي عملت لك مثال تقوم بادخال التاريخ واسم الموظف وعدد ساعات دوامه في الداتاغرايدفيو
ثم تحسب ممجموع ساعات دوامه الموجودة في عمود ساعات الدوام وتضعها في مربع المجموع
اعتقد جازما هذا ماتريد والله المستعان
اخى العزيز شكراً جداً لمساعدتك
بس البرنامج اللى انت بعته لما بحسب مجموع ساعات العمل بيجبلى خطأ .. جايز بسبب اختلاف الاصدارات لدينا .. مش عارف الحقيقه
عمتاً انا كنت محتاج بس اعمل مجموع للعامود اللى فيه Total Hour واحط المجموع فى التيكست بوكس اللى عليه السهم باللون الاحمر
بتمني من اى حد يقدر يساعدني في حل المشكلة دى
مرحباً اخى الحبيب
كل ما تحتاج اليه هو استخدام الكود التالى
اما فى حدث زر او فى حدث اللود اسفل كود تعبئة الداتا جريد
كود :
Int32 H = 0;
Int32 M = 0;
Int32 S = 0;
foreach (DataGridViewRow GetTotal in dataGridView1.Rows)
{
TimeSpan ts = TimeSpan.Parse(GetTotal.Cells[5].Value.ToString());
H += Convert.ToInt32(ts.Hours);
M += Convert.ToInt32(ts.Minutes);
S += Convert.ToInt32(ts.Seconds);
}
MessageBox.Show(H.ToString("00") + ":" + M.ToString("00") + ":" + S.ToString("00"));
وستجد اجمالى العمود يظهر برسالة ولظهورها فى الـ textBox
فقط تعال على السطر التالى
كود :
MessageBox.Show(H.ToString("00") + ":" + M.ToString("00") + ":" + S.ToString("00"));
واستبدله بـ
كود :
textBox1.Text = H.ToString("00") + ":" + M.ToString("00") + ":" + S.ToString("00");
تحياتى لك
وتمنياتى لك التوفيق