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

فارسي شدن جهت تايپ

mehrdad1355

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
2 فوریه 2004
نوشته‌ها
3,971
لایک‌ها
30
سن
48
به نقل از Asef :
اينجا چجوري ميشه كد گذاشت!؟
چپ به راست باشه؟
کافیه از تو ادتور سمت راست ایکون 4 روم رو کلیک کنی(موس رو روش ببری میزنه-وارپ کد تگ -ا--روند تکس--)
کد:
Private Const LANG_EN_US As String = "00000409" 'English
Private Const LANG_DU_STD As String = "00000407"
Private Const LANG_FR_STD As String = "0000040C"
Private Const LANG_Ar_As As String = "00000401" 'Arabic
Private Const Lang_FََََA_IR As String = "00000429" 'Farsi

Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

Private Sub Form_Load()
SetKbLayout Lang_FََََA_IR
End Sub

Private Function SetKbLayout(strId As String) As Boolean
Dim strLayoutId As String

strLayoutId = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName strLayoutId
If (strLayoutId = (strId & Chr(0))) Then
SetKbLayout = True
Else
strLayoutId = String(KL_NAMELENGTH, 0)
strLayoutId = LoadKeyboardLayout((strId & Chr(0)), KLF_ACTIVATE)
If IsNull(strLayoutId) Then
SetKbLayout = False
Else
strLayoutId = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName strLayoutId
If strLayoutId = (strId & Chr(0)) Then
SetKbLayout = True
Else
SetKbLayout = False
End If
End If
End If
End Function
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
شرمنده ديگه نصف شب بود ...!

Private Const KL_NAMELENGTH = 9
Private Const KLF_ACTIVATE = &H1

ولي 98 رو بيخيال شو!. بعيد ميدونم اونجا جواب بده. ولي نميدونم، كلا توي 98 و ام اي برنامه نويسي نكردم.....

مهرداد جان دستت درد نكنه.
 

mehdi0016

کاربر تازه وارد
تاریخ عضویت
12 نوامبر 2004
نوشته‌ها
27
لایک‌ها
0
توی 98 یه کدی بود که زبان بعدی رو لود میکرد :
اگه درست یادم مونده باشه ...؟
sendkeys "^+"​
 

nima178

Registered User
تاریخ عضویت
2 سپتامبر 2004
نوشته‌ها
882
لایک‌ها
12
محل سکونت
همان جایی که اینجا نیست
آقا ايندفعه بدون ارور اجرا نشد!
اگر كسي لطف كنه اينو بنويسه
بعد توي سايتش كل اپلي كي شنو قرار بده تا ما دنلود كنيم
هم به درد همه مي خوره هم ثوابي مي برين
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
به نقل از nima178 :
آقا ايندفعه بدون ارور اجرا نشد!
اگر كسي لطف كنه اينو بنويسه
بعد توي سايتش كل اپلي كي شنو قرار بده تا ما دنلود كنيم
هم به درد همه مي خوره هم ثوابي مي برين
مشكلت چيه كه نوي 98 كار ميكني؟
 

nima178

Registered User
تاریخ عضویت
2 سپتامبر 2004
نوشته‌ها
882
لایک‌ها
12
محل سکونت
همان جایی که اینجا نیست
آخه اين انتر ديو تو اكس پي كار نمي كنه(لوكال هاست رو هر كار مي كنم نمي شناسه)
بعدم من با اكس پي انترنت مي رم با 98 برنامه مي نويسم
تا اولا برنامه براي همه كار كنه
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
ببين نيما جان اين دستور SendKeys دكمه هاي كي برد رو شبيه سازي ميكنه.

شما يه فرم و يه باتون اضافه كن
داخل كد باتون بنويس ("+%")SendKeys

% يعني آلت
+ يعني شيفت

كنترل هم ميشه ^

توي اكس پي هم جواب ميده. 98 رو خودت امتحان كن...
 

nima178

Registered User
تاریخ عضویت
2 سپتامبر 2004
نوشته‌ها
882
لایک‌ها
12
محل سکونت
همان جایی که اینجا نیست
من يه سوال اساسي دارم!؟
آيا اين كدها در ويندوز انگليسي(كه فارسي نشده نمي شه توش فارسي نوشت) كار مي كنه يا نه
فكر نكنم كار كنه
چون شما دارين زباني كه هست عوض مي كنين
آيا تا حالا همچين كدي ديدن كه بشه در ويندوز انگليسي بشه تو تكس باكس فارسي نوشت
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
به نقل از nima178 :
من يه سوال اساسي دارم!؟
آيا اين كدها در ويندوز انگليسي(كه فارسي نشده نمي شه توش فارسي نوشت) كار مي كنه يا نه
فكر نكنم كار كنه
چون شما دارين زباني كه هست عوض مي كنين
آيا تا حالا همچين كدي ديدن كه بشه در ويندوز انگليسي بشه تو تكس باكس فارسي نوشت
شرمندتم ديگه!!!
معلومه كه كار نميكنه!!
 

