الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معلومة/لغة الادخال فى تطبيقات الويندوز

مغلق
بدأه SOLO.NET في 16 فبراير 2006 · 8 رد · 1,255 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

يمكن تعريف لغة الادخال بانها مخطط يتكون من الثقافة المحلية ولوحة المفاتيح،يتحكم فى تناظر المفاتيح الطبيعية الموجودة على لوحة المفاتيح مع حروف احدى اللغات. ويحتوى نظام .NET Framework على مجموعة من الفئات التى تحتوى على طرقMethods وخصائصProperty للتعامل مع لغة الادخال اهمها ما يلى :

• الفئة InputLanguage

• الفئة InputLaguageChangedEventArgs

• الفئة InputLaguageChangingEventArgs

الفئة InputLanguage :

تحتوى هذه الفئة على خواص،وطرق،وحقول، لادارة لغة الادخال. وفيما يلى عرض لاهم هذه الخصائص والوسائل واستخداماتها :

خاصية InstalledInputLanguages :

تستخدم هذه الخاصية للحصول على قائمة بجمبع لغات الادخال المثبتة بالنظام.الكود التالى يستخدم مربع نص وبعد ضبظ خاصية MultiLine على True

حيث يتم فيه سرد جميع اللغات المثبتة على النظام:

Dim lang As InputLanguage
        For Each lang In InputLanguage.InstalledInputLanguages
            Me.TextBox1.Text &= lang.Culture.EnglishName & ControlChars.CrLf

خاصية Culture :

تستخدم هذه الخاصية فى الحصول على الثقافة الخاصة بلغة الادخال الحالية.وتعود هذه الخاصية بكائن من الفئة CultureInfo والذى يحتوى علىمعلومات الثقافة الخاصة بلغة الادخال الحالية، مثل اسم الثقافة،نظام الكتابة،التقويم المستخدم،ومعلومات اخرى

Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage
        Dim myCultureInfo As System.Globalization.CultureInfo = myCurrentLanguage.Culture
      
  Me.TextBox1.Text = myCultureInfo.EnglishName

خاصية Handle

تستخدم هذه الخاصية فى الحصول على مقبض لغة الادخال.وقيمة هذه الخاصية من نوع مؤشر لعدد صحيح(IntPtr) .

Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage
        Dim myHandle As IntPtr = myCurrentLanguage.Handle
        Me.TextBox1.Text = "The handle number is :" & myHandle.ToString

الطريقة Equals

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

الطريقة FromCulture

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

الفئة InputLanguageChangedEventArgs & InputLaguageChangingEventArgs

توفر هذه الفئة الوسيطات اللازمة لحدث InputLanguageChanged.و InputLanguageChanging

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

خاصية CharSet

تستخدم هذه الخاصية فى الحصول على مجموعة المحارف المتعلقة بلغة الادخال الجديدة. وتعيد قيمة من نوع Integer تمثل الرقم المميز لمجموعة المحارف

فمثلا لــARABIC_CHARSET القمية 178 ولـEASTEUROPE_CHARSET القيمة 238

لمعرفة باقى القيم والمجموعات راجع MSDN

خاصية Culture

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

خاصية InputLanguage

تستخدم هذه الخاصية فى الحصول على قيمة تشير الى لغة الادخال الجديدة

الحدث InputLanguageChanged

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

InputLanguageChangedEventArgs

والذى يحتوى على بيانات تتعلق بهذا الحدث. ويتم توفير هذه البيانات عن طريق خصائص مثل: خاصية Culuter;InputLanguage,CharSet السابق ايضاحها.

الكود التالى يقوم بمعالجة الحدث InputLanguageChanged للحصول على اسم اللغة الادخال التى تم التغيير اليها. ثم يقوم الاجراء بعد ذلك بمقارنة رمز الادخال مع رمز اللغة العربية. وعند تحقق الشرط، يتم تحويل اتجاه النصوص فى Box RichText ليبدأ من اليمين لليسار

Private Sub Form1_InputLanguageChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.InputLanguageChangedEventArgs) Handles Me.InputLanguageChanged
        If e.InputLanguage.Culture.TwoLetterISOLanguageName.Equals("ar") Then
            Me.RichTextBox1.RightToLeft = Windows.Forms.RightToLeft.Yes
        End If
    End Sub

تطبيق على تغيير لغة الادخال بتطبيقات الويندوز

المثال يوجد فى المرفقات ويعمل على vb.net 2005 لمن لا يوجد لده هذا الاصدار هذا هو كود البرنامج

حيث يتم سرد رموز جميع لغات الادخال المثبته على النظام فى ListBox وعند النقر على اى منها يتم تغيير لغة الادخال

Public Class Form1

    Private Sub Form1_InputLanguageChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.InputLanguageChangedEventArgs) Handles Me.InputLanguageChanged
        If e.InputLanguage.Culture.TwoLetterISOLanguageName.Equals("ar") Then
            Me.RightToLeft = Windows.Forms.RightToLeft.Yes
        Else
            Me.RightToLeft = Windows.Forms.RightToLeft.No
        End If
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each lang As InputLanguage In InputLanguage.InstalledInputLanguages
            Me.ListBox1.Items.Add(lang.Culture.TwoLetterISOLanguageName)
        Next
    End Sub

    Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
        For Each lang As InputLanguage In InputLanguage.InstalledInputLanguages
            If lang.Culture.TwoLetterISOLanguageName = Me.ListBox1.SelectedItem.ToString Then
                InputLanguage.CurrentInputLanguage = lang
            End If
        Next
    End Sub
End Class

بالتوفيق للجميع

ChangeLaguageDemo.zip

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

جزاك الله خيرا يا عب...... أوبس نسيت معلش هكمل الكتب بليل لمه أكون في البيت

#4

شكرا أخ SOLO.NET والله تدوخنا وتتحفنا بجديدك يا Boss

اقتباس
How to get experience without a job, and how to get a job without experience
#5

جزاكم الله خير وشكرا لمروركم

اقتباس
جزاك الله خيرا يا عب...... أوبس نسيت معلش هكمل الكتب بليل لمه أكون في البيت

يعنى لسه فاكر ;)

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#6

طبعا فاكر ;) الحر دين عليك :P

#7

جزاك الله كل أخ SOLO.NET

ادعو لي بالهداية فأنا أحتاج هذا الدعاء بشدة

منتدى تصميم التطبيقات (و يشمل نظم التشغيل) و تعريبها. <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

بعض ردودي ومشاراكاتي في المنتدى:

1- هل تريد التحكم بجهازك كأنك محترف, ( إذاً تعال معي وتعلم الرجستري Registry ).

...|-->> فكرة عامة عن الرجستري وكيفية التعامل معه ( رقم المشاركة 1 - 4 )

...|-->> كتابة ملف رجستري

...|-->> تشغيل الرجستري دون رسائل( في الخفاء )

...|-->> بعض التحكمات التي يقدمها الرجستري

...|-->>=>> إيقاف عمل Ctrl+Alt+delete ( Task Manager )

...|-->>=>> إخفاء قائمة ملف file وبذلك لن ترى قائمة file

...|........... في مشاركة أخرى >> حتى ولو قمت بالضغط على أي ملف أو مجلد بزر الفأرة الأيمن

...|-->>=>> لإيقاف وإخفاء عمل البحث Find من على الجهاز

...|-->> بعض المعلومات التي يقدمها الرجستري

...|-->>=>> معرفة الأجهزة المتصلة بالـIDE ورقم السريال الخاص لكل جهاز

...|-->> من أحسن مواقع الرجستري

...|-->>=>> http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

منتدى مبرمجي لغة Microsoft Visual Basic <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

برامج من صنعي:

1- لعبة (من صنعي ), جربها وقول رأيك

2- ساعة حائط, من صنعي

بعض ردودي ومشاراكاتي في المنتدى:

1- طريقتان لفتح ملف معين وليكن بامتداد SWF ببرنامجك [ الطريقة الأولى - الطرقة الثانية ]

2- هل تريد ألا يتحكم أحد في الجهاز غيرك؟

3- كود ايقاف عمل زر الاغلاق x بزاوية الفورم

4- عرض صورة متحركة بالكود , أي بدون استخدام أدوات

5- اجعل الـComboBox [ تنسدل - لما تكتب فيا تنسدل وتظهر الاسماء التى تبدأ بالحرف اللي كتبته فى الكومبو ]

6- إنشاء مكون أثناء تشغيل البرنامج ثم إدخاله تحت نطاق مكون آخر مثلاً إدخاله داخل نطاق microsoft tabbed dialog control

أسئلتي في المنتدى التي تم الإجابة عليها:

1- كيف يمكن قراءة الإشارات الصوتية الخارجة من الميكروفون أو السماعات ( لرسمها أو العبث بها ) ؟ أرجو المزيد من الردود ...

2- إيقاف عمل الرجستري

أسئلتي في المنتدى التي لم يتم الإجابة عليها:

اقتباس
ردك يعطي حافذ للإجابة على أسئلتك
#8

مجهود عظيم

مشكور أخى

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#9

جزاك الله خيرا اخى الفاضل

هذا الموضوع مغلق.

مواضيع مشابهة