ورود

View Full Version : حل مشکل از راست نوشتن فارسی در XP



ح.حاج حسینی
دوشنبه 27 مهر 1383, 17:09 عصر
هیچ فرقی نمیکند شما از نسخه 7 یا 8 Visual Foxpro استفاده کنید مشاهده میکنید با شرط رعایت کردن Alignment=right و .RightToLeft=.t برنامه های که در ویندوز 98 درست کار میکنند در وینروز XP به هم میریزند برای مثال ستونهای grid به جای راست چین از طرف چپ چیده میشوند یا pageها در formpage و هنگام ورود اطلاعات در داخل textbox دوچار مشکل میشوید راه حلی را که در زیر ارائه میدهم مشخصا بروی تعدادی کامپیوتر پیاده کرده و به کل مشکلات فوق بر طرف شده است
بروی دگمه start کلیک کنید
بروی control panel کلیک کنید
بروی Regional and language options کلیک کنید
در اولین صفحه از سمت چپ صفحه Regional Location در پایین صفحه در قسمت Location انتخاب کنید Saudi Aabia
در صفحه سوم ازسمت چپ صفحه Advanced در بالای صفحه نیز Arabic(Saudi Arabia) را انتخاب کنید
در صفحه وسط بر روی دگمه Detalis کلید کنید
در صورتی که در پنجره پایینی صفحه Sttinge در پنجره باز شده جدید Arabic(Saudi Arabia) و در زیر آن( Arabic(101 وجود دارد مراحل قسمت ب را انجام دهید در غیر این صورت اول مراحل قسمت الف را انجام دهید سپس مرحله ب را
الف - بر روی دگمه ADD کلیک کنید ودر قسمت Input language Arabic(Saudi Arabia) را انتخاب کرده و Keyboard layout/me انتخاب میکنید( Arabic(101
توجه از اینجا به بعد مهم است

ب - بر روی دگمه ADD کلیک کنید ودر قسمت Input language Arabic(Saudi Arabia) را انتخاب کرده و Keyboard layout/me انتخاب میکنید farsi
یک نوبت کامپیوتر را boot کنید
مجدد وارد پنجره ای که عملیات قسمت الف و ب را انجام دادید بشوید ابتدا بر روی جمله (1 Arabic(10 کلید کرده و سپس بر روی دگمه Remove کلید کنید
یک نوبت دیگر کامپیوتر را boot کنید
حال با اجرای برنامه هایتان متوجه میشوید همه چیز درست شده است
نکته :
حتما باید (1 Arabic(10 را Remove بکنید تا همه چیز درست شود

binyaz2003
دوشنبه 27 مهر 1383, 20:36 عصر
با سلام و خوش آمدگویی شما به این بخش
با تشکر از راه حلتون اگر یک جستجو در این بخش می کردید حتما پیدا می کردید قبلا بحث شده و راه حلشم مشخص
امیدوارم ناراحت نشید :sunglass:

س.حمیدیانفر
دوشنبه 27 مهر 1383, 22:07 عصر
سلام
و خسته نباشید
دوستان اگه ممکنه یه راحی پیدا کنیم که این کارها رو خود برنامه موقع نصب یا در هر دفعه اجرا انجام بده
مثلا شاید با دستکاری رجیستری ویندوز که میشه از طریق برنامه انجام بشه این کار رو انجام داد
:متفکر: :متفکر: :متفکر:

binyaz2003
دوشنبه 27 مهر 1383, 22:38 عصر
منکه دور وقتی مطرح کردم اما...

naderigh
دوشنبه 04 آبان 1383, 13:04 عصر
با سلام و تشکر
بسیار عالی بود دست شما درد نکنه
مشکل right to left بر طرف گردید ولی در فارسی نمودن کی بورد مشکل دارم البته با تابع lnRetCode = LoadKeyboardLayout('00000405', 1 )
شما چطور
لطفا راهنماپی فرماپید :flower:

naderigh
دوشنبه 04 آبان 1383, 13:06 عصر
با سلام و تشکر
بسیار عالی بود دست شما درد نکنه
مشکل right to left بر طرف گردید ولی در فارسی نمودن کی بورد مشکل دارم البته با تابع lnRetCode = LoadKeyboardLayout('00000405', 1 )
شما چطور
لطفا راهنماپی فرماپید :flower:

binyaz2003
سه شنبه 05 آبان 1383, 10:09 صبح
سلام


Declare Integer ActivateKeyboardLayout In win32api Integer,Integer
DECLARE LONG LoadKeyboardLayout IN WIN32API STRING pwszKLID,INTEGER Flags
*gotfocus
ActivateKeyboardLayout(1025,0)
lnRetCode = LoadKeyboardLayout('00000429', 1 )
*lostfocus
ActivateKeyboardLayout(1033,8)
lnRetCode = LoadKeyboardLayout('00000409', 1)

کلا این دو تا تابع هستند یکیش برای ایکس پی و یکی برای بقیه بهتره از هر دو تا با هم استفاده بشه :sunglass:

ALI RAFFIE
پنج شنبه 07 آبان 1383, 10:34 صبح
تابع