PDA

View Full Version : بدست آوردن کد اسکی در سی شارپ



daneshjo90
سه شنبه 03 بهمن 1391, 11:25 صبح
با سلام
از دوستان میخواستم بپرسم کسی هست که بدونه چطور کد اسکی کلید های صفحه کلید رو به دست آورد ؟
برای زبان فارسی و انگلیسی میخواستم

یعنی از حروف "الف" تا "ی" فارسی و حروف انگلیسی "A" تا "Z" و "a" تا "z"

فک کنم منظورمو فهمیده باشید

تشکر میکنم از همه اساتید گرامی

موفق باشید

mehran788
سه شنبه 03 بهمن 1391, 11:37 صبح
char nk = Convert.ToChar(text1.text);
این رو امتحان کن

daneshjo90
سه شنبه 03 بهمن 1391, 12:00 عصر
ممنون داداش درست کار میکنه فقط یه مشکل کوچولو دارم اونم اینکه
من میخوام هر حرفی که تو textbox1 نوشته میشه به فارسی تبدیل بشه

من از کد زیر استفاده کردم برای تبدیل یک حرف ولی بقیش کار نکرد

میشه یه نگاهی بندازید ؟

char nk = Convert.ToChar(textBox1.Text);
if (nk == 'A' || nk == 'a')
textBox1.Text = "ش";

danialafshari
سه شنبه 03 بهمن 1391, 12:14 عصر
سلام
این کد باعث میشه کل موحودی textBox حذف بشه و کاراکتر بیاد
باید از متد Replace استفاده کنید:
بفرمائید:
textBox1.Text= textBox1.Text.Replace('a', 'ش');
موفق باشید

daneshjo90
سه شنبه 03 بهمن 1391, 17:52 عصر
ممنون از جوابت
همونی بود که من میخواستم
دستت مرسی

daneshjo90
سه شنبه 03 بهمن 1391, 18:03 عصر
داداش شرمنده یه مشکل کوچولو پیش اومد که حروف رو به هم چسبیده نشون میده

مثل شکل زیر ولی من میخوام مثل حروف تکست باکس پایینی نشون بده

میشه راهنمائی کنید ؟

98875

ashkan1234
سه شنبه 03 بهمن 1391, 18:49 عصر
تکست باکس بالایی رو Right to left اش رو true کن!
انشالا حل میشه!

danialafshari
سه شنبه 03 بهمن 1391, 18:53 عصر
عکس واضح نیست
اگه ممکنه سورس رو بذارید یا zoom کنید

daneshjo90
چهارشنبه 04 بهمن 1391, 01:38 صبح
کل سورس رو که تو چنچ تکست باکس نوشتم اینه

private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
textBox1.Text = textBox1.Text.Replace('a', 'ش');
textBox1.Text = textBox1.Text.Replace('b', 'ذ');
textBox1.Text = textBox1.Text.Replace('c', 'ز');
textBox1.Text = textBox1.Text.Replace('d', 'ی');
textBox1.Text = textBox1.Text.Replace('e', 'ث');
textBox1.Text = textBox1.Text.Replace('f', 'ب');
textBox1.Text = textBox1.Text.Replace('g', 'ل');
textBox1.Text = textBox1.Text.Replace('h', 'ا');
textBox1.Text = textBox1.Text.Replace('i', 'ه');
textBox1.Text = textBox1.Text.Replace('j', 'ت');
textBox1.Text = textBox1.Text.Replace('k', 'ن');
textBox1.Text = textBox1.Text.Replace('l', 'م');
textBox1.Text = textBox1.Text.Replace('m', 'ئ');
textBox1.Text = textBox1.Text.Replace('n', 'د');
textBox1.Text = textBox1.Text.Replace('o', 'خ');
textBox1.Text = textBox1.Text.Replace('p', 'ح');
textBox1.Text = textBox1.Text.Replace('q', 'ض');
textBox1.Text = textBox1.Text.Replace('r', 'ق');
textBox1.Text = textBox1.Text.Replace('s', 'س');
textBox1.Text = textBox1.Text.Replace('t', 'ف');
textBox1.Text = textBox1.Text.Replace('u', 'ع');
textBox1.Text = textBox1.Text.Replace('v', 'ر');
textBox1.Text = textBox1.Text.Replace('w', 'ص');
textBox1.Text = textBox1.Text.Replace('x', 'ط');
textBox1.Text = textBox1.Text.Replace('y', 'غ');
textBox1.Text = textBox1.Text.Replace('z', 'ظ');
textBox1.Text = textBox1.Text.Replace('`', 'پ');
textBox1.Text = textBox1.Text.Replace('|', 'ژ');
textBox1.Text = textBox1.Text.Replace('[', 'ج');
textBox1.Text = textBox1.Text.Replace(']', 'چ');
textBox1.Text = textBox1.Text.Replace('"', 'گ');
textBox1.Text = textBox1.Text.Replace(';', 'ک');

}
catch { }
}

درون try قرار دادم چون میخوام وقتی دکمه backspace و delete رو میزنم خطا نده

ممنون میشم کمکم کنید
موفق باشید

daneshjo90
چهارشنبه 04 بهمن 1391, 01:40 صبح
ببینین من میخوام برنامه ای بنویسم که بدون نیاز به عوض شدن زبان صفحه کلید بشه فارسی تایپ کرد
حتی اگه زبان صفحه کلید فارسی باشه یا انگلیسی
یه جور جابجا کردن حروف انگلیسی با حروف فارسی معادل اونها روی صفحه کلید هستش

تونستم منظورمو برسونم یا نه ؟

mehran788
چهارشنبه 04 بهمن 1391, 06:56 صبح
این رو هم بگم گخ می تونی با یه خط کد وقتی کاربر روی تکست باکست کلیک کرد زبان رو با فارسی برگردونی و این همه درد سر نکشی.

danialafshari
چهارشنبه 04 بهمن 1391, 07:52 صبح
سلام دوست عزیز
برای این کار پیشنهاد می کنم از کد زیر استفاده کنی :
private void textBox1_Enter(object sender, EventArgs e)
{
System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);
}
موفق باشی

daneshjo90
چهارشنبه 04 بهمن 1391, 12:44 عصر
سلام دوست عزیز
برای این کار پیشنهاد می کنم از کد زیر استفاده کنی :

private void textBox1_Enter(object sender, EventArgs e)
{
System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);
}




موفق باشی
این رو هم بگم گخ می تونی با یه خط کد وقتی کاربر روی تکست باکست کلیک کرد زبان رو با فارسی برگردونی و این همه درد سر نکشی.
ممنون دوست عزیز ولی من اینطوریشو نمیخوام وگرنه خودم اینطوری رو بلد هستم و میتونم بنویسم

بازم ممنون

zeinab.r
پنج شنبه 12 فروردین 1395, 15:04 عصر
با سلام چطوری میشه کد معادل(عدد) هر کاراکتری که ازtextboxوارد شده رو چاپ کنه؟؟
ممنون میشم اگه جواب بدید.

shahryars
پنج شنبه 12 فروردین 1395, 16:12 عصر
یه جوری باید از آخر بیای اول به این صورت که تعداد حروف منهای 1 میشه حرف آخر
اول اونو replace کنه