اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

اخواننا لكرام:

هل يوجد كود للمعرفة لغة حالية للأكسس مثلا للمعرفة اصدار الأكسس نستخدم كود:

MsgBox Version

او

MsgBox Application.Version

اريد كود متشابه ولكن عرض اللغة بدلا من اصدار، او كود اغلاق و اعادة فتح القاعدة 

قام بنشر

اولا : انا معجب بردودك دائما

ثانيا : هل تقصد لغة المفاتيح ام لغة الاوفيس ( الاكسس )

تحياتي

قام بنشر

يا اهلاً و مرحبا يا ابا غازي نورت الموضوع

اقصد لغة الاوفيس (الأكسس) لان اختصارات ضغط  و اصلاح قاعدة مفتوحة  مختلف في لغة العربية من اللغة الانجليزي باستخدام  أمر  Sendkyes

  • 4 weeks later...
قام بنشر (معدل)

يا اهلاً و مرحبا يا ابا غازي نورت الموضوع

اقصد لغة الاوفيس (الأكسس) لان اختصارات ضغط  و اصلاح قاعدة مفتوحة  مختلف في لغة العربية من اللغة الانجليزي باستخدام  أمر  Sendkyes

اولا اعتذر عن التاخير لسا اتذكر الموضوع وانا امر على كتاباتي !

وجدت لك عزيزي طريقتين :

1. اعمل مرجع للمكتبة microsoft office object library   وحسب الاصدار لديك ثم هذا الكود

Application.LanguageSettings.LanguageID(msoLanguageIDUI)

وهذه مرجع للغات :

https://msdn.microsoft.com/en-us/goglobal/bb964664

2. عمل وحدة نمطية عامة بها :

    Private Const LOCALE_USER_DEFAULT = &H400
    Private Const LOCALE_SNATIVELANGNAME = &H4
     
    Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" _
    (ByVal Locale As Long, _
    ByVal LCType As Long, _
    ByVal lpLCData As String, _
    ByVal cchData As Long) As Long
     
    Private Function GetInfo(ByVal lInfo As Long) As String
        Dim Buffer As String, Ret As String
        Buffer = String$(256, 0)
        Ret = GetLocaleInfo(LOCALE_USER_DEFAULT, lInfo, Buffer, Len(Buffer))
        If Ret > 0 Then
            GetInfo = Left$(Buffer, Ret - 1)
        Else
            GetInfo = vbNullString
        End If
    End Function

وعند اي حدث في البرنامج تعمل المناداة وكرسالة مثلا :

    MsgBox GetInfo(LOCALE_SNATIVELANGNAME)

تحياتي اخي استاذ ابوعارف

تم تعديل بواسطه رمهان
  • Like 2
قام بنشر

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

استاذ ابا جود/ اولاً اشكرك على اهتمام الموضوع

ثانياً: ايجاد الحل للموضوع يدل على انه لا مستحيل امام اباجود باذن الله

ولكن رغم  كثرة مشاكل كـ اختلاف اللغة ،اختلاف اصدار 2003،اختلاف اصدار 2010 سبب ان استغني عن المشروع و اقوم بانشاء قاعدة مرتبطة حتى اتمكن ضغط و اصلاحها من قاعدة الحالية ،لايزال انا في حاجة ماسة للمثل هذالكود و جزاك الله الخير 

لك اجمل تحياتي

 

 

قام بنشر (معدل)

اخي ابا عارف 

هل وصلت لماتريد ؟ 

وياليت توضح انك ماتزال بحاجة ماسة لهذا الكود ؟ اي كود ؟  هل تقصد انه حتى بمعرفة اللغة لم ينجح الامر sendkey  لضغط القاعدة واصلاحها خصوصا عند اختلاف الاصدارات وليس اللغة ؟

تحياتي

تم تعديل بواسطه رمهان
قام بنشر

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

اخي ابو جود

جربت الوحدة النمطية بعد تعديل بسيط ، تغير كلمة Private الى Public

ولكن وجدت يعرض نوع لغة تنسيق في نظام 

Info2.thumb.jpg.f2af657adf076132ab04a28a

و من البداية انا كنت في حاجة للمعرفة لغة الاكسس ما لاعلاقة له في اعدادات المحلية في النظام، ولكن كما قلت في مشاركة سابقة عدم توافر كود او وحدة النمطية للتحديد لغة الحالية الاكسس.لزمني الامر نسيان تلك المشروع و و اما اختلاف نسخ الاكسس من السهل معرفة النسخة ،

