تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ماهو الكود البرمجي لتغيير فورمات النظام؟
#1
السلام عليكم


سؤالي :
ماهو الكود البرمجي الدي نتمكن من خلاله من تغيير Format الجهاز الى

English (united state)


الغاية من السؤال:
حتى اضمن ظهور الارقام بالشكل العربي في برنامجي، وحتى لا اقعد ساعة اشرح للمستثمر كيفية عمل ذلك


ارجو ان يكون السؤال والغاية منه قد اتضحت


والف شكر


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
Smile 
السلام عليكم ورحمه الله وبركاته
 
هناك نوعين من الفورمات يمكن ان  تجعلهم ياخذون التنسيق الانجليزي الخاصة بالولايات المتحدة و  المملكه المتحدة
 
English >> UK
English>> USA
 
  ضع عدد  2 Buttons
 
 وعدد 1  Datetimepicker     لاظهار تغير التنسيق 
 
وضع هذا الكود

كود :
Imports System.Runtime.InteropServices
Public Class Form1
Private USASettings As New List(Of RegionalSettings)
Private UKSettings 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

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With USASettings
            .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("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "1"))
            .Add(New RegionalSettings("iNegCurr", "0"))
            .Add(New RegionalSettings("iTime", "0"))
            .Add(New RegionalSettings("iTLZero", "0"))
            .Add(New RegionalSettings("Locale", "00000409"))
            .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("sLanguage", "ENU"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dddd, MMMM dd, yyyy"))
            .Add(New RegionalSettings("sShortDate", "M/d/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "h:mms"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "6"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With

With UKSettings
            .Add(New RegionalSettings("iCountry", "44"))
            .Add(New RegionalSettings("iCurrDigits", "2"))
            .Add(New RegionalSettings("iCurrency", "0"))
            .Add(New RegionalSettings("iDate", "1"))
            .Add(New RegionalSettings("iDigits", "2"))
            .Add(New RegionalSettings("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "0"))
            .Add(New RegionalSettings("iNegCurr", "1"))
            .Add(New RegionalSettings("iTime", "1"))
            .Add(New RegionalSettings("iTLZero", "1"))
            .Add(New RegionalSettings("Locale", "00000809"))
            .Add(New RegionalSettings("s1159", "AM"))
            .Add(New RegionalSettings("s2359", "PM"))
            .Add(New RegionalSettings("sCountry", "United Kingdom"))
            .Add(New RegionalSettings("sCurrency", "£"))
            .Add(New RegionalSettings("sDate", "/"))
            .Add(New RegionalSettings("sDecimal", "."))
            .Add(New RegionalSettings("sLanguage", "ENG"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dd MMMM yyyy"))
            .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "HH:mms"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "0"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With
 End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each reg As RegionalSettings In UKSettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

NotifyInternationalChanges()
    End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        For Each reg As RegionalSettings In USASettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

NotifyInternationalChanges()
    End Sub

Private 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)> _
    Public 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


الملفات المرفقة
.rar   Regional and Language Option format.rar (الحجم : 76.99 ك ب / التحميلات : 315)
الرد }}}
تم الشكر بواسطة: kafi2030 , sooriaty03
#3
شكرا اخي
خالد على اجابتك


تم تطبيق الكود الذي تفضلت به على مثال بسيط، من اجل اختبار هل سوف تظهر الارقام عند كتابتها بالحقول بالشكل العربي (مع وضع فورمات الجهاز على دولة عربية)


ولكن للاسف
الكود لم ينجح في تغيير الفورمات، وبقيت الارقام تظهر بشكلها الهندي ( الفورمات موضوعة على دولة عربية)


ارجو اعادة النظر بالكود


والف شكر


الملفات المرفقة صورة/صور
           

.zip   Change_Format.zip (الحجم : 44.01 ك ب / التحميلات : 212)
الرد }}}
تم الشكر بواسطة:
#4
اخي انت  لم تكتب الكود كامل انا وضعت لك زرين احدهم لتحويل التنسيق الى اللغة الانجليزيه  البريطانيه والاخرى للامريكيه .. لهذا السبب لم يعمل .. سوف اعدل لك المثال  الذي ارفقته

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

تفضل اخي تابع الشرح بالفيديو ولاحظ طريقة تغيير التنسيق وتغير الارقام من الهندية الى العربيه

[youtube]7KTTAAEjCmA[/youtube]


والمثال تم التعديل عليه تجده في المرفقات Smile


الملفات المرفقة
.rar   Change_Format.rar (الحجم : 82.75 ك ب / التحميلات : 374)
الرد }}}
تم الشكر بواسطة: kafi2030 , sooriaty03
#5
الف شكر
اخي خالد
على الجهد المتميز في اعداد الاجابة


