ورود

View Full Version : سوال: مشکل نصب برنامه های فارسی



edifier3
یک شنبه 04 مرداد 1388, 14:36 عصر
من یه برنامه نوشتم که توش وکلیدو لیبلهای فارسی زیاد به کار رفته.
این برنامه رو با instal sheild به صورت نصبی در آوردم.
وقتی این برنامه روی کامپیوتر مقصد نصب می کنم. متن های فارسی به درستی نمایش داده نمیشه.
برای حل مشکل از مسیر زیر در ویندوز می توان اقدام کرد:
Control Panel/Regional and Language Option/Advanced Tab/Select farsi
در بخش تنظیمات زبان ویندوز ، سربرگ سوم ، انتخاب زبان فارسی

با انجام این کار همه متن های فارسی برنامه به درستی نمایش داده میشوند.
اما با توجه به اینکه ممکن است کاربری نتواند این تنظیمات را اعمال کند، میخوام خود برنامه این کار رو انجام بده.
آیا با API میشه ؟

sohrab o
یک شنبه 04 مرداد 1388, 16:32 عصر
Option Explicit

Private Const LOCALE_SSHORTDATE = &H1F
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

Dim lLocal As Long

sohrab o
یک شنبه 04 مرداد 1388, 16:33 عصر
Private Sub Command1_Click()
lLocal = GetSystemDefaultLCID()
If SetLocaleInfo(lLocal, LOCALE_SSHORTDATE, "dd/MM/yyyy") = False Then
'You can write your own handler in this area
End If
End Sub

Private Sub Form_Load()
Dim length As Long
Dim buf As String * 1024
lLocal = GetSystemDefaultLCID()
length = GetLocaleInfo(lLocal, LOCALE_SSHORTDATE, buf, Len(buf))
Text1.Text = Left$(buf, length - 1)
End Sub

این کد برای تغییر تنظیمات تاریخه ، حالا شاید با کمی تغییرات بتونی برای تنظیمات زبان هم بکار ببری
موفق باشی/

sohrab o
یک شنبه 04 مرداد 1388, 17:05 عصر
این هم یک نمونه دیگه که البته دقیق مناسب شما نیست.با این حال گذاشتم شاید بدرد شما یا دیگران بخوره