منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف نجعل العناصر ( Textbox>>>listbox) تأخذ اللغة العربية ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
بسم الله الرحمن الرحيم

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

كيف اجعل Textbox مغعل على اللغة العربية، اي بمعنى اخر، الا اجعل المستخدم يضغط على زر تبيدل اللغة الى اللغة العربية ، في كل حقل ادخال

كنت عند تصميم البرامج باستخدام الاكسس، اجعل خاصية الحقل
لغة لوحة المفاتيح ......... على اللغة العربية

كيف السبيل الى ذلك بالفيجوال بيسك دوت نت
والف شكر
ضع هذا الكود في حدث Keyup للـــ Text Box
اوعند فتح النافذة في الحدث Load

كود :
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New Globalization.CultureInfo("Ar-EG"))

Smile:eek:Smile
اخي العزيز اذا بك عربي فقط في التكست ادخل هذا الكود في حدث GotFocus



(InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages().Item(1


مع فائق الاحترام
شكر اخي
Genius live
على اجابتك
ولكن ماتفضلت به لم يعمل .....
انا اعمل على نظام ويندوز 8 وفيجوال بسك دوت نت
شكراً اخي
NMST70
على ما تفضلت به، فقد عمل معي واصبح الحقل بكتب اللغة العربية

[b][COLOR="#B22222"]سؤالي ....
كأني لحظت في هذا الكود انه له علاقة باللغات المثبتة على الجهاز
وماذا لوكان المستثمر للبرنامج مثبت على جهازه اكثر من لغة ( عربي - انكليزي - فرنيسي - الماني ) مثلا[/COLOR]


هل يظل الكود شغال...
يعني Item(1
ربما لا تكون هي العربية ؟؟؟؟؟؟؟؟؟؟؟
[/b]
kafi كتب :شكر اخي
Genius live
على اجابتك
ولكن ماتفضلت به لم يعمل .....
انا اعمل على نظام ويندوز 8 وفيجوال بسك دوت نت

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

أخي الكريم

كود الأخ Genius live صحيح ولكن يجب تغيير اسم اللغة الموجود في الكود إلى التي لديك
لأن ما كتبه لك هو لمن لديهم اللغة العربية - مصر (AR-EG)
فإذا كانت التي لديك هي العربية - السعودية فيجب أن تكتب (ar-SA)
أو إذا أحببت أن تضع البرنامج على النت ويكون شامل لكل الدول العربية فاستعمل كود الأخ NMST70 وهو

كود :
(InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages().Item(1

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

بالتوفيق
kafi كتب :شكراً اخي
NMST70
على ما تفضلت به، فقد عمل معي واصبح الحقل بكتب اللغة العربية

[b][COLOR="#B22222"]سؤالي ....
كأني لحظت في هذا الكود انه له علاقة باللغات المثبتة على الجهاز
وماذا لوكان المستثمر للبرنامج مثبت على جهازه اكثر من لغة ( عربي - انكليزي - فرنيسي - الماني ) مثلا[/COLOR]


هل يظل الكود شغال...
يعني Item(1
ربما لا تكون هي العربية ؟؟؟؟؟؟؟؟؟؟؟
[/b]

نعم هذا ما قصدته في المشاركة السابفة
ولهذا فمن الأفضل وضع شرط للتحقق كما ذكرت آنفا
فعندي على سبيل المثال اللغة العربية اللغة الأولى على الجهاز أي الرقم صفر
وللتحقق من اسم اللغة هذا الكود سيساعدك
كود :
If InputLanguage.InstalledInputLanguages().Item(1).Culture.Name.Contains("ar") Then
            'ضع الكود هنا
        End If

بالتوفيق
[COLOR="#000000"][b]شكرا اخي
Soriaty03
على التوضيح الرائع للاكواد التي تفضل بها الاخوة الزملاء
[HTML]
If InputLanguage.InstalledInputLanguages().Item(1).Culture.Name.Contains("ar") Then
'ضع الكود هنا
End If
[/HTML]

اخي الكريم في الكود الذي تفضلت به حضرتك، مازال الكود مرتبط بالعنصر 1 ، وكما اسلفت سابقا في حال تواجد العديد من اللغات المنصبة على جهاز العميل، فقد لا تكون اللغة العربية هي الاولى
اقترح ان يكون الكود كمايلي
[HTML]
Dim x, i, xx As Integer

x = InputLanguage.InstalledInputLanguages().Count


For i = 0 To (x - 1)
If InputLanguage.InstalledInputLanguages().Item(i).Culture.Name.Contains("ar") Then
xx = i
End If
Next

InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages().Item(xx[/HTML])

حيث بحثت عن عدد اللغات الموجودة، ومن ثم بحثت داخل القائمة من اجل معرفة ترتيب اللغة العربية ضمن القائمة

ارجو تصويب ما فعلته
والسلام عليكم
[/COLOR][/b]
فقط ضع جملة Exit For بعد جملة :
كود :
xx = i
وذلك حتى لا تكون الحلقة شغالة ما دام لقينا المطلوب
شكرا اخي
kslawy
على تصويب الكود !!!!!!!!!
بارك الله فيك

ان هدا الكود سوف يتم استدعاؤه مئات المرات على مستوى البرنامج ...
لان معظم الشاشات فيها حقول ادخال....

افكر ان يتم فحص موقع اللغة العربية (xx) في بدء عمل الشاشة الافتتاحية للبرنامج، ومعرفة موقع اللغة العربية من اللغات المثبتة على الجهاز، كما اسلفنا بالكود المدكور/ من اجل صحة استدعاء

[HTML]InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages().Item(xx[/HTML]

[HTML]
Dim x, i, xx As Integer

x = InputLanguage.InstalledInputLanguages().Count


For i = 0 To (x - 1)
If InputLanguage.InstalledInputLanguages().Item(i).Culture.Name.Contains("ar") Then
xx = i
exit for
End If
Next[/HTML]

هل اخزن الرقم xx
1- اما على متغير عام على طول البرنامج
2- ام على ملف xmal
3- ام في قاعدة بياناتي
4- ام لا افعل على ذلك، وابقي على الكود كما هو، ولن ياخد الكثير من الوقت رغم انه سوف يتم استدعاؤه مئات المرات

[b][u][b]ارجو ارشادي الى اي الحلول افضل واصح
[/u][/b]
جزاكم الله كل خير[/b]
الصفحات : 1 2