المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لتحويل الكتابة من لغة إلى أخرى في دلفي.


delphi4ever
07-02-2008, 11:06 PM
السلام عليكم ورحمة الله تعالى وبركاته.:)

هذا مثال بسيط حول تحويل الكتابة في لوحة المفاتيح (KeyBorad) بواسطة دلفي:;)

لتحويل الكتابة إلى اللغة العربية: AR

LoadKeyboardLayout('00000401',klf_activate);

لتحويل الكتابة إلى اللغة الإنجليزية: EN

LoadKeyboardLayout('00000409',klf_activate);

لتحويل الكتابة إلى اللغة الروسية: RU

LoadKeyboardLayout('00000419',klf_activate);

مـــــوفقين إن شاء الله.

professor DeXTeR
10-02-2008, 09:52 PM
الله يثيبك على مجهودك ..

تحياتي لك دلفي للأبد

bsm12
16-02-2008, 08:18 AM
السلام عليكم
من الامثلة السابقة يتضح ان لكل لغة كود اي
العربية ---------00000401
الانكليزية ---------00000409

ممكن بعض الاكزاد للغات أخري كالفرنسية مثلا

infore
07-06-2008, 05:59 PM
بارك الله فيك أخي على المعلومات القيّمة, فعلا قيّمة

AL-MOB4RM3G
25-11-2008, 11:26 AM
صحيح اخي ان الموضوع قديم شوي
الى ان النفع منه كثير

لكن من اين آتي بأرقام اللغات ؟

يعني مثلا الكيبورد السويدي...
كيف اعرف رقمه وكوده ؟

الله يكرمكم

مهدي
25-11-2008, 12:51 PM
لكن من اين آتي بأرقام اللغات ؟

يعني مثلا الكيبورد السويدي...
كيف اعرف رقمه وكوده ؟

الله يكرمكم


من هذا الرابط إضغط هنا (http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx)

AL-MOB4RM3G
27-11-2008, 11:10 AM
من هذا الرابط إضغط هنا (http://www.microsoft.com/globaldev/reference/win2k/setup/lcid.mspx)

بارك الله لك اخي على الرابط

moon
21-12-2008, 05:48 PM
مشكووراخوي على المعلومه المفيده
افدتنابها كوني مبتدئه
يعطيك العافيه

AvimimuS
23-12-2008, 11:38 AM
بارك الله فيك
انشاء الله يستفيد الكثير
بالتوفيق لك

AvimimuS
23-12-2008, 11:42 AM
السلام عليكم
من الامثلة السابقة يتضح ان لكل لغة كود اي
العربية ---------00000401
الانكليزية ---------00000409

ممكن بعض الاكزاد للغات أخري كالفرنسية مثلا


الفرنسية 00000409
ان اردت اكواد جميع الغات راجع الموقع الذي وضعه الاخ

علي
25-12-2008, 08:37 PM
شكرا أخي جزاك الله خيرا

مؤمن ملك
07-02-2009, 09:19 PM
الف شكر افادك الله
فعلاً عبقرى

kachwahed
14-08-2010, 03:14 PM
لتحديد لغة إقليمية معينة من خلال ثوابت معرفة في Windows.pas يمكن استخدام الـ Macro الذي يعيد الرمز التعريفي للغة:
#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
المصدر:
http://msdn.microsoft.com/en-us/library/bb202928.aspx
في دلفي:
function MAKELANGID(usPrimaryLanguage, usSubLanguage: LANGID): WORD;
begin
Result := (usSubLanguage shl 10) + usPrimaryLanguage;
end;
usPrimaryLanguage: تأخذ اللغة المستخدمة نستخدم: LANG_ARABIC/LANG_ENGLISH
usSubLanguage: تأخذ إقليم اللغة: SUBLANG_ARABIC_SYRIA/SUBLANG_ARABIC_EGYPT
لتسهيل الاستخدام نعيد كتابته في تابع يعيد string عوضا عن Word
ونستخدم TSpeedButton كزر للتغيير لأنه لا يغير موضع المؤشر (Cursor Focus). المثال:
function GetLangID(usPrimaryLanguage, usSubLanguage: LANGID): string;
begin
Result := IntToHex((usSubLanguage shl 10) + usPrimaryLanguage, 8);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
LoadKeyboardLayout(pchar(GetLangID(LANG_ARABIC, SUBLANG_ARABIC_SAUDI_ARABIA)), KLF_ACTIVATE);
end;
بقية الثوابت معرفة في Windows.pas.