منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة التاريخ اداة DateTimePicker - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلة التاريخ اداة DateTimePicker (/showthread.php?tid=50888)



مشكلة التاريخ اداة DateTimePicker - Wolfalwolf20 - 03-01-25

السلام عليكم ورحمة الله وبركاته

ليش  التاريخ يصير هجري بعض الفورم والبعض ميلادي بنفس المشروع 
ممكن طريقة اخلي الجميع هجري علماً تاريخ الجهاز هجري

شكرا لكم


RE: مشكلة التاريخ اداة DateTimePicker - princelovelorn - 06-01-25

وعليكم السلام ورحمة الله وبركاته

قم بالأطلاع على الموضوع التالي سيفيدك

[كود] كود مع مثال لجعل البرنامج يعمل بالتاريخ الهجري او الميلادي بغض النظر عن تاريخ الجهاز


RE: مشكلة التاريخ اداة DateTimePicker - aljzazy - 06-01-25

لضمان أن جميع التواريخ في مشروع فيجوال بيسك تستخدم التقويم الهجري بغض النظر عن إعدادات النظام، يمكنك استخدام الكائن
كود :
CultureInfo
لتعيين التقويم الهجري ضمن المشروع.
الطريقة:
يمكنك تغيير إعدادات الثقافة الافتراضية لتطبيقك إلى الثقافة الهجرية باستخدام الكود التالي:
vb
نسخ الكود
كود :
Imports System.Globalization

Public Sub SetHijriCalendar()
   ' إنشاء ثقافة جديدة بناءً على اللغة العربية
   Dim hijriCulture As New CultureInfo("ar-SA", True)
   
   ' ضبط التقويم الافتراضي ليكون هجري
   hijriCulture.DateTimeFormat.Calendar = New HijriCalendar()

   ' تعيين هذه الثقافة كتقافة افتراضية للتطبيق
   CultureInfo.DefaultThreadCurrentCulture = hijriCulture
   CultureInfo.DefaultThreadCurrentUICulture = hijriCulture
End Sub
تطبيق الطريقة:
  1. قم باستدعاء دالة
    SetHijriCalendar
  2. عند بدء تشغيل التطبيق، مثلًا في Form_Load لأول فورم يتم فتحه:
    vb
    نسخ الكود
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load    SetHijriCalendar()End Sub
  3. كل الفورمات في المشروع ستستخدم التقويم الهجري الآن.

ملاحظات إضافية:
  • عرض التاريخ الهجري: إذا كنت تريد عرض التاريخ الهجري في الفورمات أو التقارير، استخدم الطريقة التالية:
    vb
    نسخ الكود
    Dim todayHijri As String = DateTime.Now.ToString("dd/MM/yyyy", New CultureInfo("ar-SA"))MessageBox.Show(todayHijri)
  • حفظ البيانات الهجرية في قاعدة بيانات: إذا كنت تستخدم قاعدة بيانات، تأكد من تخزين القيم كنص (
    String
  • ) بصيغة التاريخ الهجري لتجنب تغييرها عند قراءة البيانات.
  • عودة النظام إلى التقويم الميلادي: إذا كنت تحتاج العودة إلى التقويم الميلادي في أجزاء من المشروع، يمكنك ضبط الثقافة الافتراضية مرة أخرى باستخدام الكود التالي:
    vb
    نسخ الكود
    Dim gregorianCulture As New CultureInfo("en-US", True)CultureInfo.DefaultThreadCurrentCulture = gregorianCultureCultureInfo.DefaultThreadCurrentUICulture = gregorianCulture
بهذه الطريقة، يمكنك التحكم بشكل كامل بالتقويم المستخدم في المشروع