البرمجة

حساب مدة الزمن بين الأوقات في ASP.NET باستخدام C#

بعد النظر إلى الصورة المقدمة، يظهر أنك بحاجة إلى صفحة ASP.NET تحتوي على ثلاث قوائم منسدلة لاختيار وقت البداية وثلاثة أخرى لاختيار وقت الانتهاء. يتوجب عليك أيضاً ضمان أن الوقت النهائي يكون أكبر من الوقت الابتدائي، وأن تقديم الوقت يكون في تنسيق ساعات ودقائق مع تحديد AM أو PM.

لتحقيق هذا، يمكنك استخدام لغة البرمجة C# في كود الخلفية. فيما يلي مثال للكود المطلوب:

csharp
using System; public partial class YourPageName : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // يمكنك تنفيذ أي عمليات إعداد إضافية هنا إذا كانت مطلوبة } protected void btnCalculateDuration_Click(object sender, EventArgs e) { // استخراج الوقت من القوائم المنسدلة لكل من وقت البداية ووقت الانتهاء int startHour = int.Parse(ddlStartHour.SelectedValue); int startMinute = int.Parse(ddlStartMinute.SelectedValue); string startAmPm = ddlStartAmPm.SelectedValue; int endHour = int.Parse(ddlEndHour.SelectedValue); int endMinute = int.Parse(ddlEndMinute.SelectedValue); string endAmPm = ddlEndAmPm.SelectedValue; // تحويل الوقت إلى تنسيق 24 ساعة if (startAmPm == "PM" && startHour != 12) { startHour += 12; } if (endAmPm == "PM" && endHour != 12) { endHour += 12; } // إنشاء كائن DateTime للوقت الابتدائي والوقت النهائي DateTime startTime = DateTime.Now.Date.AddHours(startHour).AddMinutes(startMinute); DateTime endTime = DateTime.Now.Date.AddHours(endHour).AddMinutes(endMinute); // التحقق من أن الوقت النهائي أكبر من الوقت الابتدائي if (endTime > startTime) { // حساب الفارق بين الوقتين TimeSpan duration = endTime - startTime; // عرض النتيجة (يمكنك استخدام Label أو TextBox لعرض النتيجة في واجهة المستخدم) lblDuration.Text = $"المدة الزمنية بين الوقتين هي: {duration.Hours} ساعة و {duration.Minutes} دقيقة"; } else { // عرض رسالة خطأ إذا كان الوقت النهائي أقل من أو يساوي الوقت الابتدائي lblDuration.Text = "يرجى التأكد من أن وقت الانتهاء أكبر من وقت البداية"; } } }

تأكد من توجيه زر الحساب إلى الوظيفة btnCalculateDuration_Click في واجهة المستخدم لديك، واستخدم وسائط واجهة المستخدم المناسبة (مثل العلامات أو مربعات النص) لعرض النتائج المطلوبة.

المزيد من المعلومات

بالطبع، سأقدم لك مزيدًا من المعلومات حول الكود وكيفية تحقيق بعض الأمور الهامة. يمكنك تحسين الكود بمراعاة النقاط التالية:

  1. التحقق من صحة الإدخال:
    يفضل دائمًا التحقق من صحة البيانات المدخلة من قبل المستخدم. يمكنك استخدام الدوال مثل int.TryParse لضمان أن القيم التي يدخلها المستخدم صحيحة.

    csharp
    if (!int.TryParse(ddlStartHour.SelectedValue, out startHour)) { // إدراج رسالة خطأ لمستخدمك هنا }
  2. تعزيز تجربة المستخدم:
    يمكنك إضافة رسائل توجيهية لتوجيه المستخدم حين إدخال بيانات. يمكنك أيضًا استخدام تقنيات JavaScript لتحسين تجربة المستخدم قبل القيام بالتحقق على الخادم.

  3. تقسيم الكود:
    يمكنك تجزئة الكود إلى وظائف فرعية لجعل الكود أكثر قابلية للفهم والصيانة.

  4. استخدام مكتبة Moment.js (للتعامل مع الوقت في JavaScript):
    إذا كنت تريد التعامل مع الوقت بشكل أسهل في الجزء العميل من التطبيق، يمكنك استخدام مكتبة Moment.js التي تساعد في إجراء عمليات تنسيق وحسابات الوقت بشكل أفضل.

  5. تعزيز أمان الصفحة:
    يجب عليك دائمًا تحقيق الأمان في التطبيقات الويب. تأكد من تنظيف وفحص الإدخالات لتجنب هجمات الحقن.

  6. استخدام مكتبة ASP.NET Validation Controls:
    يمكنك استخدام وحدات التحقق المدمجة في ASP.NET مثل RequiredFieldValidator لضمان أن المستخدم يقوم بإدخال القيم المطلوبة.

    aspx

    قم بتكرار هذه العملية للقيم الأخرى التي تحتاج إلى التحقق من صحتها.

  7. تنظيم الواجهة الأمامية:
    قم بتحسين واجهة المستخدم لتجعلها أكثر وضوحًا وجاذبية. اعتمد على تصميم يسهل على المستخدم فهم كيفية استخدام الصفحة وتقديم الإرشادات اللازمة.

باختصار، يمكنك تحسين الكود وتجربة المستخدم عبر تنظيم الكود، وتوفير رسائل توجيهية للمستخدم، والتحقق من صحة الإدخال، وتعزيز الأمان، وتحسين الواجهة الأمامية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر