تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
المساعدة في عملية طرح الوقت من خلال اثنين textbox
#1
السلام عليكم ورحمة الله وبركاته 

سؤالي عندي اثنين تكست بوكس ويوجد فيها وقت بالساعات والدقائق وأريد أن أعمل عملية طرح بين الوقتين وقد استخدمت هذا الكود 





                      (Dim Difference3 As TimeSpan = TimeSpan.Parse(TextBox41.Text) - TimeSpan.Parse(TextBox21.Text


                        TextBox42.Text = Difference3.ToString


(TextBox42.Text = Strings.Right("0" & Difference3.Hours, 2) & ":" & Strings.Right("0" & Difference3.Minutes, 2



و
الكود يعمل بشكل صحيح بشرط أن كل تكست بوكس يكون الوقت فيه أقل من 24:00 ساعة ولكن إذا كان الوقت أكثر من 24:00 يظهر رسالة خطأ 

Additional information: تعذر تحليل TimeSpan، لأن أحد المكونات العددية خارج النطاق أو يحتوي على عدد كبير من الأرقام


آسف على الإطالة 

لكم جزيل الشكر 
دمتم بود 
الرد }}}
تم الشكر بواسطة: سعود , سعود
#2
وعليكم السلام

ال TimeSpan لا يستطيع تحويل الوقت النصي اذا كانت الساعات اكثر من 23 مثل ("24:00")
لكنه يقبلها في البيانات المنفرده (24,0,0) لابد من رقم الثوان

في هذه الحاله لابد من تقسيم النص لتحويله الى بيانات منفره مثل
Dim t1 As New TimeSpan(Split(TextBox41.Text, ":")(0), Split(TextBox41.Text, ":")(1), 0)

فيكون الكود
Dim t1 As New TimeSpan(Split(TextBox41.Text, ":")(0), Split(TextBox41.Text, ":")(1), 0)
Dim t2 As New TimeSpan(Split(TextBox21.Text, ":")(0), Split(TextBox21.Text, ":")(1), 0)
Dim Difference3 As TimeSpan = t1 - t2
TextBox42.Text = Strings.Right("0" & Difference3.Hours, 2) & ":" & Strings.Right("0" & Difference3.Minutes, 2)
الرد }}}
تم الشكر بواسطة: سعود
#3
 السلام عليكم ورحمة الله وبركاته 

أولاً أشكرك على تفاعلك أخي الكريم 
جربت الكود اللي أرسلته الكود يستمر بالطرح بصورة ممتازة ولكن الطرح من التكست بوكس لأكثر من 30 ساعة يعني مثلا 48 ساعة تظهر أخطاء في الناتج 



لك جزيل الشكر 

دمتم بود 
الرد }}}
تم الشكر بواسطة: Ashref , محمد اسماعيل , سعود
#4
العفو اخي الكريم

لا يوجد خطا ولكن الساعات تظهر لغاية 24 ساعه وبعدها يتحول ليوم وهذا لا يظهر بناء ع الكود بتاعك

TextBox42.Text = Fix(Difference3.TotalHours) & ":" & Strings.Right("0" & Difference3.Minutes, 2)
الرد }}}
تم الشكر بواسطة: محمد اسماعيل , سعود
#5
مرة أخرى اشكرك على تفاعلك

أخي المقصود أنه عندما أقوم مثلا بطرح 03:00 من القيمة 29:00 الموجود في التكست بوكس الثاني فإن النتيجة تظهر 26:00 وهذا الشي ممتاز ولكن عندما تكون قيمة التكست بوكس الثاني أعلي من 30:00 فهنا تبدأ المشاكل


سؤال جانبي / عندما يظهر في التكست بوكس الأيام والساعات والدقائق فكيف تحول الأيام غلى ساعات ؟


لك جزيل الشكر
الرد }}}
تم الشكر بواسطة: سعود
#6
العفو اخي الكريم

لم اجد المشكله كما هو واضح في الصوره


السؤال الجانبي غير واضح
الرد }}}
تم الشكر بواسطة: سعود
#7
السلام عليكم 
 كلامك صحيح أخي ولكن إذا كان الوقت يحتوي  على ساعات ودقائق تظهر هذه المشكلة مثل 04:15   أما ساعات فقط بدون  دقائق فلاتظهر المشكلة 


