منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعدة في طرح وقتين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
هذه اول مشاركة لي بهذا القسم وانا جديد على vb.net :o
المرجوا تعديل هذه الدالة لطرح وقتين وهي للاخ السندبااد معمولة بالفجوال بيسك6 لكي تتناسب مع vb.net
كود :
Function TimeDiff(STime As Date, ETime As Date) As Date


'طرح وقتين
Dim TimeSecs, Hrs As Double
'الحصول على الثواني
TimeSecs = DateDiff("S", STime, ETime)
'اذاكان الفرق-قم بإضافة24ساعة
'التمرير سيكون بقيمة الثواني
If TimeSecs <> Abs(TimeSecs) Then: TimeSecs = TimeSecs + 86400
'اذا كان هنالك ساعات فسنحصل عليها من هنا
If TimeSecs >= 3600 Then: Hrs = Fix(TimeSecs / 3600)
'نستخدم الدالةTimeSerial
'لإرجاع الوقت بالساعة والدقيقة والثانية المحددة
TimeDiff = TimeSerial(Hrs, 0, TimeSecs - (Hrs * 3600))
End Function

'طريفة استخدام الدالة
Text9.Text = Format(Time, "hh:mm:ss")
Text5 = Format(TimeDiff(Text9, Text1), "hh:mm:ss")
جزاكم الله خيرا
السلام عليكم

تستطيع عمل ذلك عن طريق الTimeSpan هكذا:

PHP كود :
Dim t1 As DateTime DateTime.Parse("10/12/2012")
        
Dim t2 As DateTime DateTime.Parse("12/12/2012")
        
Dim t As TimeSpan t2 t1
        MessageBox
.Show(t.ToString()) 
sajad كتب :السلام عليكم

تستطيع عمل ذلك عن طريق الTimeSpan هكذا:

PHP كود :
Dim t1 As DateTime DateTime.Parse("10/12/2012")
        
Dim t2 As DateTime DateTime.Parse("12/12/2012")
        
Dim t As TimeSpan t2 t1
        MessageBox
.Show(t.ToString()) 
جزاك الله خير الجزاء
ولاكني اقصد طرح التوقيت الحالي للجهاز من التوقيت الموجود في textbox كما بالصورة

[ATTACH=CONFIG]1488[/ATTACH]
ويكون في حدث التايمر
ارجوا ان يكون كلامي واضح
جزاكم الله خيرا
السلام عليكم ورحمة الله
لو افترضنا بأن الوقت الحالي موجود ضمن TextBox2
وأن الوقت المطلوب المقارنة به موجود في Textbox1
فهذا هو الكود المطلوب لعملية المقارنة
كود :
Dim Difference As TimeSpan = TimeSpan.Parse(TextBox1.Text) - TimeSpan.Parse(TextBox2.Text)
        If TimeSpan.Parse(TextBox1.Text) < TimeSpan.Parse(TextBox2.Text) Then
            Difference = TimeSpan.Parse("24") + Difference
        End If
        TextBox3.Text = Difference.ToString("hh\:mm\:ss")
sooriaty03 كتب :السلام عليكم ورحمة الله
لو افترضنا بأن الوقت الحالي موجود ضمن TextBox2
وأن الوقت المطلوب المقارنة به موجود في Textbox1
فهذا هو الكود المطلوب لعملية المقارنة
كود :
Dim Difference As TimeSpan = TimeSpan.Parse(TextBox1.Text) - TimeSpan.Parse(TextBox2.Text)
        If TimeSpan.Parse(TextBox1.Text) < TimeSpan.Parse(TextBox2.Text) Then
            Difference = TimeSpan.Parse("24") + Difference
        End If
        TextBox3.Text = Difference.ToString("hh\:mm\:ss")

لقد قمت بتجربة الكود ولاكن يعطيني خطأ:confused:
المرجوا تصحيح الكود Smile
[ATTACH=CONFIG]1492[/ATTACH]
جزاك الله خيرا
السلام عليكم
أخي الكريم
سبب الخطأ أنك غيرت في فورمات الوقت
ضع نفس الفورمات ليعمل الكود
أي ضع الرمز (\) قبل كل :
كود :
TextBox3.Text = Difference.ToString("hh\:mm\:ss")
بالتوفيق
إقتباس :
sooriaty03[INDENT]السلام عليكم
أخي الكريم
سبب الخطأ أنك غيرت في فورمات الوقت
ضع نفس الفورمات ليعمل الكود
أي ضع الرمز (\) قبل كل :
كود:

TextBox3.Text = Difference.ToString("hh\:mm\Confuseds")
بالتوفيق[/INDENT]
السلام عليكم
لقد قمت بوضع الرمز ونفس الخطأ :confused:
جزاك الله خيرا
[ATTACH=CONFIG]1498[/ATTACH]
ارجوا ان لا اكون اثقلت عليك
تفضل ياغالي هذا كود بديل عن السابق
كود :
Dim Difference As TimeSpan = TimeSpan.Parse(TextBox1.Text) - TimeSpan.Parse(TextBox2.Text)
        If TimeSpan.Parse(TextBox1.Text) < TimeSpan.Parse(TextBox2.Text) Then
            Difference = TimeSpan.Parse("24") + Difference
        End If
[COLOR="#FF0000"]        TextBox3.Text = Strings.Right("0" & Difference.Hours, 2) & ":" & Strings.Right("0" & Difference.Minutes, 2) & ":" & Strings.Right("0" & Difference.Seconds, 2)
[/COLOR]
جزاك الله خيرا
اخيرا اشتغل الكود
تستاهل احلى تقييم