منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[تم الحل] مشكلة فى طرح خانتين من بعض - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [تم الحل] مشكلة فى طرح خانتين من بعض (/showthread.php?tid=29403)

الصفحات: 1 2 3 4


[تم الحل] مشكلة فى طرح خانتين من بعض - maxruined - 17-04-19

السلام عليكم 
واجهتني مشكلة اثناء عمل برنامج حضور وانصراف الموظفين والمشكلة هى مش عارف اخلي ال text box عباره عن توقيت ساعه 
بحيث انى لما اطرح ال out من ال in يديني فى ال total hour مجموع ساعات العمل 
ارجو مساعدتي في حل هذه المشكلة 
ولكم جزيل الشكر



RE: مشكلة فى طرح خانتين من بعض - ابراهيم ايبو - 17-04-19

السلام عليكم اخي الكريم
تفضل هذا الكود
كود :
   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();
       }



RE: مشكلة فى طرح خانتين من بعض - maxruined - 18-04-19

(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();
       }

شكراً جداً اخى العزيز 
بس كان ليا استفسار اخير .. كنت عايز كود يعمل جمع لعدد كتير من الساعات ... يعني مثلا انا عندى اكتر من تيكست بوكس فيه حساب للساعه .. عايز كود يجمعهم كلهم مع بعض .. وشكراً جداً اخى العزيز على المساعده 



RE: مشكلة فى طرح خانتين من بعض - ابراهيم ايبو - 18-04-19

السلام عليكم اخي الكريم

استخدم الكود الثاني حيث الحساب يكون بالدقائق ثم قم بجمع كل التكست بوكس 

وبعدها حول الى الساعة بأن تقسم الرقم الناتج على 60

 والباقي من القسمة سيكون دقائق



RE: مشكلة فى طرح خانتين من بعض - maxruined - 18-04-19

(18-04-19, 01:13 AM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم

استخدم الكود الثاني حيث الحساب يكون بالدقائق ثم قم بجمع كل التكست بوكس 

وبعدها حول الى الساعة بأن تقسم الرقم الناتج على 60

 والباقي من القسمة سيكون دقائق


السلام عليكم اخى العزيز 

بس الطريقه اللى بتقول عليها دى مش هتنفع .. يعني مثلا لو قسمنا 160 دقيقه اي 2.40 اتنين ساعه واربعين دقيقه
هنقول 160/60 هيطلع الناتح كدا  ٢.٦٦٦٦٦٦٦٦٦٦٦٦٦٦٧  اكيد طبعاً مش صح 
لو فيه اي طريقه تانى للجمع بحيث يجمعلي عدد الساعات والدقائق ويدينى الناتج يبقي كتر خيرك 
شكراً جداً اخى العزيز على سرعه الرد



RE: مشكلة فى طرح خانتين من بعض - ابراهيم ايبو - 18-04-19

السلام عليكم اخي الكريم
ستستخدم عمليتي القسمة العادية وباقي القسمة واليك الكود
كود :
 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 +" دقيقة";
       }



RE: مشكلة فى طرح خانتين من بعض - maxruined - 18-04-19

(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 سبعه عشر ساعه وعشرون دقيقه مش تحت شرط بالتفقيط بالارقام بس 
ومرة تانى الف مليون شكرا لمساعدتك



RE: مشكلة فى طرح خانتين من بعض - ابراهيم ايبو - 18-04-19

 السلام عليكم ورحمة الله وبركاته
تفضل اخي  عملت لك مثال تقوم بادخال التاريخ واسم الموظف وعدد ساعات دوامه في الداتاغرايدفيو
ثم تحسب ممجموع ساعات دوامه الموجودة في عمود ساعات الدوام وتضعها في مربع المجموع 
اعتقد جازما هذا ماتريد والله المستعان



RE: مشكلة فى طرح خانتين من بعض - maxruined - 20-04-19

(18-04-19, 10:06 PM)ابراهيم ايبو كتب :
 السلام عليكم ورحمة الله وبركاته
تفضل اخي  عملت لك مثال تقوم بادخال التاريخ واسم الموظف وعدد ساعات دوامه في الداتاغرايدفيو
ثم تحسب ممجموع ساعات دوامه الموجودة في عمود ساعات الدوام وتضعها في مربع المجموع 
اعتقد جازما هذا ماتريد والله المستعان


اخى العزيز شكراً جداً لمساعدتك

بس البرنامج اللى انت بعته لما بحسب مجموع ساعات العمل بيجبلى خطأ .. جايز بسبب اختلاف الاصدارات لدينا .. مش عارف الحقيقه
عمتاً انا كنت محتاج بس اعمل مجموع للعامود اللى فيه Total Hour واحط المجموع فى التيكست بوكس اللى عليه السهم باللون الاحمر 



بتمني من اى حد يقدر يساعدني في حل المشكلة دى 



RE: مشكلة فى طرح خانتين من بعض - elgokr - 20-04-19

مرحباً اخى الحبيب

كل ما تحتاج اليه هو استخدام الكود التالى

اما فى حدث زر او فى حدث اللود اسفل كود تعبئة الداتا جريد
كود :
           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");

تحياتى لك
وتمنياتى لك التوفيق