nima178

Registered User
تاریخ عضویت
2 سپتامبر 2004
نوشته‌ها
882
لایک‌ها
12
محل سکونت
همان جایی که اینجا نیست
به نقل از nima178 :
يه راهنماي كه مي توني بكني نمي توني؟
من از اول منظورم همين بود
بحر در كوزه مات گرد جهان مي گريدم!
(لطفا به صفحه اول برگرديد و جملات را مقايسه كنيد!)
برای تبديل صفحه کليد به فارسی در ويژوال بيسيک 6 :

ابتدا تابع زير را تعريف کنيد :

Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long

ويندوز اکس پی و 2000 که فارسی نصب شده باشد .

Dim xx As Long
xx = LoadKeyboardLayout("00000429", 1)



ويندوز پارسا 99 و امثال آن

Dim xx As Long
xx = LoadKeyboardLayout("00000401", 1)

کد 401 برای عربی عربستان است که در ويندوز پارسا 99 به جای فارسی به کار می رود .

بر روی ويندوز ME تست نشده است .



تبديل صفحه کليد به فارسی در ويژوال بيسيک دات نت :

ابتدا تابع زير را تعريف کنيد :

Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Integer) As Integer



در ويندوز اکس پی و 2000

Dim a as Integer

a = LoadKeyboardLayout("00000429", 1)


منبع حامد بنايي
http://www.hamedbanaei.com/articles/loadkeyboard.asp
چندين وقت پيش!
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
خب كه چي؟ بچه ها همينو گفتن ديگه!!
ضمنا من بعيد ميدونم توي ويندوز انگليسي (علي الخصوص 98) بشه همين جوري فارسي نوشت
اگه ميشه بگيد مام ياد بگيريم!!
 

nima178

Registered User
تاریخ عضویت
2 سپتامبر 2004
نوشته‌ها
882
لایک‌ها
12
محل سکونت
همان جایی که اینجا نیست
با استفاده از نكته ي حامد بنايي و كد شما كار كرد
من بايد يه بار ديگه از شما كه زحمت كدو كشيدي تشكر كنم
و يه بار هم يادي از حامد بنايي بكنم برنامه نويسي مردمي ساده كه با ساختار برنامه ها به خوبي آشنايي دارد
و برعكس بعضي ها به افرادي كه براش ميل ميزنن احترام قائله
زماني كه بعضي ها وبلاگ مي نگاريدن ايشان از معدود طراحان حرفه اي سايت بود
 

ALICIVIL

کاربر تازه وارد
تاریخ عضویت
4 ژانویه 2004
نوشته‌ها
43
لایک‌ها
1
کد:
This is the easiest to use ActiveX, You've ever seen. You 
should simply drag it in your Form, Then Add your controls 
to your form, such as TextBox(s), Grid(s), DBGrid(s) and 
any other controls. Now it is the time of writing pice of 
code to able write Farsi in your controls. Let me show 
you an example:

Register FarsiMaker.OCX with Regsvr32.exe. You can find this file 
from System directory of you Windows.

Make a new StandardEXE project and Drag a TextBox in your form. 
TextBox will be named to Text1 automatically. 

Right click on toolbox and select Components. Select FarsiMaker from 
that list and click OK. Double click on the Text1 and write 
follow lines:

-8<--- CUT FROM HERE ---8<------------------------------

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    PersianMaker1.KeyDown_Preview Text1, KeyCode, Shift
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
    PersianMaker1.KeyPress_Preview Text1, KeyAscii
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    PersianMaker1.KeyUp_Preview Text1, KeyCode, Shift
End Sub

-8<--- CUT FROM HERE ---8<------------------------------

Now it's the time to set some properties of your controls.

Set CodePage property of PersianMaker1 to IranSystem.(For an example)
Set StartupLanguage property of PersianMaker1 to Persian.

Set Font property of Text1 to IranSystem.
Set Alignment property of Text1 to Right.

That's it! If you run your app, you will can write Farsi!!!!


***** [Notes] *****

There are one or two Fonts for each codepage as follow:

Armaghan01.ttf   ............... Armaghan CodePage.
Iransys.fon      ............... IranSystem CodePage.
Iransystem01.ttf ............... IranSystem CodePage.
Kimias07.ttf     ............... SinaSoft CodePage.
Koodamaz.ttf     ............... Mazar CodePage.
Koodb_sf.ttf     ............... Mazar CodePage.
Pwllaleh.ttf     ............... Parwin CodePage.
http://djalicivil.mybesthost.com/FarsiMaker.ocx
http://djalicivil.mybesthost.com/IRANSYS.FON


اميدوارم به دردتون بخوره
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
40
به نقل از daftarekhaterat :
چه جوري و كجا اين كد رو وارد كنم؟!
HTML:
<input type="text" name="T1" size="5" value="20">
شما این رو توی قسمت HTML بپرس حتما یکی میاد جوابت می ده(کسی نیومد خودم میاک جوابت می دم :) )
 
بالا