PDA

View Full Version : چگونه با دلفي براي کيبرد برنامه بنویسم؟



gbg
جمعه 24 خرداد 1387, 21:23 عصر
الیته عنوان جالب تری به نظرم نرسید
در اصل می خوام فایل kbdfa رو شخصی کنم
طوری که حروف چاپ شده روی کیبرد و حروفی که بعد از فشردن و نمایش هماهنگ باشه
ممنون از توجهتون

B-Vedadian
جمعه 24 خرداد 1387, 23:40 عصر
براي توليد يک فايل صفحه کليد معتبر، بهتره از MSKLC يا همون MS Keyboard Layout Creator استفاده کنيد که دريافتش رايگانه.
نوشتن يک چنين dllي با دلفي هم ممکنه ولي در نهايت "معتبر" نخواهد بود و موقع نصب از همون پيغامهايي که "يکي از فايلهاي ويندوز غير معتبره و اگه ميخوايد نگهش داريد بهم بگيد!" براتون نمايش ميده. البته اين جلوي درست کار کردن dll رو نمي گيره ولي اگه ويندوز شاخه نصبي در اختيار داشته باشه، بدون اجازه گرفتن براي حذفش شخصا اقدام ميکنه.
با تمام اين اوصاف اگه خواستيد همچين dllي بنويسيد، فقط کافيه يه متغير آرايه اي استاتيک درست کنيد که فرمت لازم رو داشته باشه و بعد با يک تابع آدرسش رو export کنيد. براي اطلاعات بيشتر به DDK ويندوز مراجعه کنيد.

gbg
جمعه 24 خرداد 1387, 23:56 عصر
من از Microsoft Keyboard Layout Creator 1.4 استفاده کردم ولی خوب نبود و نیازم رو به خوبی رفع نمکنه

B-Vedadian
شنبه 25 خرداد 1387, 08:09 صبح
من از Microsoft Keyboard Layout Creator 1.4 استفاده کردم ولی خوب نبود و نیازم رو به خوبی رفع نمکنه

99 درصد مطمئنم که درست استفاده نکردی. اگه مقصودت ساختن keyboard layout هستش (هر layoutی) ، تمام قابلیت های ممکن رو داره. تعریف هر کلید مجازی ممکن برای فشرده شدن هر کلیدی که جزو layout میشه.

اگه دقیقتر بگی میخوای چکار کنی و چطور Layout ساختی که دلخواهت نبود ممکنه بتونم کمک کنم.

gbg
دوشنبه 27 خرداد 1387, 01:56 صبح
سلام
یه همچین اشکالی میگیره ولی وارنینگ هست در اصل موقع تست درسته ولی بعد از نصب کلیدهای مورد نظر کار نمیکنه


WARNING: The character ظ (U+0638) exists in the entry for VK_Z, ShiftState 'Shift' of the layout table and is not in the default system code page (1252) of the Italian (Italy) language you specified. This may cause compatibility problems in non-Unicode applications.

B-Vedadian
دوشنبه 27 خرداد 1387, 14:59 عصر
آخه تو پيغام خودش نوشته که شما داري صفحه کليد رو واسه زبان ايتاليايي درست ميکني!

زبان صفحه کليد رو به فارسي و يا عربي تغيير بده (منظورم تو MSKLC هستش)

gbg
سه شنبه 28 خرداد 1387, 23:22 عصر
درسته من مي خوام کاراکتر های دو زبان رو ترکیب کنم

B-Vedadian
چهارشنبه 29 خرداد 1387, 10:32 صبح
مساله ترکیب کاراکترها نیست، زبان پیش فرض رو به فارسی یا عربی تغییر بده بعد کاراکتر یونیکد مورد نظرت از ایتالیایی رو به هر کلیدی که میخوای نسبت بده. (یادت باشه که برای برنامه های غیر یونیکد صفحه کلیدت به درد نمی خوره)