و سبب الآخر هو عدم امكانية عمل Sendkeys بعد اقفال البرنامج من التعديل

وياليت توضح انك ماتزال بحاجة ماسة لهذا الكود ؟ اي كود ؟

كود او وحدة النمطية للكشف عن نوع لغة System Locale (هذا ما افتكرت امس انها هي) ولكن بعد تجربة وجدت انها للكشف عن نوع لغة تنسيق الجهاز مثل اسماء مجلدات ، نوع ارقام ،مربعات حوار و غيرهم

و الغرض :

من المعروف ان اختيار لغة انجليزي  في System Locale يتحول احرف لغة العربية الى رموز في اكواد vba و يعرض رسائل خطاء عند ما يكون اسماء عناصر التحكم او تسميات باللغة العربية ، حبيت انتباه المستخدم برسالة ليقوم بالتغير System Locale حسب تعليمات موجوة في القاعدة.

info3.thumb.jpg.443b6b73166bfc3cd42fdac0

و بعد بحث وجدت وحدة النمطية في احد مواقع الاجنبية يرجع خصائص تالية في النظام

Info.thumb.jpg.9f1da727c7bcf8d7c14fe50bf

و اخيرا اشكرك مرة اخرى استاذ ابا جود موفق و دائما الى الامام.

اخوك ابوعارف

 

 

 

 

 

 

 

قام بنشر

اخي ابو عارف

مسألة اكتشف لغة التطبيق اي القوائم هل هي بالعربي ام غير ذلك اتوقع ممكنه وباحتمال ثلاث طرق

1. دوال api

2. القراءة من الريجيستري

3 . دالة مستخدم اقرأ بها احد حروف القوائم الموجودة ومعرفة لغة الحرف

ولكن قبل ذلك خلينا نتطفل شوية ونريد معرفة لماذا تريد معرفة واجهة اللغة ؟ خلينا نعرف الهدف ؟ يمكن نوصل له بطريقة اخرى ؟ مثلا ضغط واصلاح القاعدة الحالية :rol:؟!

مشكور على سعة صدرك ابا عارف :fff:

قام بنشر

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

الاستاذ اباجود/ اولاً اشكرك من اعماق قلبي على المتابعة

ثانيا في وقت الحالي اريد معرفة نوع اللغة لانني صممت البرنامج بالواجهات انجليزي و العربي و البشتو، احرف بشتو متشابه احرف لغة العربية تقريباً اريد برمجة واجهة الانجليزية مع لغة انجليزية في الاكسس  والغتين العربية والبشتو، مع لغة العربية

و فكرة ضغط و اصلاح قاعدة مفتوحة برمجيا فيها عوائق كثيرة افضل طريقة تقسيم القاعدة و ضغط قاعدة جداول من القاعدة نماذج.

و لك تحايا

 

 

 

 

قام بنشر

تمام ابا اعارف !
 ونرجع للموضوع الاساسي وعنوانه !

اليس هذا استاذ عارف بيرجع اللغة الحالية للواجهات ؟ ! :

Application.LanguageSettings.LanguageID(msoLanguageIDUI)

مع وضع المرجع ل office object library

تحياتي

 

قام بنشر

يا سلام يا ابا جود! هذا ما يسمونها بلاغة ، بالضبط هذا ما كنت ابحث عنه لازائد ولا ناقص. جزاك الله الخير

الاخ / Yms12

انشيء وحدة النمطية بالكود التالي

Public Const LOCALE_ILANGUAGE             As Long = &H1    'language id
Public Const LOCALE_SLANGUAGE             As Long = &H2    'localized name of lang
Public Const LOCALE_SENGLANGUAGE          As Long = &H1001 'English name of lang
Public Const LOCALE_SABBREVLANGNAME       As Long = &H3    'abbreviated lang name
Public Const LOCALE_SNATIVELANGNAME       As Long = &H4    'native name of lang
Public Const LOCALE_ICOUNTRY              As Long = &H5    'country code
Public Const LOCALE_SCOUNTRY              As Long = &H6    'localized name of country
Public Const LOCALE_SENGCOUNTRY           As Long = &H1002 'English name of country
Public Const LOCALE_SABBREVCTRYNAME       As Long = &H7    'abbreviated country name
Public Const LOCALE_SNATIVECTRYNAME       As Long = &H8    'native name of country
Public Const LOCALE_SINTLSYMBOL           As Long = &H15   'intl monetary symbol
Public Const LOCALE_IDEFAULTLANGUAGE      As Long = &H9    'def language id
Public Const LOCALE_IDEFAULTCOUNTRY       As Long = &HA    'def country code
Public Const LOCALE_IDEFAULTCODEPAGE      As Long = &HB    'def oem code page
Public Const LOCALE_IDEFAULTANSICODEPAGE  As Long = &H1004 'def ansi code page
Public Const LOCALE_IDEFAULTMACCODEPAGE   As Long = &H1011 'def mac code page

