نمایش نتایج 1 تا 12 از 12

نام تاپیک: فارسی کردن کیبورد با دستورات api

  1. #1

    فارسی کردن کیبورد با دستورات api

    اینطوری: :o :lol: :wink:
    declare integer ActivateKeyboardLayout in win32api integer,integer
    ActivateKeyboardLayout(1025,8) &&for farsi like alt+shiftright
    ActivateKeyboardLayout(1033,0) &&for latin like alt+shiftleft
    دستور اول برای لود کردن api مربوط به فارسی سازی
    دستور دوم برای فعال کردن فانکشن فارسی سازی یا راست به چپ نویسی
    معمولا این دستور را با یک علامت مساوی قبل از آن در واقعه gotfocus یک تکس باکس میذارند
    دستور دوم برای لاتین کردن یا چپ به راست نویسی است میتوانید پس از اتمام کار در تکس باکس فارسی شده و برای اینکه کیبورد مجددا به حالت لاتین برگرده این فانکشن را در واقعه lostfocus همان تکس باکس قراردهید
    البته فونت تکس باکس شما چیزی باشد که فارسی را ساپورت کند
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  2. #2
    بچه ها خط سوم منظورم 1025,8 میباشد که اینطوری شد البته بعدش هم پرانتز بسته میشه
    چیکار میشه کرد دیگه
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  3. #3
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    کیا جان ! اون قسمتی که می خوای کد بنویسی رو انتخاب کن و دکمه Code را بزن تا درست نشون بده .

  4. #4
    سلام

    دوستان این موضوع که صفحه کلید را فارسی کنیم درست ولی از کجا متوجه شویم که قبل از ورود به جعبه متن فارسی است یا لاتین تا عملیات برعکس اجرا نشود و تازه در ورود به جعبه متن تبدیل به لاتین گردد . زیرا همانطور که میدانیم در ویندوز ایکس پی و 2000 با همان کلیدها که فارسی میشود اعمال نمود لاتین نیز اعمال میگردد .

    لطفا اگر این مشکل را حل کرده اید بیان کنید

  5. #5
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    کیا جون این کد فارسی کردن توی اکس پی جواب نمی ده :(

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    United Arab Emirates
    پست
    97
    طایفی جان سلام

    من از دستورات زیر جهت فارسی ولاتین نمودن کیبرد استفاده مینمایم و مشکل وضعیت قبلی کیبرد را ندارم

    DECLARE LONG LoadKeyboardLayout IN WIN32API STRING pwszKLID,INTEGER Flags

    دستور زیر جهت فارسی در gotfocus
    (lnRetCode = LoadKeyboardLayout('00000429', 1

    دستور زیر جهت لاتین در gotfocus
    (lnRetCode = LoadKeyboardLayout('00000409', 1

  7. #7
    سلام به همگی
    در جواب آقای B_TAYEFIN در مورد اینکه از کجا بدونیم لاتین یا فارسیه بایستی بگم که اینکار خیلی آسونه توی GOTFOCUS کنترل با یه شرط تست میکنی که LoadKeyboardLayout T مقدار کدش برابر با کد فارسی هستش یا نه و .....

  8. #8
    سلام به همگی
    البته یک تابع نیز من دارم که میشود صفحه کلید را فارسی ولاتین نمود.
    هرکدام ازدوستان میخواد بگه برایش ایمیل کنم متشکرم

  9. #9
    چرا ایمیل؟ همینجا بگذارید
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  10. #10

    تابع تبدیل صفحه کلید به فارسی ولاتین

    باسلام مجدد خدمت اساتید خودم

    باتوجه به اینکه بیشتر برنامه های من تحت داس وشبکه (فاکس پرو) میباشد وبیشتر

    درزمینه شرکتهای تعاونی مصرف میباشد وتازه ویژوال فاکس پرو را شروع کردم به راهنمایی

    های شما عزیزان نیازمندم البته بصورت دست گرمی یک سی تا فرمی نوشته ام

    وارتباطاتشان نیز خوب است و این فایل را نیز از یکی ازدوستان گرفته ام تقریبا مشابه

    دستورات آقا کیا است پرحرفی کردم عذرمیخواهم


    PARAMETERS KeymodeInValue
    If !Vartype(KeymodeInValue)=="C"
    Return .F.
    EndIf
    Do Case
    Case "WINDOWS 5" $ Upper(OS())
    DECLARE LONG LoadKeyboardLayout IN WIN32API STRING pwszKLID,INTEGER Flags
    Do Case
    Case Upper(KeymodeInValue)='FA'
    lnRetCode = LoadKeyboardLayout('00000429', 1)
    Case Upper(KeymodeInValue)='EN'
    lnRetCode = LoadKeyboardLayout('00000409', 1)
    EndCase
    Other
    Declare Integer ActivateKeyboardLayout In Win32Api Integer,Integer
    Do Case
    Case Upper(KeymodeInValue)='FA'
    ActivateKeyboardLayout(1025,8)
    Case Upper(KeymodeInValue)='EN'
    ActivateKeyboardLayout(1033,0)
    EndCase
    EndCase
    Return .T.




    PARAMETERS KeymodeInValue
    Local OldOnError
    OldOnError=On("ERROR")
    On Error Wait Nowa
    DECLARE INTEGER GetKeyboardLayout IN win32api integer ValueGetKeyboardLayout
    DECLARE INTEGER ActivateKeyboardLayout IN win32api integer ValueActivateKeyboardLayout
    Old_GetKeyboardLayout=GetKeyboardLayout(0)
    keymode_loopmax=20
    keymode_loopcount=0
    Do Case
    Case Upper(KeymodeInValue)='FA'
    Do While GetKeyboardLayout(0)<>67175425 .AND. GetKeyboardLayout(0)<>70255657 .AND. keymode_loopcount<keymode_loopmax
    keymode_loopcount=keymode_loopcount+1
    =ActivateKeyboardLayout(1)
    EndDo
    Case Upper(KeymodeInValue)='EN'
    Do While GetKeyboardLayout(0)<>67699721 .AND. keymode_loopcount<keymode_loopmax
    keymode_loopcount=keymode_loopcount+1
    =ActivateKeyboardLayout(1)
    EndDo
    Case Upper(KeymodeInValue)='UK'
    Do While GetKeyboardLayout(0)<>67699746 .AND. keymode_loopcount<keymode_loopmax
    keymode_loopcount=keymode_loopcount+1
    =ActivateKeyboardLayout(1)
    EndDo
    EndCase
    If keymode_loopcount=keymode_loopmax
    Do While GetKeyboardLayout(0)<>Old_GetKeyboardLayout
    =ActivateKeyboardLayout(1)
    EndDo
    KeymodeOutValue=.F.
    Else
    KeymodeOutValue=.T.
    EndIf
    Clear Dlls
    On Error &OldOnError
    Return KeymodeOutValue


    آخرین ویرایش به وسیله rezaTavak : شنبه 11 شهریور 1385 در 12:34 عصر

  11. #11
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    دوست عزیز!
    بچه های خوب اینجا همونطوری که به ما درس دادن دست شما هم خواهند گرفت . ضمن اینکه ورود شما رو خوش امد می گم بهتره که برای ارسال کد از "حالت پیشرفته" و دکمه code استفاده کنین.
    با تشکر

  12. #12

    نقل قول: فارسی کردن کیبورد با دستورات api

    نقل قول نوشته شده توسط سرائی-محمدجواد مشاهده تاپیک
    سلام به همگی
    البته یک تابع نیز من دارم که میشود صفحه کلید را فارسی ولاتین نمود.
    هرکدام ازدوستان میخواد بگه برایش ایمیل کنم متشکرم

    واسه من ایمیل کن..ممنون
    rakhshani_mojtaba25@yahoo.com

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •