منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية عرض التاريخ الهجري
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
ممكن طريقة عرض التاريخ الهجري في تيكسبوكس
وكذلك طريقة اضافة ايام او انقاصها للتاريخ الهجري وشكرا
عرض التاريخ الهجري
كود :
Dim culture As New Globalization.CultureInfo("ar-SA")
TextBox1.Text = Today.ToString("dd/MM/yyyy", culture)

اضافة ايام للتاريخ الهجري
كود :
Dim culture As New Globalization.CultureInfo("ar-SA")
Dim calendar As New Globalization.UmAlQuraCalendar
TextBox1.Text = calendar.AddDays(Now, 5).ToString("dd/MM/yyyy", culture)

انقاصها ايام للتاريخ الهجري
كود :
Dim culture As New Globalization.CultureInfo("ar-SA")
Dim calendar As New Globalization.UmAlQuraCalendar
TextBox1.Text = calendar.AddDays(Now, -5).ToString("dd/MM/yyyy", culture)
مشكور اخي على الرد ولكن التاريخ يطلع التاريخ الميلادي
تفضل هذا مثال .
(10-09-18, 03:22 AM)asemshahen5 كتب : [ -> ]تفضل هذا مثال .

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

أنشــأ Class  وأعطه التسميه التاليه (SetRegionalSettings.vb)

وأضف فيه هذا الكود
كود :
Imports System.Runtime.InteropServices

Public Class SetRegionalSettings


   Private Shared USASettings As New List(Of RegionalSettings)
   Private Shared SASettings As New List(Of RegionalSettings)

   Private Class RegionalSettings
       Public entry As String
       Public value As String
       Public Sub New(ByVal key As String, ByVal value As String)
           Me.entry = key : Me.value = value
       End Sub
   End Class


   Public Shared Sub setRegionalSetting(ByVal settingName As String)

       With USASettings
           .Add(New RegionalSettings("Locale", "00000409"))
           .Add(New RegionalSettings("LocaleName", "en-US"))
           .Add(New RegionalSettings("s1159", "AM"))
           .Add(New RegionalSettings("s2359", "PM"))
           .Add(New RegionalSettings("sCountry", "United States"))
           .Add(New RegionalSettings("sCurrency", "$"))
           .Add(New RegionalSettings("sDate", "/"))
           .Add(New RegionalSettings("sDecimal", "."))
           .Add(New RegionalSettings("sGrouping", "3;0"))
           .Add(New RegionalSettings("sLanguage", "ENU"))
           .Add(New RegionalSettings("sList", ","))
           .Add(New RegionalSettings("sLongDate", "dd/MMMM/yyyy"))
           .Add(New RegionalSettings("sMonDecimalSep", "."))
           .Add(New RegionalSettings("sMonGrouping", "3;0"))
           .Add(New RegionalSettings("sMonThousandSep", ","))
           .Add(New RegionalSettings("sNativeDigits", "0123456789"))
           .Add(New RegionalSettings("sNegativeSign", "-"))
           .Add(New RegionalSettings("sPositiveSign", ""))
           .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))
           .Add(New RegionalSettings("sThousand", ","))
           .Add(New RegionalSettings("sTime", ":"))
           .Add(New RegionalSettings("sTimeFormat", "h:mm:ss tt"))
           .Add(New RegionalSettings("sShortTime", "h:mm tt"))
           .Add(New RegionalSettings("sYearMonth", "MMMM, yyyy"))
           .Add(New RegionalSettings("iCalendarType", "1"))
           .Add(New RegionalSettings("iCountry", "1"))
           .Add(New RegionalSettings("iCurrDigits", "2"))
           .Add(New RegionalSettings("iCurrency", "0"))
           .Add(New RegionalSettings("iDate", "1"))
           .Add(New RegionalSettings("iDigits", "2"))
           .Add(New RegionalSettings("NumShape", "1"))
           .Add(New RegionalSettings("iFirstDayOfWeek", "6"))
           .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
           .Add(New RegionalSettings("iLZero", "1"))
           .Add(New RegionalSettings("iMeasure", "1"))
           .Add(New RegionalSettings("iNegCurr", "0"))
           .Add(New RegionalSettings("iNegNumber", "1"))
           .Add(New RegionalSettings("iPaperSize", "1"))
           .Add(New RegionalSettings("iTime", "0"))
           .Add(New RegionalSettings("iTimePrefix", "0"))
           .Add(New RegionalSettings("iTLZero", "0"))
       End With

       With SASettings
           .Add(New RegionalSettings("Locale", "00000401"))
           .Add(New RegionalSettings("LocaleName", "ar-SA"))
           .Add(New RegionalSettings("s1159", "ص"))
           .Add(New RegionalSettings("s2359", "م"))
           .Add(New RegionalSettings("sCountry", "Saudi Arabia"))
           .Add(New RegionalSettings("sCurrency", "ر.س.‏"))
           .Add(New RegionalSettings("sDate", "/"))
           .Add(New RegionalSettings("sDecimal", "."))
           .Add(New RegionalSettings("sGrouping", "3;0"))
           .Add(New RegionalSettings("sLanguage", "ARA"))
           .Add(New RegionalSettings("sList", ";"))
           .Add(New RegionalSettings("sLongDate", "dd/MMMM/yyyy"))
           .Add(New RegionalSettings("sMonDecimalSep", "."))
           .Add(New RegionalSettings("sMonGrouping", "3;0"))
           .Add(New RegionalSettings("sMonThousandSep", ","))
           .Add(New RegionalSettings("sNativeDigits", "٠١٢٣٤٥٦٧٨٩"))
           .Add(New RegionalSettings("sNegativeSign", "-"))
           .Add(New RegionalSettings("sPositiveSign", ""))
           .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))
           .Add(New RegionalSettings("sThousand", ","))
           .Add(New RegionalSettings("sTime", ":"))
           .Add(New RegionalSettings("sTimeFormat", "hh:mm:ss tt"))
           .Add(New RegionalSettings("sShortTime", "hh:mm tt"))
           .Add(New RegionalSettings("sYearMonth", "MMMM, yyyy"))
           .Add(New RegionalSettings("iCalendarType", "23"))
           .Add(New RegionalSettings("iCountry", "966"))
           .Add(New RegionalSettings("iCurrDigits", "2"))
           .Add(New RegionalSettings("iCurrency", "2"))
           .Add(New RegionalSettings("iDate", "1"))
           .Add(New RegionalSettings("iDigits", "2"))
           .Add(New RegionalSettings("NumShape", "0"))
           .Add(New RegionalSettings("iFirstDayOfWeek", "5"))
           .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
           .Add(New RegionalSettings("iLZero", "1"))
           .Add(New RegionalSettings("iMeasure", "0"))
           .Add(New RegionalSettings("iNegCurr", "3"))
           .Add(New RegionalSettings("iNegNumber", "3"))
           .Add(New RegionalSettings("iPaperSize", "9"))
           .Add(New RegionalSettings("iTime", "0"))
           .Add(New RegionalSettings("iTimePrefix", "0"))
           .Add(New RegionalSettings("iTLZero", "1"))
       End With


       If settingName = "USA" Then
           For Each reg As RegionalSettings In USASettings
               Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)

           Next

       ElseIf settingName = "SA" Then
           For Each reg As RegionalSettings In SASettings
               Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
           Next
       End If


       NotifyInternationalChanges()
   End Sub

   Private Shared Sub NotifyInternationalChanges()
       Dim HWND_BROADCAST As New IntPtr(&HFFFF) 'broadcast to entire system
       Dim Lparam As IntPtr = System.Runtime.InteropServices.Marshal.StringToBSTR("intl")
       SendNotifyMessage(HWND_BROADCAST, &H1A, UIntPtr.Zero, Lparam)
       System.Runtime.InteropServices.Marshal.FreeBSTR(Lparam)
   End Sub

   <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
   Private Shared Function SendNotifyMessage(ByVal hWnd As IntPtr, _
                                            ByVal msg As UInt32, _
                                            ByVal wParam As UIntPtr, _
                                            ByVal lParam As IntPtr) As Boolean
   End Function

