أكاديمية الصقر للتدريب

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


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





جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !

بسم الله والحمد لله والصلاة والسلام على رسول الله أهلا ومرحباَ بكم إخوانى الكرام تم رفع الحل بملف مرفق بالكود النهائى ..



07-04-2020 03:35 صباحا
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 

بسم الله والحمد لله والصلاة والسلام على رسول الله

أهلا ومرحباَ بكم إخوانى الكرام

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


اللى متعلم عليه بالأزرق كان منسى بالفيديو هدفه هو ضبط المؤشر
عند ضغط على زر يكتب حرفين أثناء الوضع بالإنجليزية كالحرف لا مكان الحرف B
الملف المرفق به التعديل التالى

pF4H6_2020-04-09_002608
شاهد الفيديو بالشرح بالتفصيل


اليوم سأقدم موضوع إثراءً لعملية البحث حيث سأبدأ بالسؤال
لأرى من سيتفاعل ويقدم حلولاً حتى لو خطاْ المهم المحاولة

السؤال هنا كيف يمكنك أن تكتب باللغة العربية على تيكست بوكس
سواء كان الويندوز مجهز باللغة العربية أو الإنجليزية

أعطيك مثالاً مبسطاً فى الصورة التالية

qUNr9_2020-04-07_032221
أى أنه أثناء كتابتى لحرف h كان يقابل حرف ا فى لوحة المفاتيح
دا مش معناه ان اى حرف تعمله مقابل وبس

فمثلا Shift+حرف غ هو حرف إ وهذا ما يجب أن تحصل عليه
حتى لو كنت تكتب باللغة الإنجليزية أيضاً

حيث أن حرف ​Shift+Y هو حرف Y كابيتال فى حالة وضع Caps lock مغلق
ولو مفعل يصبح الحرف الصغير لـ y
الخلاصة أفتح باب البحث والمحاولة والنقاش فى حل تلك المسألة

لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

تحياتــى أخـوكم فـى الله / إســـلام عبدالله
دمـتـم فــى حفظ الله ورعايتـه 81







 
 
  EnToAr_Textbox.xlsm   تحميل xlsm مرات التحميل :(44)
الحجم :(88.326) KB


07-04-2020 07:55 صباحا
مشاهدة مشاركة منفردة [1]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10439
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 0
يتابعونه : 534
قوة السمعة : 36372
عدد الإجابات: 252
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
بارك الله فيك أخي الحبيب إسلام وعوداً حميداً
أرجو من الأخوة الأعضاء التفاعل للحصول على هذه المعلومات القيمة ، وإلا سينفذ إسلام كلامه ولن يقدم الحل .. تقديم الحل مشروط بالتفاعل والمحاولة وحتى لو كانت المحاولات فاشلة

07-04-2020 12:08 مساء
مشاهدة مشاركة منفردة [2]
ali mohamed ali
مشرف على منتدى الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2017
رقم العضوية : 1757
المشاركات : 1763
الدولة : مصر
الجنس : ذكر
الدعوات : 2
يتابعهم : 0
يتابعونه : 68
قوة السمعة : 9632
عدد الإجابات: 46
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
بارك الله فيك استاذى الكريم اسلام وجزاك الله كل خير , هذه محاولة منى
نبدأ بفتح مديول جديد ووضع هذا الكود به

Option Explicit
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Enum ELanguage
    Ar      '' اللغة العربية
 End Enum
Public Sub Langauge(lang As ELanguage)
    Select Case lang
        Case ELanguage.Ar
            LoadKeyboardLayout "00000401", 1
            End Select
End Sub

ثم وضع هذا الكود فى حدث التكست بوكس وليكن TextBox1

Private Sub TextBox1_Change()
 Langauge ELanguage.Ar
End Sub

أرجو ان أكون قد وفقت لما تريده
 
توقيع :ali mohamed ali
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى حل أى مشكلة او أستفسار لديك مع إضافة رد بشكره
أو دعوة لمن قدم اليك المساعدة,فالجميع هنا يعمل على مساعدة
 الاخرين لوجه الله وان تحتسب له اجر عند الله