Public Const LOCALE_IMEASURE              As Long = &HD     '0 = metric, 1 = US

'#if(WINVER >=  &H0400)
Public Const LOCALE_SISO639LANGNAME       As Long = &H59   'ISO abbreviated language name
Public Const LOCALE_SISO3166CTRYNAME      As Long = &H5A   'ISO abbreviated country name
'#endif /* WINVER >= as long = &H0400 */

'#if(WINVER >=  &H0500)
Public Const LOCALE_SNATIVECURRNAME        As Long = &H1008 'native name of currency
Public Const LOCALE_IDEFAULTEBCDICCODEPAGE As Long = &H1012 'default ebcdic code page
Public Const LOCALE_SSORTNAME              As Long = &H1013 'sort name
'#endif /* WINVER >=  &H0500 */

Public Declare Function GetThreadLocale Lib "kernel32" () As Long

Public Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

Public Declare Function GetLocaleInfo Lib "kernel32" _
   Alias "GetLocaleInfoA" _
  (ByVal locale As Long, _
   ByVal LCType As Long, _
   ByVal lpLCData As String, _
   ByVal cchData As Long) As Long


Public Function GetUserLocaleInfo(ByVal dwLocaleID As Long, ByVal dwLCType As Long) As String

   Dim sReturn As String
   Dim r As Long
   r = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
   If r Then
   sReturn = Space$(r)
   r = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
   If r Then
   GetUserLocaleInfo = Left$(sReturn, r - 1)
   End If
   End If
End Function

ثم في النموذج انشيء 21 مربعات نص و سميها من Text1 الى Text21

انشيء زرالامر و الصق هذالكود في حدث عند النقر

 Dim LCID As Long
   
   LCID = GetSystemDefaultLCID()
   Text1 = GetUserLocaleInfo(LCID, LOCALE_ICOUNTRY)
   Text2 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTANSICODEPAGE)
   Text3 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTCODEPAGE)
   Text4 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTCOUNTRY)
   Text5 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTEBCDICCODEPAGE)
   If Len(Text5) = 0 Then Text5 = "Sorry, Windows 2000 only"
   Text6 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTLANGUAGE)
   Text7 = GetUserLocaleInfo(LCID, LOCALE_IDEFAULTLANGUAGE)
   Text8 = GetUserLocaleInfo(LCID, LOCALE_ILANGUAGE)
 Select Case GetUserLocaleInfo(LCID, LOCALE_IMEASURE)
      Case "0": Text9 = "0 - Metric system is used"
      Case "1": Text9 = "1 - U.S. system is used"
   End Select
   Text10 = GetUserLocaleInfo(LCID, LOCALE_SCOUNTRY)
   Text11 = GetUserLocaleInfo(LCID, LOCALE_SENGCOUNTRY)
   Text12 = GetUserLocaleInfo(LCID, LOCALE_SENGLANGUAGE)
   Text13 = GetUserLocaleInfo(LCID, LOCALE_SINTLSYMBOL)
   Text14 = GetUserLocaleInfo(LCID, LOCALE_SISO3166CTRYNAME)
   Text15 = GetUserLocaleInfo(LCID, LOCALE_SISO639LANGNAME)
   Text16 = GetUserLocaleInfo(LCID, LOCALE_SABBREVLANGNAME)
   Text17 = GetUserLocaleInfo(LCID, LOCALE_SLANGUAGE)
   Text18 = GetUserLocaleInfo(LCID, LOCALE_SNATIVELANGNAME)
   Text19 = GetUserLocaleInfo(LCID, LOCALE_SNATIVECTRYNAME)
   Text20 = GetUserLocaleInfo(LCID, LOCALE_SNATIVECURRNAME)
   If Len(Text20) = 0 Then Text20 = "Sorry, Windows 2000 only"
   Text21 = GetUserLocaleInfo(LCID, LOCALE_SSORTNAME)
   If Len(Text21) = 0 Then Text21 = "Sorry, Windows 2000 only"

 

ملحوظة:-

يبدو الكود مخصص للويندوز 2000 ولكن حسب تجربته يعمل في ويندوز سفن ايضا و باقي انواع ويندوز.. الله اعلم

بالتوفيق

 

 

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.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information