PDA

View Full Version : تابع فارسی ساز



Mahdi_20
چهارشنبه 26 مرداد 1384, 09:35 صبح
من یه فارسی ساز بصورت زیر نوشتم.. ولی نمیدونم اصلا این کار درسته یا نه..این کد تو ویندوز خودم درست کار میکنه ولی تو یه ویندوز دیگه امتحان کردم درست کار نمیکرد..فکر کنم باید بصورت UniCode ذخیره بشه..لطف کنید منو راهنمایی کنید.
راستی اگه یه کامپوننت خوب سراغ دارین معرفی کنین

بابک زواری
چهارشنبه 26 مرداد 1384, 11:15 صبح
من که چیزی نمیبینم
سورسش یا کدش کجاست ؟

Mahdi_20
پنج شنبه 27 مرداد 1384, 10:23 صبح
یعنی کسی تا حالا از textBox های فارسی تو برنامش استفاده نکرده..؟؟

Peyman_Ranjbar
جمعه 28 مرداد 1384, 21:05 عصر
حداقل با unicode اونا رو ذخیره کن تا بشه دید

jannati
دوشنبه 18 مهر 1384, 13:48 عصر
دوست عزیز میشه این کلاس mclassرو هم بذارید!

Mahdi_20
سه شنبه 19 مهر 1384, 01:48 صبح
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
myClass my=new myClass();
int i;
string str="";
if(langBar==1)
{
if(!char.IsControl(e.KeyChar))
{
e.Handled=true;
i=textBox1.SelectionStart;

str=my.chFarsi(e.KeyChar).ToString();
textBox1.Text=textBox1.Text.Insert(textBox1.Select ionStart,str);
textBox1.SelectionStart=i+1;
}
}
}

توی برنامه اصلی از این کد برای هر keypress
توی کلاستم این کد رو بزار


public char chFarsi(char key)
{
string fa="٠١٢٣٤٥٦٧٨٩آءبپتثجچحخدذرزژسشصضط ظعغفقکگلمنوهی ";
string Fa="٠١٢٣٤٥٦٧٨٩ائبپتثجچحخدذرزژسشصضط ظعغفقکگلمنوهی ";
string en="0123456789hmf`je[]ponbvc\\sawqxzuytr;'glk,id ";
string En="0123456789HMF`JE[]PONBVC\\SAWQXZUYTR;'GLK,ID ";

for(int i=0;i<=43;i++)
{
if(key==en[i])
return Fa[i];
}

for(int j=0;j<=43;j++)
{
if(key==En[j])
return fa[j];
}
return (char)0;
}

jannati
سه شنبه 19 مهر 1384, 12:39 عصر
دوست عزیز ممنون از توجهتون