View Full Version : سوال: مشكل در ويندوز سون
lm48390
شنبه 27 شهریور 1389, 07:21 صبح
با سلام و خسته نباشيد
آيا براي استفاده از برنامه هايي كه با ويژوال فاكس نوشته مي شوند بايد تنظيمات خاصي را انجام داد تا در ويندوز سون اجرا شود؟ ايا اين تنظيمات در ويندوز سون نيز وجود دارد؟
من برنامه اي نوشته ام ولي در ويندو ز سون پيغام خطا نمايش داده مي شود و ميگويد بانك را نمي توانم باز كنم يا پيغام fontvharset . من تمامي فونت ها را Tahoma ,fontcharset را روي عربي تنظيم كردم.
از راهنماييتان ممنون.
binyaz2003
شنبه 27 شهریور 1389, 17:23 عصر
اگر فقط خطاي Charset ميدهد شما در رايانه مقصد که برنامه تان را نوشته و کامپايل کرده ايد از فونتي استفاده کرديد که در رايانه اي که برنامه رو اجرا ميکنيد وجود نداره و بايد اون فونت رو نصب کنيد.اگر اسم فونت رو نميدونيد در خطايي که ميده يک شماره رکورد ميده به شما که اگر فرم باشه فايل scx رو باز کنيد و به رکورد مورد نظر بريد و فيلد فونت رو ببينيد چي هست همون رو بايد نصب کنيد.
lm48390
یک شنبه 28 شهریور 1389, 09:53 صبح
با سلام و عرض تشكر
مشكل همين است كه شما اشاره كرديد. چگونه مي توان فونت را در داخل برنامه اجرايي در ويندوز سون نصب كرد؟ آيا با دستور كپي ساده در برنامه در ربشه فونت كافي است. اشاره به ويندوز سون شد چون راست چين شدن برنامه با SETRTL.EXE در ويندوز XP درست بود ولي در سون مشكل برطرف نشد.(راست چين شدن در گريد)
binyaz2003
یک شنبه 28 شهریور 1389, 15:02 عصر
در مورد نصب فونت بارها بحث شده جستجو کنيد ، شما بايد براي برنامه خود نصاب(setup) بسازيد.
در مورد فارسي ور ويندوز 7 دوستاني که کار کرده اند لطف کنند توضيح دهند.
javad_hosseiny
شنبه 03 مهر 1389, 13:36 عصر
سوای بحث نصب فونت که جناب بی نیاز اشاره فرمودند
در تمامی ویندوزها شما باید در مورد نکته پشتیبانی از زبان فارسی (در مورد ویژوال فاکس، ست بودن عربیک نیز اضافه می شود) در مورد ویندوز باید دقت داشته باشید
با توجه به توضیح شما که اشاره کردید من از فونت تاهوما استفاده کردم و ارور شما مربوط به کدپیچ فونت می باشد احتمالا اصلا در مورد ویندوز سون شما زبان فارسی (یا عربی) به عنوان زبانی که در بحث یونی کد ویندوز ساپورت شود انتخاب نشده است
تفاوت در مورد ویندوز xp و seven (یا Vista) در مورد تغییر در محل اشاره به زبان یونی کد ویندوز می باشد.
مسیر ست کردن زبان یونی کد در مورد ویندوز XP:
ControlPanel - Regional And Languauge Option - Advance
و تغییر زبان یونی کد ویندوز به زبان فارسی (در ابتدا جهت پشتیبانی از کاراکترست فارسی در فونتهای ویندوز) و سپس عربی (جهت صحیح عمل کردن RightToLeft در آبجکت و ...)
و در مورد ویندوز Seven , Vista:
ControlPanel - Regional And Languauge Option - Administrative - ChangeSystemLocale
می باشد
تصویر نمونه:
http://helpful-hints.info/wp-content/uploads/2010/01/language-for-non-unicode-programs.png
javad_1349
سه شنبه 20 مهر 1389, 09:50 صبح
سوای بحث نصب فونت که جناب بی نیاز اشاره فرمودند
در تمامی ویندوزها شما باید در مورد نکته پشتیبانی از زبان فارسی (در مورد ویژوال فاکس، ست بودن عربیک نیز اضافه می شود) در مورد ویندوز باید دقت داشته باشید
با توجه به توضیح شما که اشاره کردید من از فونت تاهوما استفاده کردم و ارور شما مربوط به کدپیچ فونت می باشد احتمالا اصلا در مورد ویندوز سون شما زبان فارسی (یا عربی) به عنوان زبانی که در بحث یونی کد ویندوز ساپورت شود انتخاب نشده است
تفاوت در مورد ویندوز xp و seven (یا Vista) در مورد تغییر در محل اشاره به زبان یونی کد ویندوز می باشد.
مسیر ست کردن زبان یونی کد در مورد ویندوز XP:
ControlPanel - Regional And Languauge Option - Advance
و تغییر زبان یونی کد ویندوز به زبان فارسی (در ابتدا جهت پشتیبانی از کاراکترست فارسی در فونتهای ویندوز) و سپس عربی (جهت صحیح عمل کردن RightToLeft در آبجکت و ...)
و در مورد ویندوز Seven , Vista:
ControlPanel - Regional And Languauge Option - Administrative - ChangeSystemLocale
می باشد
تصویر نمونه:
http://helpful-hints.info/wp-content/uploads/2010/01/language-for-non-unicode-programs.png
باسلام
پيرو مطالب ارزنده اي كه اشاره شد من خود چندين مرحله را براي اين حالت يادداشت نمودم
1- تمامي فونت هاي مورد نياز موجود xp را در فولدرفونت seven يا vista نصب ميكنيم البته قبلا بايد فونتها داشته باشيم
2- همانطور كه آقاي حسيني فرمودند در قسمت change systrm locale به arabic saudi تغيير دهيد
3- درقسمت formats بايد persian انتخاب شود
4- در نهايت درقسمت زبان ويندوز ar پاك شود
نكته پاياني اينكه در زمان نصب ويندوز ويستا يا سون بايد زبان پرشين را نيز نصب كرده باشيم
binyaz2003
سه شنبه 31 خرداد 1390, 10:54 صبح
دوستانی که برنامه هاشون رو در ویندوز 7 اجرا کردید، ویژوال فاکس پرو 8 هم استفاده کردید یا همه 9 بوده؟
من یک برنامه با ویژوال فاکس پرو 8 دارم که از بد روزگار باید روی ویندوز هفت اجرا بشه تنظیمات ذکر شده در بالا رو انجام دادم. راست به چپ مشکل نداره اما tooltip ها درست نمایش داده نمیشن همینطور پیش نمایش چاپ هم فارسی نشان نمیده
یک کنترل tree هم دارم که اونم فارسی نشون نمیده
کسی با این مشکلات تجربه ای داشته؟
rezamim
پنج شنبه 30 تیر 1390, 10:38 صبح
سلام
من که هنوز با VFP7 میسازم و روی ویندوز سون مشکلی نداشتم. البته با ویستا خیلی مشکل داشتم و کلا بیخیالش شدم
naderigh
چهارشنبه 04 آبان 1390, 13:07 عصر
براي نصب سرويس پكهاي ورژنهاي مختلف و براي فارسي كردن صفحه كليد بايستي چكار كرد چون نصب سرويس پك خطا ميگيره و با برنامه keymode("FA") نيز كاري انجام نميشود
gh_khajehzade
چهارشنبه 04 آبان 1390, 14:46 عصر
براي صفحه كليد از توابع API كه دوستان عزيز گذاشتن استفاده كنيد.اگه پيدا نكردين بگين.
naderigh
پنج شنبه 05 آبان 1390, 08:53 صبح
دوست عزيز پيدا نكردم لطفا راهنمائي بفرمائيد و براي سريس پك هم ...
gh_khajehzade
پنج شنبه 05 آبان 1390, 10:45 صبح
براي فارسي كردن مثلا يك textbox در loadf فرم
Declare Integer ActivateKeyboardLayout In win32api Integer,Integer
DECLARE LONG LoadKeyboardLayout IN WIN32API STRING pwszKLID,INTEGER Flags
در gotfocus مربوط به textbox
ActivateKeyboardLayout(1025,0)
lnRetCode = LoadKeyboardLayout('00000429', 1 )
در lostfocus مربوط به textbox
ActivateKeyboardLayout(1033,8)
lnRetCode = LoadKeyboardLayout('00000409', 1 )
البته اگر ميخواستي بعد از خروج از كنترل(lostfocus ) صفحه كليد به انگليسي تبديل شودكد lostfocus وارد ميكني.همچنين در windows7 هم مانند xp بايد در regional زبان arabic رو انتخاب كني.
در مورد سرويس پك متاسفانه اطلاعات ندارم.
naderigh
شنبه 07 آبان 1390, 07:38 صبح
شما اين كد را داريد
منظورم همان keymode است
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.
gh_khajehzade
شنبه 07 آبان 1390, 09:17 صبح
تو 7 كار كردم(برايtextbox ) مشكلي نداره.البته32 تو 64 تست نكردم.
naderigh
یک شنبه 08 آبان 1390, 07:46 صبح
اقا درست شد ممنون از لطف شما
با اين كار تعقير اين تيكه از كد
Case "WINDOWS 6" $ Upper(OS())
naderigh
شنبه 09 اردیبهشت 1391, 13:17 عصر
البته ویندوز 7 با فیلتر نمودن و نمایش ان در گرید و یا کمبوباکس مشکل دارد فقط یک رکورد را نمایش میدهد دوستانی که بیشتر کار کردند لطفا همکاری نمایند
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.