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

الفاصلة حسب الإعدادات الإقليمية


أبو هادي

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

السلام عليكم

كثير ما يشتكي المبرمجون من مشكلة كتابة الأكواد للقوائم كمصدر الـ List Box و Combo Box عند استخدام الفاصلة للفصل بين العناصر ، حيث يوجد هناك الفاصلة والفاصلة المنقوطة .

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

وقد يكون المستخدم يعي المشكلة فيقوم بحل المشكلة بتبديل الفاصلة للإعدادات الإقليمية ولكن :

- ماذا بشأن من لا يستطيع أن يشخص المشكلة ؟

- ماذا لو كان يستخدم أكثر من برنامج يختلف فيهم نوع الفاصلة ؟

والحل هو كيفية الحصول على نوع الفاصلة من الإعدادات الإقليمة حسب الكود التالي :

Option Explicit

Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_SLIST = &HC

Private Declare Function apiGetLocaleInfo Lib "kernel32" _
  Alias "GetLocaleInfoA" (ByVal Locale As Long, _
  ByVal LCType As Long, ByVal lpLCData As String, _
  ByVal cchData As Long) As Long

Function ListSeparator() As String
  Dim lReturn As Long
  Dim sSeparator As String
  
  sSeparator = Space(256)
  lReturn = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLIST, sSeparator, Len(sSeparator))
  
  If lReturn <> 0 Then
    sSeparator = Left$(sSeparator, lReturn - 1)
  End If
  
  ListSeparator = sSeparator
End Function
ويمكن تجربة الدالة بهذا الإجراء البسيط :
Sub Test()
  Dim MonthsList As String
  
  '--
  MonthsList = "Jan" & "," & "Feb"
  MsgBox MonthsList, , "الفاصلة الإفتراضية للإنجليزي"
  
  '--
  MonthsList = "Jan" & ";" & "Feb"
  MsgBox MonthsList, , "الفاصلة الإفتراضية للعربي"
  
  '--
  Dim ls As String
  ls = ListSeparator
  MonthsList = "Jan" & ls & "Feb"
  MsgBox MonthsList, , "الفاصلة حسب الإعدادت الإقليمية"

End Sub

آمل أن ينتفع به .

تحياتي .

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

  • 1 month later...
  • 3 weeks later...

----------------------------------------------------------------------

السلام عليكم

الاخوة الخبراء في الاكسس رجاءممن عنده الاجابة علي طلبي وهو انني عملت قاعدة بيانات للكنترول المدرسي وربطها بالفيجوال بيسيك6 واوشكت عن الانتهاء من كل شيء الا شيء قد يكون بسيط عند اهل الخبرة هو كيفية تنسيق الحقل في الجدول ليقبل الكسور العشرية لان درجات الطلاب تكون غالبا كسور مثل 5.5او 4.5 وهاكذا بحيث نجري عليها العمليات الحسابية في استعلام لان العملية الحسابية لا تتم على الحقول الا اذا كانت تنسيق رقم علما باني اعمل علي افيس2003 وكذلك كيف اظهر التفقيط في اكسس بالتقرر في الفيجوال بيسيك ولكم جزيل الشك

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

  • 1 month later...

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