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

كود اللغة العربية

بدأه lion iraq في 14 فبراير 2011 · 8 رد · 1,925 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اذا امكن من اخواني الاعزاء

ذكر كود او طريقة كتابة اللغة العربية الياً وبدون تحويل من الكيبورد في تكست مثلا

مع جزيل الشكر

#2

انا كمان محتاج حاجة زى دى

يا ريت

1
#3
essam_ar1 كتب:

انا كمان محتاج حاجة زى دى

يا ريت

الموضوع دا يا جماعة ممكن يتعمل عن طريق دوال api

دا الكود الا بينادى الدالة بتاع لوحة المفاتيح

DECLARE INTEGER ActivateKeyboardLayout IN User32 ;

INTEGER hkl, INTEGER Flags

طبعا السطر الا فات نضعوا فى load بتاع الفورم

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

LOCAL lcKeyboardName

lcKeyboardName = SPACE(9)

GetKeyboardLayoutName(@lcKeyboardName) && read current layout

*Look up the layout description

SELECT Langlist

SET ORDER TO Langcode

IF SEEK(LEFT(lcKeyboardName,8)) && Null terminated

lcLayoutDesc = Langlist.DESCRIPT

ELSE

lcLayoutDesc = "Unrecognized Language"

ENDIF

*Display layout name

MESSAGEBOX("Layout is currently set to "+lcLayoutDesc)

الملف المرفق فيه مثال مجمع لكل الكلام السابق ذكروا

ويا ريت اكون افدتكم

93239-kybdstck.rar

#4

مشكور اخي علاء المختار على المتابعة وجهودك المبذولة

واريد ان اوضح فكرة المشارك بتاعي ( مالتي ) ان عند الوصول الى تكست معين ضمن فورم معين تكون الكتابة العربية فقط مثلا حسب التحديد

ولدي

الفكرة مشابه لفكرتك سوف اقوم بارفاق طريقة برمجتها على شكل ثلاث صور ( بسبب عدم كتابتها بـ المحرر بشكل صحيح.وتم تحويل الضيغة الى ضيغة طابعة لتقليل حجم المرفق )

اما الفكرة الاسهل والاسرع هي كالاتي :

بدل من صنع فورم للتبديل بين اللغة وهي : في load الفورم توضع او تكتب حالة التنشيط للكيبورد

DECLARE INTEGER ActivateKeyboardLayout IN User32 ;

INTEGER hkl,;

INTEGER Flags

وفي الحدث click الخاص بالتكست تكتب

ACTIVATEKeyboardLayout(0,00000401)

فقط

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

code.zip

1
#5

شكرا

نجحت فعلا

#6

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

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

#7
M-Man كتب:

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

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

اخي العزيز اعتذر على عدم متابعة الموضوع

انظر الاتي

في Init الفورم ثبت الاتي

 DECLARE INTEGER ActivateKeyboardLayout IN User32 ;
INTEGER hkl,;
INTEGER Flags

في الحقل المراد كتابه اللغة العربية بالحدث GotFocus

   ACTIVATEKeyboardLayout(0x00000801,0)

انا استخدم اللغه العربيه(العراق) وهذا هو رمزها

اما في الحقل المراد كتابه اللغة الانجليزيه في نفس الحدث GotFocus

  ACTIVATEKeyboardLayout(0x00000409,0)

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

اما اذا اردت الطريقة القديمه وهو التبديل عند النقر او اي حدث فقم بتثبيت الاتي

  ACTIVATEKeyboardLayout(0,0)

تحياتي للجميع

#8

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

وتقبل تحياتي

#9
M-Man كتب:

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

وتقبل تحياتي

اللهم اعطهم مايتمنون لنا

تحياتي اخي العزيز

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