بدست آوردن کد اسکی در سی شارپ

در این جلسه قصد داریم به موضوع بدست آوردن کد اسکی در سی شارپ بپردازیم برنامه ای بنویسیم که ورودی را دریافت کرده و کد اسکی آن را نمایش دهد و همچنین کاربرد کد اسکی در نمایش های مختلف را با مثال های متنوع بینیم(کد اسکی : ﯾﮑﯽ از شیوه های رایج ﮐﺪﮔﺰاری ﺣﺮوف، ارﻗﺎم و ﻋﻼﻣﺖ ﻫﺎ اﺳﺘﻔﺎده از ﮐﺪﻫﺎی اسکی اﺳﺖ. کلمه اسکی (ASCII) مخفف و کوتاه شده ی عبارت ” Standard Code for Information Interchange ” می باشد که به معنای  ” استاندارد کد گذاری آمریکایی برای تبادل اطلاعات ” است .)

(تذکر:در جلسه اول با محیط ویندوز فرم آشنا شدیم و همچنین کار کردن با دستورات را در آموزش برنامه نویسی تحت کنسول آموزش دادیم لطفا اگر مبتدی هستید با این دو آموزش شروع کنید)

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

Label: متن “نمایش کد اسکی” در قسمت خصوصیات label قرار گیرد.

Textbox :رویداد Keypress آن را فعال می کنیم.

بدست آوردن کد اسکی در سی شارپ

نحوه کدنویسی

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{

//در این دستور هر نوع رشته یا عددی را وارد کنید کد اسکی آن را نمایش می دهد

label1.Text = ((int)e.KeyChar).ToString();

//یعنی هر کلیدی که از صفحه کلید فشار دادیم  e
}

برنامه را اجرا می کنیم و خروجی برنامه به شکل زیر است :

بدست آوردن کد اسکی در سی شارپ

 

برنامه ای بنویسید که داخل Textbox فقط اعداد وارد شوند و همچنین بتوان اعدا را پاک کرد؟

 

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

نوع event مربوط به textBox1 را در قسمت رویدادها، KeyPress انتخاب می کنیم.//

{

if (!((int)e.KeyChar>= 48 && (int)e.KeyChar<= 57|| (int)e.KeyChar == 8))

e.KeyChar = (char)27;
//یعنی یک کاراکتر پوچ است Esc معادل (char)27
}

برنامه ای بنویسید که داخل Textbox فقط اعداد و حروف فارسی تایپ شوند؟

private void textBox1_ KeyPress (object sender, KeyEventArgs e)

{
System.Globalization.CultureInfo Languge = new System.Globalization.CultureInfo(“fa-ir”);
InputLanguage.CurrentInputLanguage =InputLanguage.FromCulture(Languge);

}

این برنامه یک ایراد اساسی دارد آن هم این است که حروف اول را انگلیسی تایپ می کند برای رفع این مشکل باید به جای استفاده از رویداد KeyPress از رویداد KeyDown استفاده کرد .

private void textBox1_KeyDown(object sender, KeyEventArgs e)

{
System.Globalization.CultureInfo Languge = new System.Globalization.CultureInfo(“fa-ir”);
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Languge);

}

توجه: گاهی اطلاعات دریافتی از سوی کاربران برای ثبت، حتما باید فارسی باشد. اطلاعاتی مانند نام و نام خانوادگی و … که به صورت فارسی باید وارد شود.

کلاس CultureInfo که از using  یا کتابخانه Globalization می آید این کار را برای ما انجام می دهد .

با ساختن شیء از روی کلاس CultureInfo می توان کیبورد سیستم را از “EN” به “FA” و بالعکس تغییر داد. تا کاربر مجبور به تغییر کیبورد به صورت دستی نباشد (Alt + Shift) و سیستم به صورت آتوماتیک آماده ورود کاراکتر های فارسی است.

using System.Globalization;

Globalization فرایند طراحی برنامه های کاربردی به ازای زبان های مختلف کاربران در سراسر دنیا می باشد//

private void  textbox1_KeyDown (object sender, KeyEventArgs e)
{
//برای فارسی کردن کیبورد

Languge یک شی است که از روی کلاس CultureInfo ساختیم (نام شی اختیاری می باشد)//

    CultureInfo Languge = new CultureInfo(“fa-ir”);

    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Languge);

}

private void textbox2_KeyDown(object sender, KeyEventArgs e)
{
//برای انگلیسی کردن کیبورد
    CultureInfo  lng = new CultureInfo(“en-us”);
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(lng);

}

به این مقاله چند تا ستاره میدی؟
[تعداد رای: 26 امتیاز: 4.3]