اقوم حاليا بعمل برنامج لحساب المدة وتكلفة الساعة وذلك لعدة استخدامات ..
ولكن المشكلة اللتي واجهتني منذ البداية هي كيف اعرف المدة الزمنية اللتي انقضت وذلك عن طريق طرح الزمنين ..
يعني السؤال هو : كيف اطرح زمنين ؟؟؟
اقوم حاليا بعمل برنامج لحساب المدة وتكلفة الساعة وذلك لعدة استخدامات ..
ولكن المشكلة اللتي واجهتني منذ البداية هي كيف اعرف المدة الزمنية اللتي انقضت وذلك عن طريق طرح الزمنين ..
يعني السؤال هو : كيف اطرح زمنين ؟؟؟
السلام عليكم
إستخدم الوظيفة DateDiff لإعطائك فارق الوقت أو التاريخ بين متغيرين , بهذا الشكل
Dim Value As Integer = DateDiff("d", date1, date2)حيثُ "d" هو ممرر يقصد به الايام days .اي القيمة الراجعة هي عدد الايام فقط.
شاهد المثال المرفق, لمعظم الإحتمالات (التفقيط) وغير ذلك
كحساب عمر الشخص , أو فارق الوقت أو فارق التاريخ , حساب حجم الكائن.
بالتوفيق إن شاء الله.
في المثال يتضح المقال
اخوي الغملاسي شكرا لك ..
لدي سؤال اخر
هو كيف اجعل المتغير او الوظيفة تقرب لأقرب رقم ؟؟
يعني اذا كان الفارق بين الزمنين 3 ساعات و40 دقيقة يتم تقريبها الى 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 تبحث عن أصغر رقم صحيح للرقم أو العبير المسند إليها لكن ليس أصغر من الرقم أو العبير نفسه .
هذا والله أعلى وأعلم
في المثال يتضح المقال
الغملاسي شكرا لك ..
تقبل تحياتى
استاذي الغملاسي ..
الله يعطيك الف عافية
ماقصرت ..
هذا الموضوع مغلق.