اخي خالد
طالما ان فورمات
الولايات المتحدة او المملكة المتحدة
واحدة تكفي بالغرض

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

قمت باجراء عدة تعديلات على النحو التالي :
1- تم وضع الاكواد التي تفضلت عليها حضرتك في وحدة نمطية.
2- قمت باختصار الكود الى دولة واحدة ( الولايات المتحدة).
3- طالما اننا ببرامجنا العربية نحتاج بشدة الى ان يكون تنسيق التاريخ هو
dd/mm/yyyy
فقد قمت بتعديل بسيط بالاكواد بحيث جعلت

كود :
 ' .Add(New RegionalSettings("sShortDate", "M/d/yyyy"))

            .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))

انني ارغب بجعل ادخال التاريخ مماثل لما هو مطروح بالصورة، من حيث اعطاء السهولة والمرونة والسلاسة في ادخال قيمة التاريخ من لوحة المفاتيح بحقل Textbox

ارجو تعديل المثال المرفق والتصويب

والف الف شكر مجددا على جهدك الرائع
بارك الله فيك


الملفات المرفقة صورة/صور
       

.zip   Change_Format zz.zip (الحجم : 81.07 ك ب / التحميلات : 236)
الرد }}}
تم الشكر بواسطة:
#6
Smile 
السلام عليكم ورحمه الله وبركاته





تفضل اخي



















والمثال تم التعديل عليه في المرفقات


الملفات المرفقة
.rar   Change_Format zz.rar (الحجم : 80.94 ك ب / التحميلات : 330)
الرد }}}
تم الشكر بواسطة: kafi2030 , العزابي
#7
الف شكر
اخي خالد
على ماتفضلت به من جهد مميز
في هذه المشاركة
بارك الله فيك
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم  ،،،  


اعجبتني الطريقة المستخدمه  و قد قمت بتعديل المثال ليتم التبديل بين الهجري (أم القرى)  ،،  و الأمريكي (الميلادي)

المثال بالمرفقات ،،  و شكرا للأخ khalaroy للاشاره الى رابط الموضوع هذا لانه افادني كثيراً ، و شكر خاص للاخ eng.khalidvb لانه شارك الكود




.rar   Change_Format.rar (الحجم : 75.99 ك ب / التحميلات : 207)
اسم معرفي : محمد يحيى
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن حل المشكلة فى الكود التالي - من مشاركة استاذنا القدير / عبدالله الدوسري new_programer 4 169 02-03-24, 07:36 PM
آخر رد: new_programer
  ماهو حل هذا الخطأ في الكود melad2002 7 264 25-02-24, 12:25 AM
آخر رد: justforit
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 193 20-02-24, 12:00 AM
آخر رد: Kamil
  [VB.NET] أرغب فى استخدام هذا الكود بالتحديد على الإصدار 10 AmeenRashed 3 206 19-01-24, 12:42 PM
آخر رد: Taha Okla
  [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد Ashraf Elafify 7 464 27-12-23, 10:50 PM
آخر رد: Ashraf Elafify
  [VB.NET] ماهو اسم هذه الازرار ( + موجب و - سالب ) h2551996 1 249 19-12-23, 10:29 PM
آخر رد: justforit
  [VB.NET] اريد تعديل في الكود عند طباعة DGV abu_hisham7 1 431 03-12-23, 02:40 AM
آخر رد: abu_hisham7
  رجاء التعديل على الكود المرفق - كلاس لعرض كود المورد new_programer 4 357 13-10-23, 01:47 AM
آخر رد: new_programer
  كيفية التحكم فى حجم الفورم من خلال الكود Ahmed.vb 4 510 11-10-23, 07:17 PM
آخر رد: bidaya
  البرنامج لدي يعمل على ويندوز 11 والان لا يعمل على ويندوز 10 ماهو الحل moh61 1 279 01-09-23, 04:38 AM
آخر رد: اسامه الهرماوي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم