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

من فضلكم طريقة تحديد تكست بوكس يكتب بالعربية فقط

مغلق
بدأه kokogogo2000 في 5 يونيو 2005 · 6 رد · 633 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من فضلكم عايز اعرف الطريقة لكتابة بالعربية فقط فى text file

اخى العزيز HaithamNazzal و GHOST2010 اشكرك على مساعدتكم لى انا اقصد عدم السماح بكتابة فى تكسن بكس باى لغة ما عدا العربية

المقصود لو عندى text1.text واريد الكتابة فية بالغة العربية بس

واخر اسمة text2.text اريد ان اكتب فية بالغة الانجليزية فقط

ارجو الشرح

شكرا

#2

يوجد طريقة بسيطة اتت علي راسي الان اونا اقرا المشاركة ، وهي :

من المعروفان شيفرة الحرف العربي تكون اكبر 128 دائما ،، لذلك يتم الفحص شيرفرة الحرف الذي يطبع في النص واذا كانت اكبر من 128 تسمع له بالكتابة اما اذا لا بقم بحذفه .

طريقة معرفة شيفرة اي حرف بالامر البسيط التالي :

Dim ChrCode As Integer 

ChrCode  = Asc("A")

وستقوم بالفحص علي رقم الكود في كل مرة يتم كتابة حرف اي في الحدث Change للتكست :

وهذا الكود كاملا

Private Sub Text1_Change()

Dim ChrCode As Integer

    If Len(Text1.Text) = 0 Then Exit Sub
If Asc(Mid(Text1.Text, Len(Text1.Text), 1)) > 128 Then
        Exit Sub
            Else
            'Delete Char..
        Text1.Text = Mid(Text1.Text, 1, Len(Text1.Text) - 1)
End If
    

End Sub

دعواتك لي

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#3

اشكرك اخى لكن الكون يعطى خطا لم يكتب اى حاجة فى التيكست بوكس

#5

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

أخى العزيز

إن شاء الله عندى الحل الذى تريده

عليك عمل الخطوتين التاليتين

أولا فى الجزء الخاص بالإعلانات العامة General_Decalre

''***** To Change Keyboard Language*****
Private Const HKL_PREV = 0
Private Const HKL_NEXT = 1
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal FLAGS As Long) As Long

ثم فى الحدث الذى تريده أن يغير اللغة مثلا txtArabic_GotFocus

تكتب الكود التالى

''**** To write in Arabic ****
  If GetKeyboardLayout(0) = &H4090409 Then ActivateKeyboardLayout HKL_NEXT, 0

أو الكود التالى مثلا فى txtEnglish_GotFocus

'**** To write in English ****
If GetKeyboardLayout(0) <> &H4090409 Then ActivateKeyboardLayout HKL_PREV, 0

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

أسأل الله لك التوفيق

تم تعديل هذه المشاركة بواسطة abulyaman في 5 يونيو 2005 في 17:08

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

( أحب الناس إلى الله أنفعهم ، وأحب الأعمال إلى الله عز وجل سرور تدخله على مسلم ، أو تكشف عنه كربة ، أو تقضي عنه دينا ، أو تطرد عنه جوعا ، ولأن أمشي مع أخي المسلم في حاجة أحب إليّ من أن اعتكف في المسجد شهرا ، ومن كف غضبه ستر الله عورته ، ومن كظم غيظا ، ولو شاء أن يمضيه أمضاه ، ملأ الله قلبه رضا يوم القيامة ، ومن مشى مع أخيه المسلم في حاجته حتى يثبتها له ، أثبت الله تعالى قدمه يوم تزل الأقدام ، وإن سوء الخلق ليفسد العمل كما يفسد الخل العسل )

رواه الطبراني في الكبير

#6

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

معلش أخى العزيز

قرأت مشاركتك على عجل فأجبت بتسرع

الكود السابق يغير لغة لوحة المفاتيح بصورة تلقائية ولكن لا يمنع تغيير اللغة والكتابة بغيرها

وهو مازال مفيد فى حالتك

ولكن ينقصك كود إضافى تكتبه فى حدث KeyPress

Private Sub txtWrite_KeyPress(KeyAscii As Integer)
 Dim St As String
 St = "اكتب كل الحروف التى تريده أن يتقيد بها هنا"
 If KeyAscii > 27 Then
  If InStr(St, Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
    Beep
  End If
 End If
End Sub

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

لعلك فهمتنى

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

( أحب الناس إلى الله أنفعهم ، وأحب الأعمال إلى الله عز وجل سرور تدخله على مسلم ، أو تكشف عنه كربة ، أو تقضي عنه دينا ، أو تطرد عنه جوعا ، ولأن أمشي مع أخي المسلم في حاجة أحب إليّ من أن اعتكف في المسجد شهرا ، ومن كف غضبه ستر الله عورته ، ومن كظم غيظا ، ولو شاء أن يمضيه أمضاه ، ملأ الله قلبه رضا يوم القيامة ، ومن مشى مع أخيه المسلم في حاجته حتى يثبتها له ، أثبت الله تعالى قدمه يوم تزل الأقدام ، وإن سوء الخلق ليفسد العمل كما يفسد الخل العسل )

رواه الطبراني في الكبير

#7

أخي العزيز

للكتابة بالعربية هذا الكود

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii > 64 And KeyAscii < 123 Then KeyAscii = 0

End Sub

وللكتابة بالأنكليزي فقط بدل الأرقام ( 123 و الـ 64 )

أخوك ميثم

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…