PDA

View Full Version : آیا سیستم عامل شما زبان فارسی را بطور کامل پشتیبانی میکند ؟



mkbo_webmaster
پنج شنبه 31 فروردین 1385, 01:30 صبح
من یه تابع به زبان VB6 نوشتم که میتونه با بکار گیری توابع API تشخیص بده که آیا سیستم عامل شما بطور کامل فارسی رو پشتیبانی میکنه یا نه ؟
که با Windows me به بالا کار میکنه.
لازم به ذکره که بخاطر نوشتن این کد سه تا برنامه جداگانه نوشتم که کدهای فارسی رو پیدا کنم و حسابی جونم در اومد. امیدوارم که برای توسعه نرم افزارهای دوستان مفید واقع بشه.




Public Function Is_Your_OS_Full_Farsi_Support() As Boolean
Dim Buffer As String, Retval As String
Dim GetInfo As String
Dim CYINFO As Integer
Dim Info As Long

For CYINFO = 1 To 11
Select Case CYINFO
Case 1
Info = LOCALE_SENGLANGUAGE
Case 2
Info = LOCALE_SABBREVLANGNAME
Case 3
Info = LOCALE_IDEFAULTLANGUAGE
Case 4
Info = LOCALE_IDEFAULTCOUNTRY
Case 5
Info = LOCALE_IDEFAULTCODEPAGE
Case 6
Info = LOCALE_SENGCOUNTRY
Case 7
Info = LOCALE_SABBREVCTRYNAME
Case 8
Info = LOCALE_ILANGUAGE
Case 9
Info = LOCALE_SLANGUAGE
Case 10
Info = LOCALE_ICOUNTRY
Case 11
Info = LOCALE_SCOUNTRY
End Select


Buffer = String$(255, 0)
Retval = GetLocaleInfo(LOCALE_USER_DEFAULT, Info, Buffer, Len(Buffer))
If Retval > 0 Then
GetInfo = Left$(Buffer, Retval - 1)
Else
GetInfo = ""
End If

Select Case CYINFO
Case 1
If GetInfo <> "Farsi" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 2
If GetInfo <> "FAR" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 3
If GetInfo <> "0429" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 4
If GetInfo <> "981" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 5
If GetInfo <> "720" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 6
If GetInfo <> "Iran" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 7
If GetInfo <> "IRN" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 8
If GetInfo <> "0429" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 9
If GetInfo <> "Farsi" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 10
If GetInfo <> "981" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
Case 11
If GetInfo <> "Iran" Then
Is_Your_OS_Full_Farsi_Support = False
Exit Function
End If
End Select

Next CYINFO

Is_Your_OS_Full_Farsi_Support = True
End Function










/

mahdi_farhani
پنج شنبه 31 فروردین 1385, 05:08 صبح
دوست عزیز خیلی ممنون خیلی جالب بود ....
حالا چطوری میشه اگه پشیتیبانی نمی کرد برنامه خودش اونو نصب کنه ..

mkbo_webmaster
پنج شنبه 31 فروردین 1385, 11:34 صبح
اینکار خیلی دردسر داره.
کسی راه درست اون رو نمیدونه حتی برنامه نویسهای حرفه ای !!!

البته اگه شما فقط اطلاعاتی رو که در Registry ثبت میشه. با برنامه های جاسوسی بفهمید که من هم این کار رو قبلا کردم باز فایده نداره چون اطلاعات فایلهای فارسی رو هم لازم داره که ما نمیدونیم کدوم فایلهای ویندوز در این حالت تغییر میکنن و کدوما کم یا اضافه میشن.

اگه همه چیز بدون سی دی حل میشد. میشد با Registry یه جوری حلش کرد. البته اگه قبلا سی دی رو گذاشته باشید، فارسی کرده باشید و بعد انگلیسی کنید در دفعه بعدی که میخواید فارسی کنید دیگه سی دی نمیخواد که میشه در این حالت از تغییر رجیستری استفاده کرد، من یه برنامه سودمند در مورد جاسوسی عملیات رجیستری دارم که داخل یه تاپیک جدید میزارم برای دانلود اگه خواستید برش دارید و حالشو ببرید.

لینک تاپیک مورد نظر من اینه :

http://www.barnamenevis.org/forum/showthread.php?t=43648





/

MSsoftCO
یک شنبه 13 خرداد 1386, 13:29 عصر
دوست عزیز ببخشید این تاپیک رو بعد از یک سال باز میکنم
اول از همه تشکر برای نوشتن این کد و دوم یه سوال
آیا هنوز هم راهی برای نصب زبان فارسی به صورت اوتوماتیک پیدا نکردین؟
راسی چه جوری میشه کد بالا رو در برنامه خودمون استفاده کنیم
فکر کنم خطوطی که دستورات API رو فراخونی کردین رو در کد نزاشتین
اگه طرز به کار گیری کد بالا را بنویسید از شما ممنون میشم
مرسی

MSsoftCO
پنج شنبه 17 خرداد 1386, 05:26 صبح
کسی از بچه ها نیست که بتونه به من در این رابطه کمک کنه؟
مرسی از دوستان

Hossein Bazyan
پنج شنبه 17 خرداد 1386, 10:07 صبح
سلام
یکی از دوستان مشغول نوشتن برنامه ای برای نصب فارسی روی سیستم بود که تاپیک شلوغی هم شده بود و تا جایی که من میدانم خوب هم پیشرفت کرده بود.
برنامه ای هم با دلفی نوشته بود که تقریبا 60% جواب میداد حالا به کجا رسیده نمیدانم

MSsoftCO
پنج شنبه 17 خرداد 1386, 17:55 عصر
سلام دوست عزیز
لطف می کنید لینک تاپیک رو بدین
مرسی

Hossein Bazyan
جمعه 18 خرداد 1386, 01:08 صبح
سلام
دقیقا یادم نیست اما فکر کنم مال جناب Yavari بود

CodeMasterX
جمعه 18 خرداد 1386, 02:04 صبح
ممنون، کد خوب و مفیدی بود.
من هم خودم حدود 4 ماه روی این نصب ساپورت فارسی بصورت اتوماتیک وقت گذاشتم و نتیجه مشابه گفته های دوستان بود.همچین کازی احتمالا (خیلی زیاأ!) امکان پذیر نیست.چون فقط تنظیمات رجیستری نیست که ست میشن، بلکه کلی فایل هم به ویندوز اضافه میشن و بعضی فایل ها هم به روز رسانی میشن، که لیست این فایل ها مشخص نیست.هر چی هم ما تو سر خودمون زدیم و این ور و اون ور گشتیم چیزی دست گیرمون نشد، فعلا تنها راه همون نصب فارسی توسط سی دی ویندوز هست.

MSsoftCO
جمعه 18 خرداد 1386, 03:28 صبح
رفیق این کد رو من نمیتونم استفاده کنم
ارور میده
اگه میشه لطف کنید دقیقا بگید که باید چه جوری از این کد بالا استفاده کرد
مرسی