المقصود بالسؤال الجانبي / انت قلت في أحد ردودك السابقة أن الساعات اذا كانت الساعات أكثر من 24 فإنها تتحول إلى أيام مثلاً   28:26  تتحول الى 1,04:26    بمعنى    1 يوم و وأربع ساعات و ستة وعشرون دقيقة 
المطلوب   
كيف أحول  1,04:26   إلى ساعات ودقائق بدون أيام    
معليش إن شاء الله يكون الشرح واضح 



لم جزيل الشكر 

دمت بود 
الرد }}}
تم الشكر بواسطة: سعود
#8
وعليكم السلام

ايضا لم تظهر المشكله كما هو واضح في الصوره



السؤال الجانبي
لقد تم بالفعل تحويل الايام الى ساعات ودقائق في الكود
TextBox42.Text = Fix(Difference3.TotalHours) & ":" & Strings.Right("0" & Difference3.Minutes, 2)
الرد }}}
تم الشكر بواسطة:
#9
لسلام عليكم ورحمة الله وبركاته 
شكرا شكرا من الأعماق تم المطلوب بنجاح مئة بالمئة بعد تعديل بسيط بالكود والفضل لك أخي أشرف بعد الله  لقد أزلت عني هماً كبيراً وأشكر لك صبرك على كثرة رسائلي  وهذا يبين كريم أخلاقك 

       ( Dim t1 As New TimeSpan(Split(TextBox41.Text, ":")(0), Split(TextBox41.Text, ":")(1), 0

       ( Dim t2 As New TimeSpan(Split(TextBox21.Text, ":")(0), Split(TextBox21.Text, ":")(1), 0

        Dim Difference3 As TimeSpan = t1 - t2

هذا هو التعديل
TextBox42.Text = Difference3.ToString

(TextBox42.Text = Fix(Difference3.TotalHours) & ":" & Strings.Right("0" & Difference3.Minutes, 2


 لك جزيل الشكر 
دمت بود

(09-01-21, 12:32 AM)سعود كتب :
إقتباس :الكود يعمل بشكل صحيح بشرط أن كل تكست بوكس يكون الوقت فيه أقل من 24:00 ساعة ولكن إذا كان الوقت أكثر من 24:00 يظهر رسالة خطأ 
اخواني الكرام 
اسمحو لي بهذه ا لمشاركة.
الساعة لا يمكن ان تصل 24 آخرها 23 
اذا اردت التعامل مع وقت اكثر من 24 ساعة استخدم الايام ايضا.
لو ترفع مثال بسيط حتى نعدل على المثال بصمت فان عرفنا الكود الصحيح ابلغناك وان لا سكتنا
  شكرا لك أخ سعود تم الحل بمساعدة الأستاذ أشرف وتشرفت بردك 
الرد }}}
تم الشكر بواسطة: Ashref , سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في حل سؤال بخصةص عرض الوقت عبدالكريم برشدان 2 100 12-04-24, 03:05 PM
آخر رد: عبدالكريم برشدان
  [سؤال] لدي مشكلة عند قراءة ملف نصي من خلال أداة RichBox , حيث تظهر لي علامات استفهام Mostchar 2 153 07-04-24, 02:51 PM
آخر رد: تركي الحلواني
Star الوقت المستغرق لكتابه الكلمه سلام و محبه 0 65 02-04-24, 04:44 PM
آخر رد: سلام و محبه
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 215 20-02-24, 12:00 AM
آخر رد: Kamil
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 264 11-02-24, 08:43 PM
آخر رد: assuhimi
  [VB.NET] مشكلة ظهور textbox بعد حذفه من الفورم مبرمج صغير 1 1 231 27-01-24, 02:04 AM
آخر رد: مبرمج صغير 1
  التحقق من خلال محتوى خلية عن طريق textbox صالح عبدالله 2 224 24-01-24, 12:54 PM
آخر رد: صالح عبدالله
  [VB.NET] استدعاء بيانات في TextBox بناء على combobox loay775 2 277 18-01-24, 05:07 PM
آخر رد: loay775
  ارجو المساعدة فى شاشة طباعة الباركود new_programer 10 584 09-01-24, 08:41 PM
آخر رد: new_programer
  إدخال معادلة رياضية في textBox وبرمجة حلها؟ الخير19 3 302 03-01-24, 04:19 PM
آخر رد: الخير19

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


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