آموزش سی شارپ قسمت 24: گرفتن اعداد از textbox
می خواهیم کم کم مسیر آموزش را عوض کنیم. به شما یاد میدهیم که چگونه اعداد را از textbox بگیرید و از آنها در کدنویسی خود استفاده کنید.
از این روش در پروژه ماشین حساب که به زودی شروع میکنیم استفاده خواهیم کرد.
در بالای پنجره #C از نوار منو از مسیر File > New Project یک پروژه جدید ایجاد کنید
به فرم جدید خود یک textbox و یک دکمه اضافه کنید.
ویژگیهای textbox را بصورت زیر تنظیم کنید
Name: tbFirstNumber
Size: 50, 20
Location: 40, 35
Text: 10
ویژگیهای دکمه را نیز بصورت زیر تنظیم کنید
Name: btnAnswer
Size: 75, 25
Location: 90, 90
Text: Answer
فرم شما بصورت زیر خواهد بود
میخواهیم عدد 10 را از textbox دریافت و در جعبه پیغام نشان دهیم
بر روی دکمه کلیک کنید تا کد آن را در پنجره کدنویسی ببینید
مکان نمای شما در محل کدنویسی دکمه قرار میگیرد.
در بالای کد دکمه دو متغیر integer تعریف کنید
int firstTextBoxNumber;
int answer;
پنجره کد شما باید بصورت زیر باشد
برای گرفتن عدد داخل textbox از ویژگی متن آن استفاده می کنیم.
کد زیر را اضافه می کنیم
firstTextBoxNumber = tbFirstNumber.Text;
این کد به #C میگوید در textbox عبارت tbFirstNumber را پیدا کرده و به ویژگی متن آن دسترسی پیدا کند .
هنگامی که ویژگی متن آن دریافت شد آن را در متغیری بنام firstTextBoxNumber ذخیره کند
برای نشان دادن عدد در messagebox کد زیر را اضافه می کنیم
MessageBox.Show( firstTextBoxNumber.ToString( ) );
اگر برنامه را اجرا کنید خواهید دید که #C برنامه را اجرا نمی کند و پیغام خطای زیر نمایش داده می شود.
علت این پیغام خطا اینست که عددی که شما از textbox دریافت میکنید ذاتا متن است در حالیکه متغیر messagebox از نوع integer است. برای ذخیره کردن محتوای textbox در messagebox باید آن را به متغیر integer تبدیل کنید.
برای این کار از روشی بنام pars استفاده می کنیم. این روش زیاد پیچیده نیست . تنها با تایپ کردن کلمه parse میتوانیم داده ها را تبدیل کنیم. انواع مختلفی از pars وجود دارد. برای این تمرین به integerpars نیاز دارید
بنابراین خط کد خود را بصورت زیر تغییر میدهیم
firstTextBoxNumber = int.Parse( tbFirstNumber.Text );
کلمه int را تایپ میکنید و بعد از آن یک نقطه ( . )
از منوی IntelliSense بر روی parse دابل کلیک کنید
متنی را که میخواهید تبدیل کنید در بین دو پرانتز ( ) تایپ کنید
در مثال ما متن موجود در textbox باید تایپ شود اما میتوانیم کد را بصورت زیر بنویسیم
firstTextBoxNumber = int.Parse( "10" );
در کد بالا عدد 10 را بین " " قرار میدهیم. این به این معنی است که 10 یک متن است.
استفاده از ( )int.parse به این معنی است که 10 باید به عدد تبدیل شود تا بتوان آن را در متغیر integer ذخیره کرد
برنامه را دوباره اجرا کنید. خواهید دید که به خوبی اجرا خواهد شد.
یک خط سبز زیگزاگ زیر جواب خواهید دید. به این دلیل که هنوز از این متغیر استفاده نکرده ایم
بر روی دکمه کلیک کنید. عدد 10 در messagebox نشان داده خواهد شد
عدد دیگری در textbox تایپ کنید.
مجددا بر روی دکمه کلیک کنید . عدد جدید بجای عدد قبلی در messagebox نشان داده خواهد شد.
انواع دیگر parse را میتوانید تبدیل کنید. مانند مثال زیر:
float firstTextBoxNumber;
firstTextBoxNumber = float.Parse( tbFirstNumber.Text );
یا این مثال:
double firstTextBoxNumber
firstTextBoxNumber = double.Parse( tbFirstNumber.Text );
در اولی یک متغیر float تعریف کردیم. سپس از ( ) float.parse برای تبدیل متن موجود در textbox استفاده کردیم. با این روش متن میتواند در یک متغیر float ذخیره شود.
در مثال دوم دقیقا از همین روش برای تبدیل متن به یک متغیر double استفاده کردیم
اگر سعی کنید یک مقدار double را در یک متغیر float تبدیل کنید موضوع کمی پیچیده خواهد شد و برنامه اجرا نمی شود.
این موارد خطا را باید با کد نویسی برطرف کنید. (بعدا طریقه تست این نوع از خطاها را خواهید آموخت)
ادامه دهیم
ما متن را از textbox دریافت کردیم و در messagebox نشان دادیم.
در مرحله بعدی textbox دیگری ایجاد می کنیم و اعداد موجود در هر دو textbox را میگیریم
سپس با استفاده از اپراتورهای ریاضی بر روی آنها عملیات انجام میدهیم . ظاهرا پیچیده به نظر میرسد اما اینطور نیست
textbox دوم را به فرم خود اضافه نمایید و خصوصیات آن را در پنجره ویژگیها بصورت زیر تنظیم کنید
Name: tbSecondNumber
Size: 50, 20
Location: 165, 35
Text: 5
فرم شما بصورت زیر خواهد بود
بر روی دکمه دابل کلیک کنید تا پنجره کد آن باز شود
حال متغیر integer دیگری برای ذخیره کردن متن messagebox دوم در آن تعریف می کنیم
int secondTextBoxNumber;
برای ذخیره عدد در این متغیر جدید کد زیر را اضافه می نماییم
secondTextBoxNumber = int.Parse( tbSecondNumber.Text );
مانند قبلی برای تبدیل عدد داخل textbox دوم به یک متغیر integer از int.parse استفاده می کنیم
سپس عدد را در متغیر جدید ذخیر می کنیم
حال اعداد را با یکدیگر جمع میکنیم . برای این کار از متغیر answer استفاده می کنیم
کد زیر را اضافه می کنیم
answer = firstTextBoxNumber + secondTextBoxNumber;
برای جمع کردن مقدار دو متغیر از علامت ( + ) استفاده میکنیم. اعداد داخل متغیرها از textbox گرفته شده اند.
کدنویسی messagebox را بصورت زیر تصحیح می کنیم
MessageBox.Show( answer.ToString( ) );
شما باید نام متغیری را که میخواهید به string تبدیل کنید عوض کنید
پنجره کدنویسی بصورت زیر خواهد بود
برنامه را اجرا کنید. جواب را در messagebox خواهید دید
اعداد داخل textbox را تغییر دهید و مجددا دکمه را کلیک کنید.
بعد از پایان تست برنامه با فشار دادن دکمه x قرمز رنگ برنامه را ببندید و به پنجره کدنویسی بازگردید
در اینجا تمرینی برای شما آورده ایم
تمرین
از textbox فرم خود برای محاسبه اعداد زیر استفاده کنید. (برای محاسبه سه عدد باید کدنویسی خود را تصحیح کنید)
1845 + 2858
3450 - 285
35 * 85
5656 / 7
4703, 3165, 2975 and 808 جوابهاباید به این صورت باشد
تمرین
به فرم خود یک textbox جدید اضافه کنید.
برای ذخیره عدد سوم یک متغیر Integer تعریف کنید
عدد سوم را از textbox جدید بگیرید و محاسبه های زیر را انجام دهید
(1845 + 2858) - 356
(3450 - 285) * 12
35 * ( 85 - 8 )
(5656 / 7) + 2156
جوابهای شما باید به این صورت باشد 4347, 37980, 2695 2964
فرم را ببندید و پرانتزها و علامت اپراتورها و متغیرها را اضافه کنید.
تمرین را که اجرا کردید به پروژه بعدی بروید . پروژه ماشین حساب منتظر شماست!
این فصل در یک نگاه:
آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…
توضیحات کلی مجموعه: آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…این فصل در یک نگاه:
در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…
توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…این فصل در یک نگاه:
در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…
دوره صفر تا صد آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…این فصل در یک نگاه:
توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …
به نام خدا بازیسازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازیساز حرفهای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…این فصل در یک نگاه:
اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…
مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …این فصل در یک نگاه:
فصل پنجم…
توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…