arman_Delta2002
یک شنبه 20 اسفند 1391, 20:07 عصر
سلام من میخوام کل برنامم از تقویم شمسی پیروی کنه بخواطر بعضی مشکلات که با تاریخ میلادی دارم
من کلی گشتم و دیدم با این کد ها میشه در asp سیستم گلوبال سایت رو فارسی کرد ولی روی ویندوز فرم خطا میده
راهی هست که سیستم شمسی رو ویندوز پشتیبانی کنه؟
Protected Sub aa()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
info.AbbreviatedDayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.DayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.AbbreviatedMonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.MonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.AMDesignator = "ق.ظ"
info.PMDesignator = "ب.ظ"
info.ShortDatePattern = "yyyy/MM/dd"
info.FirstDayOfWeek = DayOfWeek.Saturday
Dim cal As New System.Globalization.PersianCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
'object obj = typeof(System.Globalization.DateTimeFormatInfo).Ge tField("m_cultureTableRecord", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue (info);
'obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(ob j, new object[] { cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue (cal, null) });
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
System.Threading.Thread.CurrentThread.CurrentCultu re = calture
System.Threading.Thread.CurrentThread.CurrentUICul ture = calture
System.Globalization.CultureInfo.CurrentCulture.Da teTimeFormat = info
System.Globalization.CultureInfo.CurrentUICulture. DateTimeFormat = info
End Sub
Public Shared Sub SetCalendar()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
info.AbbreviatedDayNames = New String() {"ی", "د", "س", "چ", "پ", "ج", "ش"}
info.ShortestDayNames = New String() {"ی", "د", "س", "چ", "پ", "ج", "ش"}
info.DayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.AbbreviatedMonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.MonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.AMDesignator = "ق.ظ"
info.PMDesignator = "ب.ظ"
info.ShortDatePattern = "yyyy/MM/dd"
info.LongDatePattern = "yyyy/MM/dd"
info.FirstDayOfWeek = DayOfWeek.Saturday
Dim cal As New System.Globalization.PersianCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
Dim obj As Object = GetType(System.Globalization.DateTimeFormatInfo).G etField("m_cultureTableRecord", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (info)
obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance).Invoke(ob j, New Object() {cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (cal, Nothing)})
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
System.Threading.Thread.CurrentThread.CurrentCultu re = calture
System.Threading.Thread.CurrentThread.CurrentUICul ture = calture
System.Globalization.CultureInfo.CurrentCulture.Da teTimeFormat = info
System.Globalization.CultureInfo.CurrentUICulture. DateTimeFormat = info
End Sub
Public Shared Sub SetCalendar2()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
Dim cal As System.Globalization.Calendar = New System.Globalization.HijriCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
Dim obj As Object = GetType(System.Globalization.DateTimeFormatInfo).G etField("m_cultureTableRecord", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (info)
obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance).Invoke(ob j, New Object() {cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (cal, Nothing)})
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
On Error Resume Next
Call aa()
SetCalendar()
SetCalendar2()
System.Threading.Thread.CurrentThread.CurrentCultu re = New System.Globalization.CultureInfo("fa-IR")
Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("fa-IR")
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture
System.Threading.Thread.CurrentThread.CurrentCultu re.DateTimeFormat.Calendar = New System.Globalization.JulianCalendar
Me.Text = DateTime.Now.ToLongDateString()
End Sub
من کلی گشتم و دیدم با این کد ها میشه در asp سیستم گلوبال سایت رو فارسی کرد ولی روی ویندوز فرم خطا میده
راهی هست که سیستم شمسی رو ویندوز پشتیبانی کنه؟
Protected Sub aa()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
info.AbbreviatedDayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.DayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.AbbreviatedMonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.MonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.AMDesignator = "ق.ظ"
info.PMDesignator = "ب.ظ"
info.ShortDatePattern = "yyyy/MM/dd"
info.FirstDayOfWeek = DayOfWeek.Saturday
Dim cal As New System.Globalization.PersianCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
'object obj = typeof(System.Globalization.DateTimeFormatInfo).Ge tField("m_cultureTableRecord", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue (info);
'obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(ob j, new object[] { cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue (cal, null) });
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
System.Threading.Thread.CurrentThread.CurrentCultu re = calture
System.Threading.Thread.CurrentThread.CurrentUICul ture = calture
System.Globalization.CultureInfo.CurrentCulture.Da teTimeFormat = info
System.Globalization.CultureInfo.CurrentUICulture. DateTimeFormat = info
End Sub
Public Shared Sub SetCalendar()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
info.AbbreviatedDayNames = New String() {"ی", "د", "س", "چ", "پ", "ج", "ش"}
info.ShortestDayNames = New String() {"ی", "د", "س", "چ", "پ", "ج", "ش"}
info.DayNames = New String() {"یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"}
info.AbbreviatedMonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.MonthNames = New String() {"فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", ""}
info.AMDesignator = "ق.ظ"
info.PMDesignator = "ب.ظ"
info.ShortDatePattern = "yyyy/MM/dd"
info.LongDatePattern = "yyyy/MM/dd"
info.FirstDayOfWeek = DayOfWeek.Saturday
Dim cal As New System.Globalization.PersianCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
Dim obj As Object = GetType(System.Globalization.DateTimeFormatInfo).G etField("m_cultureTableRecord", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (info)
obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance).Invoke(ob j, New Object() {cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (cal, Nothing)})
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
System.Threading.Thread.CurrentThread.CurrentCultu re = calture
System.Threading.Thread.CurrentThread.CurrentUICul ture = calture
System.Globalization.CultureInfo.CurrentCulture.Da teTimeFormat = info
System.Globalization.CultureInfo.CurrentUICulture. DateTimeFormat = info
End Sub
Public Shared Sub SetCalendar2()
Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim info As System.Globalization.DateTimeFormatInfo = calture.DateTimeFormat
Dim cal As System.Globalization.Calendar = New System.Globalization.HijriCalendar()
GetType(System.Globalization.DateTimeFormatInfo).G etField("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (info, cal)
Dim obj As Object = GetType(System.Globalization.DateTimeFormatInfo).G etField("m_cultureTableRecord", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (info)
obj.GetType().GetMethod("UseCurrentCalendar", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance).Invoke(ob j, New Object() {cal.GetType().GetProperty("ID", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).GetValue (cal, Nothing)})
GetType(System.Globalization.CultureInfo).GetField ("calendar", System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue (calture, cal)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
On Error Resume Next
Call aa()
SetCalendar()
SetCalendar2()
System.Threading.Thread.CurrentThread.CurrentCultu re = New System.Globalization.CultureInfo("fa-IR")
Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("fa-IR")
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture
System.Threading.Thread.CurrentThread.CurrentCultu re.DateTimeFormat.Calendar = New System.Globalization.JulianCalendar
Me.Text = DateTime.Now.ToLongDateString()
End Sub