الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف احسب الفارق بين زمنين ؟؟؟

مغلق
بدأه ابوخالد العيدروس في 13 نوفمبر 2005 · 6 رد · 823 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اقوم حاليا بعمل برنامج لحساب المدة وتكلفة الساعة وذلك لعدة استخدامات ..

ولكن المشكلة اللتي واجهتني منذ البداية هي كيف اعرف المدة الزمنية اللتي انقضت وذلك عن طريق طرح الزمنين ..

يعني السؤال هو : كيف اطرح زمنين ؟؟؟

#2

السلام عليكم

إستخدم الوظيفة DateDiff لإعطائك فارق الوقت أو التاريخ بين متغيرين , بهذا الشكل

 Dim Value As Integer = DateDiff("d", date1, date2)

حيثُ "d" هو ممرر يقصد به الايام days .اي القيمة الراجعة هي عدد الايام فقط.

شاهد المثال المرفق, لمعظم الإحتمالات (التفقيط) وغير ذلك

كحساب عمر الشخص , أو فارق الوقت أو فارق التاريخ , حساب حجم الكائن.

بالتوفيق إن شاء الله.

CalculateYearsMonthsDays.zip

في المثال يتضح المقال

#3

اخوي الغملاسي شكرا لك ..

لدي سؤال اخر

هو كيف اجعل المتغير او الوظيفة تقرب لأقرب رقم ؟؟

يعني اذا كان الفارق بين الزمنين 3 ساعات و40 دقيقة يتم تقريبها الى 4 ساعات وهكذا ؟؟

ياليت يكون عندك اجابة ؟؟

شكرا لك مرة اخرى

#4

السلام عليكم

يمكن ذلك عن طريق وظائف الرياضيات Math Methods إليك المثال التالي

 Dim s As Long = 5.4
        MsgBox(Math.Round(s).ToString) 'Display 5 Return the whole number
        MsgBox(Math.Floor(s).ToString) 'Display 5 Return the Largest Whole number
        MsgBox(Math.Ceiling(s).ToString) 'Display 5 Return the Smallest Number

إقراء هذه المقالة في الاسفل تشرح عن هذه الوظائف الثلاث ,

قد كتبتها في برنامج فلاش قبل خمس سنوات تقريباً , فالوظائف لازالت على نفس المنطق, بالتوفيق إن شاء الله.

التركيبة النصية لهذهِ الوظيفة هي

Math.round(x);

حيث x هو رقم

تقوم هذه الوظيفة بالبحث عن أقرب رقم يساوي x أو الرقم x بعينه

مثلاً لو كانت x تساوي 5.4 فإن x بهذه الوظيفة ستساوي 5

أما إذا كانت x تساوي 5.5 فإن x ستساوي 6

أي من صفر إلى أربعة فهي للقيمة الأصلية ومن 5 إلى 9 فهي للقيمة التي تعلو القيمة الأصلية برقم

إليك المثال جرب ضع الأرقام وأنظر الناتج

يتبين لنا أن هذه الوظيفة تختلف نوعً ما عن الوظيفة Math.floor من حيث المهام

والفرق بينهما نسبياً حيث الوظيفة الحالية تقوم بتجاوز الرقم المدرج في المتغير x

إذا ما وصلت أو تجاوزت الفاصلة العشرية الرقم 5 في المنازل العشرية أي 5.5 إلى 5.9 و الله أعلم.

...........................................................................................

تسليط الضوء على الوظيفة Math.floor

تقوم هذه الوظيفة بالبحث عن اقرب عدد للقيمة المسندة إليها أو يساويها

مثال على ذلك

x = 55;
Min=Math.floor(Math.random*x+1);
If(min>=56){
	Min = “lose”;
	Stop();
}

الشرح المتغير x يحوي القيمة 55 ثم بعد قلنا أن المتغير min يساوي الوظيفة floor

بالوظيفة العشوائية Math.random ضارب المتغير x أي من صفر إلى 55

ثم وضعنا +1 أي تبدأ من الرقم واحد

الآن عرفنا أن القيمة في المتغير min ستبدأ من الرقم واحد إلى الرقم 55 عشوائياً

سيتم الاختيار تقريباً بهذا الشكل كما تلاحظ الأرقام محصورة بين الرقم 1 إلى الرقم 55 فقط .

7

43

28

23

50

12

16

35

20

37

42

1

55

21

الشرط هو المحك وذلك أن الشرط لان ينفذ أبداً وذلك لما بينا من خصوص هذه الوظيفة

حيثُ أننا قلنا إذا كان الرقم في المتغير min يساوي 56 ولن يكون أبداً كون الوظيفة

تبحث عن الرقم الذي يقارب الرقم في المتغير x أو يساويه ولكن لا يعلو عليه

هذا فقط لبيان أسلوب هذه الوظيفة لا أكثر السلام عليكم .

......................................................................

تسليط الضوء على الوظيفة Math.ceil

التركيبة النصية للوظيفة ceil

Syntax 
Math.ceil(x);
Arguments 
x A number or expression

التعريف

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

أصغر من الرقم نفسه أو التعبير المنطقي نفسه .

يقصد بالرقم أي رقم يسند للوظيفة سواءً كان حقيقي أو صحيح .

يقصد بالتعبير المنطقي متغير يحل محل الرقم كالمثال في الأدنى .

مثال على هذه الوظيفة

x = 6.4;
trace(Math.ceil(x));

سيكون الناتج 7

الشرح ترى أن المتغير x يساوي الرقم 6.4 دور الوظيفة الآن أن تبحث عن رقم يصغر هذا الرقم

بشرط أن يكون صحيح أي رقم دون أي كسور وبما أن لا بد أن يكون الرقم حسب التعريف الذي

ذكرنا للتو بأن لا يصغر الرقم المسند إلى هذه الوظيفة فسيكون الناتج بلا شك سبعة

أي من الرقم 6.1 إلى الرقم 6.9 هو لاشك 7 .

الآن تلاحظ الفرق بين الوظيفة ceil و الوظيفة floor

الوظيفة floor تبحث عن أكبر رقم صحيح للرقم أو التعبير المسند إليها لكن ليس أكبر من الرقم أو التعبير نفسه .

الوظيفة ceil تبحث عن أصغر رقم صحيح للرقم أو العبير المسند إليها لكن ليس أصغر من الرقم أو العبير نفسه .

هذا والله أعلى وأعلم

في المثال يتضح المقال

#5

الغملاسي شكرا لك ..

تقبل تحياتى

#7

لا شكر على واجب, أحسن اللهُ إليكما.

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة