![]() |
|
[VB.NET] دالة datediff - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] دالة datediff (/showthread.php?tid=12794) |
دالة datediff - sphinx - 23-07-15 لسلام عليكم ممكن طريقة لمعرفة لطفل المتسرب عن اللقاح بداله date diff بين تاريخ اللقاح القادم والتاريح الحالي today حيث لكل طفل 8 جرع تلقيحية ويكون التسرب اذا كانت المقلرنه اكثر من 30 يوم يكون متسرب واذا كان اقل من 30 يوم يكون غير متسرب وهل يمكن ان يظهر التسرب بفورم البحث بلون احمر RE: دالة datediff - silverlight - 23-07-15 كود : Friend Function CheckVaccinationPeriod(currentDate As DateTime, vaccinationDate As DateTime, period As Integer) As Booleanأو يمكنك استخدام الدالتان أعلاه ب أسلوب أخر حيث اننا نعرف أن وقت التطعيم يجب أن يكون أكبر من الوقت الحالي ب ثلاثون يوما كود : Friend Function CheckVaccinationPeriod(currentDate As DateTime, vaccinationDate As DateTime, period As Integer) As Booleanعليك ان تمرر المدة الزمنية للتطعيم و في حالتك هنا هي 30 يوما كود : If CheckVaccinationPeriod(30) ThenRE: دالة datediff - sphinx - 23-07-15 اشكرك اخي جزيل الشكر انا عامل ربط بين البرنامج بالاكسيس قصدك انه اعما حقل للتسرب RE: دالة datediff - silverlight - 23-07-15 لماذا تريد إنشاء حقل للتسرب من التطعيم .... عموما القرار لك و اعتذر لأنني لا اعمل في الدات بيز إطلاقا RE: دالة datediff - sphinx - 23-07-15 Dim strDate As Date Dim strate As Date Dim next1 As Date next1 = DtpBCG.Value Me.Dtpnext1.Value = next1.AddMonths(2) strate = Dtpnext1.Value strDate = Today TextBox2.Text = DateDiff(DateInterval.Day, strate, strDate) هذا كود الاظافة addmonthوالمقارنه بدالة datediff لكن ينقصني شرط لدالة المقارنه datediff اذا كان كبر من 30 يوم يكون الطفل متسرب واذا كان اقل من 30 يكون غير متسرب اشكرك جدا على مواصلة الاجابة معي حاولت ان اارفق البرنامج لكن حجمه كبير RE: دالة datediff - silverlight - 23-07-15 رجاء أن تصحح لي إن كنت انا مخطئا ..... ما أفهمه من الكود الخاص بك ان هناك تاريخ معين يتم قراءته من الداتا بيز و هو علي ما أعتقد المتغير Next1 أما بقيية التواريخ فليس لها اي اهمية خاصة انك تحتاج فقط الي تاريخ التلقيح الذي نحتاج ان نقارنه هو فقط ب الوقت الراهن ثم نطرح الفارق بين التاريخين و نظهر النتائح في التكست بوكس RE: دالة datediff - sphinx - 23-07-15 دعني اوضح لك اكثر مثلا لدي طفل لقح بتاريخ 20/7/2015 وهو تاريخ اخذ اللقاح ويحددة اليوزر ويكون موعد اللقاح القادم (next1) بعد شهرين من تاريخ اخذ اللقاح Dim next1 As Date next1 = DtpBCG.Value Me.Dtpnext1.Value = next1.AddMonths(2 DtpBCG= داتا تايم بيكر لتاريخ اخذ اللقاح وهو تاريخ لقاح اسمه البي سي جي ولذلك يكون تاريخ اللقاح القادم 20/9/2015 اما التسرب فيكون المقارنه بين تاريخ اللقاح القادم والتاريخ الحالي today فيقارن التاريخ الحالي today وتاريخ اللقاح القادم ويحسب اذا كانت اكثر من 30 يوم يكون الطفل متسرب واذا قل يكون غير متسرب وهذا مااقصدة بكودالمقارنه Dim strDate As Date Dim strate As Date strate = Dtpnext1.Value strDate = Today TextBox2.Text = DateDiff(DateInterval.Day, strate, strDate) ارفقت صورة لواجهة المشروع واشكرك جدا RE: دالة datediff - silverlight - 23-07-15 ما هو ده اللي أنا كتبته في الكود السابق قمت بمقارنة تاريخ اللقاح الجديد مع الناريخ الحالي فقط انا كتبت الكود ليسترجع Boolean حيث من الدالة يمكن معرفة هل الطفل قد تأخر عن وقت التلقيح ام لا مثلا لو الطفل لم يتاخر عن وقت التلقيح فإن الدالة تسترجع قيمة عبارة عن False أما لو تأخر فإن قيمة الدالة تكون True لذلك انت لديك حالتان : الأولي أن تستخدم الدالة التي انا كتبتها سابقا و تمرر لها المتغيرات الني لديك مثل وقت التلقيج الجديد و وقت التلقيح القديم و الفارق بينهما هنا يجب أن يكون 60 يوما و لتنسي تماما التوقيت الحالي فإن تحققت الدالة فهنا يعتبر الطفل قد فاته وقت التلقيح الثانية الفارق الزمني بين الوقت الحالي و وقت التلقيح الجديد و هو ما تقوم انت بحساب قيمته لتظهر في التكست بوكس وهنا ليس شرطا ان يكون الفارق بين وقت التلقيح الجديد و الوقت الحالي ان يكون 30 يوما فقط لكن ما يهمك هنا هو أن الفارق بين التوقيت الحالي و التلقيح الجيد يجب ان يكون لا يساوي صفرا او اقل من صفر لأنه و في تلك الحالة يعتبر الطقل تأخر عن ميعاد التلقيح أيضا RE: دالة datediff - sphinx - 23-07-15 اشكرك جدا اخي وبارك الله بيك لكن ما ارجوا منك هو ان توضح لي ما اغيرة وماهي القيم التي ابدلها بالكود الذ ي وضعته انت وشكرا لك مع الملاحظه ان الحالة الثانية قد اكون اسهل واوضح لي RE: دالة datediff - silverlight - 23-07-15 اولا دعنا نحسب الفارق بين وقت التلقيح و الوقت الحالي وقت التلقيح الجديد معلوم لديك بالفعل و هو متغير عبارة عن Next1 و اسمح لي أن أطلق عليه vaccinationDate وهذا سوف يمثل الفارق في الايام و هو الذي انت في حاجة ان يظهر ف التكست بوكس كود : Dim dateDiff As Integer = vaccinationDate.Subtract(DateTime.Now).TotalDaysلنضع القيمة الناتجة في التكست بوكس كود : TextBox2.text = dateDiffالأن لنتأكد من شرط التهرب من التطعيم و بناء علي ذلك نغير لون الخط في التكست بوكس كود : Dim clr As Color = TextBox2.ForeColorتقريبا ده كل الكود لكن المشكلة انك كنت محتاجة بطريقتك و بأسلوبك أنت |