07-04-2020 06:01 مساء
مشاهدة مشاركة منفردة [3]
hassona229
مشرف عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 793
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 13-9-1980
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 3910
عدد الإجابات: 108
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
بارك الله فيك استاذى الكريم اسلام وجزاك الله خيرا 
بارك الله فيك دكتور محمود وجزاك الله خيرا
 هذه محاولة منى بعد اذن دكتور محمود
نبدأ بفتح مديول جديد ووضع هذا الكود به
Option Explicit


Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Enum ELanguage
 
EN      ''  E
AR      ''  A
 End Enum
Public Sub Langauge(lang As ELanguage)

    Select Case lang
        Case ELanguage.AR
            LoadKeyboardLayout "00000401", 1
        Case ELanguage.EN
            LoadKeyboardLayout "00000409", 1
        End Select
End Sub

ثم وضع هذا الكود فى حدث الشيت الموجود به التكست بوك وليكن TextBox1



Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long
Private keyCodes(0 To 255) As Byte, caps%

Private Sub TextBox1_Change()
If GetKeyState(20) = 1 Then
    Langauge ELanguage.EN
Else
Langauge ELanguage.AR
End If
End Sub

 

07-04-2020 06:02 مساء
مشاهدة مشاركة منفردة [4]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
فكرة الكود رائعة وأعجبتنى مشاركتك فى الموضوع أخى الكريم على
ما قمت به انه عند ادخال اى حرف يتم ادخاله بلغته
ثم يتم تغير وضع الادخال فى الويندوز الى العربية
وطلبى هو الكتابة باللغة العربية أثناء وضع الكتابة باللغة الانجليزيه

 

07-04-2020 06:11 مساء
مشاهدة مشاركة منفردة [5]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
احسن استاذ حسونة بحث مجدى وطرق رائعة
والفكرة مختلفة قليلا الى ان الطريق واحد بالنسبة لك وللاستاذ على
وكما قلت الهدف هنا هو كتابة الحروف العربية اثناء الوضع اللغة الانجليزية
وليس عمل سويتش للغة عند حدث تغيير التيكست بوكس


أيضا هناك تعليق بسيط بالنسبة لطريقة استدعاء المكتبات بالنسبة لك وللأستاذ على
بهذة الطريقة لن تعمل الاكواد الا على الاجهزة التى تعمل بنظام 32Bit فقط
ساقوم بالتنبيه على تلك الملحوظة اثناء شرحى للحل إن شاء الله

08-04-2020 12:29 صباحا
مشاهدة مشاركة منفردة [6]
hassona229
مشرف عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 793
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 13-9-1980
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 3910
عدد الإجابات: 108
 offline 
look/images/icons/i1.gif جعل التيكست بوكس يكتب عربى حتى لو الكتابة إنجليزى !
بارك الله فيك استاذى الكريم اسلام وجزاك الله خيرا
نبدأ بفتح موديل ووضع هذا الكود به

Public Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Public Declare PtrSafe Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long
Public keyCodes(0 To 255) As Byte, caps%

Function Caps_off_Arabic_on_English(text As String)
Dim A As String * 1
Dim B As String * 1
Dim i As Integer
    If GetKeyState(20) = 0 Then

        Const RegChars = "ذ1234567890-=ضصثقفغعهخحجدشسيبلاتنمكط\ئءؤرلاىةوزظ"
        Const AccChars = "`1234567890-=qwertyuiop[]asdfghjkl;'\zxcvbnm,./"

        For i = 1 To Len(AccChars)
        A = Mid(AccChars, i, 1)
        B = Mid(RegChars, i, 1)
        text = Replace(text, A, B)
        Next
        ActiveSheet.TextBox1.text = text
        Caps_off_Arabic_on_English = text
    End If

End Function
ثم وضع هذا الكود فى حدث الشيت الموجود به التكست بوك وليكن TextBox1

Private Sub TextBox1_Change()
Caps_off_Arabic_on_English (TextBox1.Value)
End Sub

 




الكلمات الدلالية
التيكست ، بوكس ، يكتب ، عربى ، الكتابة ، إنجليزى ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 10:30 مساء