تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل عدد ساعات العمل من عشري (٢٫٧٥) الى - "HH:MM" في التقارير - تم الحل
#4
بات الامر جميلاً وخصوصاً ان الصورة اصبحت مرئية جيداً
فى البداية نقلت الموضوع الى قسم C# بما انك تعمل بهذه اللغة
لتسهيل عليك الكود مباشر بدلاً من التحويل وليكون كل شئ بتخصصه

انظر الى هذا الكود بدلاً من الـ function المستخدم لديك

وركز معايا فى كم فكرة ممكن تعملها لما هو يناسبك
اعلم انك وصلت لحل لما تريده ولكن حتى تعم الفائدة لك وللجميع

فى البداية قم بانشاء هذا الـ function
كود :
       public TimeSpan GetHours(DateTime startTime, DateTime stopTime)
       {
           TimeSpan myTime = new TimeSpan();
           myTime = stopTime - startTime;
           return myTime;
       }
الان ناتى لكود التنفيذ كمثال لاختبار الامر
كود :
           TimeSpan GetTime = new TimeSpan();
           DateTime srtTime = Convert.ToDateTime("10:00");
           DateTime stpTime = Convert.ToDateTime("16:40");
           GetTime = GetHours(srtTime, stpTime);

           MessageBox.Show(GetTime.Hours + ":" + GetTime.Minutes);

لاحظ بساطة الكود وان انا عملت الكود على تجزئة لتوضح الصورة خطوة بخطوة
طيب الان اللى فهمنا من الكود المثال لعرض فارق عدد الساعات واللى هيكون 6:40

بكده مطلوب منى انفذ حفظ هذا الوقت بقاعدة البيانات من خلال هذا السطر
كود :
GetTime.Hours + ":" + GetTime.Minutes
لكن فى مشكلة ان العمود بقاعدة البيانات عبارة عن double
الحلول هنا لها الف حل فابسط مثال يمكنك تحويل نوع العمود الى نص او تاريخ
الامر الثاني ان تجعل الكود المرسل لهذا العمود بهذا الشكل
كود :
GetTime.Hours + "." + GetTime.Minutes

ليكون الرقم المسجل هو 6.40
وسيكون الامر بسيط فى التقارير من تحويل . الى :
او يمكنك تركه على هذا الوضع كونه 6.40 فهو مشير الى 6 ساعات و 40 دقيقة

وغيرها كتير من افكار لكن لا اريد اضيف المزيد حتى لا تدخل الامور فى بعضها

اتمنى ان الصورة مرئية وان بناء function بصورة صحيحة يكون على هذا الشكل
وليك كما اشرت اليه فى الكود الخاص بك وتذكر ان الـ function
هو عبارة عن تسهيل وليس اعتماد
بمعنى انه يسهر عليك استخدامه لاكثر من امر واكثر من طريقة
وليس ليكون على شكل واحد يستخدم عند الاستدعاء
فلاحظ فى الـ function الذى فعلته يمكنك استخدامه فى كل زر بطريقة
يقوم بعرض شئ يختلف عن الزر الاخر
مثل عرض فارق التاريخ لاستخراج العمر بين تاريخين
مثل عرض فارق التوقيت بالدقائق فقط او الثواني فقط
مثل عرض فارق التوقيت بين ساعة ودقيقة
...... الخ من ايام وسنين واشهر واسابيع وكذلك النسبة

فهنا انت المتحكم فى كل زر ما تريد اظهاره
بينما فى كوده اصبح مجبر اظهار النسبة مهما استخدمته فى اكثر من حدث

اتمنى ان تكون الصورة وضحت امامك كاملاً
وان يكون الامر اصبح بسيطاً وسهلاً معك

ولو فى اى سؤال اى استفسار فى الكود ابشر به وسافيدك بامر الله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}


الردود في هذا الموضوع
RE: تحويل عدد ساعات العمل من عشري (٢٫٧٥) الى - "HH:MM" في التقارير - تم الحل - بواسطة elgokr - 15-06-19, 03:45 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [C#.NET] مشكل يخص قراءة التقارير في برنامج aziz-ouali 0 557 08-12-23, 06:25 AM
آخر رد: aziz-ouali
  [تم الحل] مشكلة الاتصال بقاعده بيانات SQL على الشبكة maxruined 5 5,175 08-11-23, 01:00 AM
آخر رد: الحزين اليماني
  [C#.NET] تحويل كود ahmed_king2023 2 874 06-06-23, 09:44 AM
آخر رد: fouadhdfouad
  [VB.NET] تحويل كود ahmed_king2023 6 1,318 22-04-23, 11:30 PM
آخر رد: ahmed_king2023
  [C#.NET] القسمة على عدد عشري h2551996 4 892 26-03-23, 01:00 PM
آخر رد: sanyor77
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 834 10-01-23, 03:02 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 940 03-12-22, 03:52 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 5 1,251 30-11-22, 07:32 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 0 651 29-11-22, 06:30 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود تالي الي c# ali_ahmed12 5 1,254 17-11-22, 04:25 AM
آخر رد: yaser27

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم