اذهب الي المحتوي
أوفيسنا

تغيير تنسيق التاريخ والأرقام والدولة في لوحة تحكم الويندوز برمجياً


SEMO.Pa3x

الردود الموصى بها

السلام عليكم، أحياناً تواجهنا مشكلة في الأكسس وهي تحول الارقام الى العربية خصوصاً اذا كان بجانب الرقم حروف عربية

لذلك دعونا نختصر الوقت على العميل ونقوم بتعديل تنسيقات التاريخ والارقام..الخ برمجياً بدون الطلب من العميل تعديلها يدوياً

اقدم لكم فنكشن للتعديل، يمكنكم التعديل والإضافة بحسب ماتجدوه مناسباً.

 

Public Sub EditControlPanelInternational()
 
    'Define a key registry path
    Dim strComputer
    Dim objRegistry
    Dim strKeyPath
    Dim strValueName
    Dim getValue
    Dim regKeyPath
    Dim strLocaleName, strCountry, strshortDateValue, strlongDateValue, strshortTimeValue, strlongTimeValue, strfirstDayOfWeekValue
    
    Const HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
    regKeyPath = "Control Panel\International"
    
    strLocaleName = "en-US"
    strCountry = "United States"
    strshortDateValue = "yyyy-MM-dd"
    strlongDateValue = "dddd, MMMM d, yyyy"
    strshortTimeValue = "h:mm tt"
    strlongTimeValue = "h:mm:ss tt"
    strfirstDayOfWeekValue = "6"
    srtnativedigits = "0123456789"
    
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "LocaleName", strLocaleName
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sCountry", strCountry
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sShortDate", strshortDateValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sLongDate", strlongDateValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sShortTime", strshortTimeValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sTimeFormat", strlongTimeValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "iFirstDayOfWeek", strfirstDayOfWeekValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sNativeDigits", srtnativedigits
    
    Debug.Print "Successfully changed system regional settings."
End Sub

 

للأمانة الفنكشن من كتابة saf لذلك انا قمت بإضافة السطر

srtnativedigits = "0123456789"
objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sNativeDigits", srtnativedigits

لتغيير تنسيق الأرقام من عربي إلى انجليزي ومن ثم قمت بنقله لكم.

تم تعديل بواسطه SEMO.Pa3x
  • Like 3
رابط هذا التعليق
شارك

في ٢٣‏/٥‏/٢٠٢١ at 01:01, SEMO.Pa3x said:

السلام عليكم، أحياناً تواجهنا مشكلة في الأكسس وهي تحول الارقام الى العربية خصوصاً اذا كان بجانب الرقم حروف عربية

لذلك دعونا نختصر الوقت على العميل ونقوم بتعديل تنسيقات التاريخ والارقام..الخ برمجياً بدون الطلب من العميل تعديلها يدوياً

اقدم لكم فنكشن للتعديل، يمكنكم التعديل والإضافة بحسب ماتجدوه مناسباً.

 


Public Sub EditControlPanelInternational()
 
    'Define a key registry path
    Dim strComputer
    Dim objRegistry
    Dim strKeyPath
    Dim strValueName
    Dim getValue
    Dim regKeyPath
    Dim strLocaleName, strCountry, strshortDateValue, strlongDateValue, strshortTimeValue, strlongTimeValue, strfirstDayOfWeekValue
    
    Const HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
    regKeyPath = "Control Panel\International"
    
    strLocaleName = "en-US"
    strCountry = "United States"
    strshortDateValue = "yyyy-MM-dd"
    strlongDateValue = "dddd, MMMM d, yyyy"
    strshortTimeValue = "h:mm tt"
    strlongTimeValue = "h:mm:ss tt"
    strfirstDayOfWeekValue = "6"
    srtnativedigits = "0123456789"
    
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "LocaleName", strLocaleName
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sCountry", strCountry
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sShortDate", strshortDateValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sLongDate", strlongDateValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sShortTime", strshortTimeValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sTimeFormat", strlongTimeValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "iFirstDayOfWeek", strfirstDayOfWeekValue
    objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sNativeDigits", srtnativedigits
    
    Debug.Print "Successfully changed system regional settings."
End Sub

 

للأمانة الفنكشن من كتابة saf لذلك انا قمت بإضافة السطر


srtnativedigits = "0123456789"
objRegistry.SetStringValue HKEY_CURRENT_USER, regKeyPath, "sNativeDigits", srtnativedigits

لتغيير تنسيق الأرقام من عربي إلى انجليزي ومن ثم قمت بنقله لكم.

تسلم ايدك وفعلاً كنت محتاج حاجة زى دى بس عندي سؤال اعدادات اللغة فى تويب Administrative يجب ان تكون عربي كما موضح بالصورة هل من الممكن تعديلها برمجياً ايضاً .1.png.bad9bdbdbb65fb1effc50aac627c0358.png

رابط هذا التعليق
شارك

في ٢٦‏/٥‏/٢٠٢١ at 14:29, king5star said:

تسلم ايدك وفعلاً كنت محتاج حاجة زى دى بس عندي سؤال اعدادات اللغة فى تويب Administrative يجب ان تكون عربي كما موضح بالصورة هل من الممكن تعديلها برمجياً ايضاً .1.png.bad9bdbdbb65fb1effc50aac627c0358.png

تفضل:

 

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information