End Class

أضف في حدث اللود هذا الكود 

كود :
  Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SA")
       SetRegionalSettings.setRegionalSetting("SA")

وأعرض التاريخ في في TextBox  بهذا الكود 


كود :
((TextBox.Tex= Now().ToString("dd/MM/yyy"
مشكوووووور ولكن لا اريد تغيير تاريخ الجهاز
(10-09-18, 01:45 PM)المتألق9 كتب : [ -> ]
(10-09-18, 03:22 AM)asemshahen5 كتب : [ -> ]تفضل هذا مثال .

بارك الله فيك اخي العزيز ولكن عند تحميل المثال يعطي ان الملف معطوب
وعليكم السلام ورحمة الله وبركاته

يمكنك استخدام اكود التالى فى حدث Form1_Load
كود :
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("ar-SA")

وهو سيقوم بعرض مخرج التاريخ النهائي للهجري بدلاً من ميلادي
بمعنى اذا كنت تستخدم اداء لتحديد التاريخ وليكم DateTimePicker
سيظهر التاريخ بشكل ميلادى اذا كان الجهاز ميلادى

ولكن عند اتمام تنفيذ عرض ناتج التاريخ مثل 
كود :
           MsgBox(DateTimePicker1.Value)
           ' أو
           MsgBox(Now.Date)

ستجد انه يعرض التاريخ هجري وليس ميلادى كما كان يظهر فى شاشة الفورم

تحياتى لك
وتمنياتى لك التوفيق
للاسف لم ينجح الكود معي
الصفحات : 1 2