آزمایشگاه GIS&GIT

مهندسی فناوری اطلاعات مکانی|مهندسی نقشه برداری|GIS|GEOMATICS|GIT
آزمایشگاه  GIS&GIT

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

جهت تماس از طریق ای دی زیر اقدام نمایید.
telegram:@fazel_shahcheragh
تلفن تماس جهت مشاوره:09124320328
برنامه نویسی و اسکریپت نویسی GIS
آموزش و رفع اشکال ARCPY
طراحی وتوسعه اپلیکیشن های موبایل
طراحی و توسعه برنامه های دسکتاپ جی ای اس

سید فاضل شاه چراغ
مدرس دانشگاه
طراح و مجری پروژه های GIS



























آزمایشگاه GIS&GIT

مهندسی فناوری اطلاعات مکانی|مهندسی نقشه برداری|GIS|GEOMATICS|GIT





۹ مطلب در فروردين ۱۳۹۴ ثبت شده است

یکی از محصولات شرکت نام آشنای Esri که اخیرا در ژانویه 2015 از آن رونمایی شده است نرم افزار ARC GIS PRO می باشد در تعریفی که از مشخصات و توانایی های آن آمده است این محصول را برای ایجاد و کار با داده های مکانی در محیط دسکتاپ معرفی کرده است و در ادامه معرفی آن از جمع آوری ابزارهای مختلف برای ایجاد، تجزیه  و تحلیل، اجرا و به اشتراک گذاری داده های مکانی در محیط دو بعدی و سه بعدی اشاره کرده است.

در مجموع روند انجام کار با این نرم افزار به شرح ذیل می باشد:

Build Projects

Build projects


Visualize Your Data

Visualize data


Perform Analysis and Geoprocessing

Perform analysis


Manage Geographic Data


Manage data


Share Your Work

Share your work


Customize ArcGIS Pro

Customize


منبع:http://pro.arcgis.com/en/pro-app/

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ فروردين ۹۴ ، ۱۵:۱۰
ADMIN

بسم الله الرحمن الرحیم

سلام...

همونطوری که در جلسه قبل قولش رو داده بودم، در این درس می خوام در مورد محدوده متغیرها ، تبدیل رشته ها به عدد و همچنین ثابت ها، صحبت کنم. در قسمت عملی این درس هم با چندتا از اشیاء دیگر آشنا شویم. البته رسم بر اینه که به اشیائی که روی فرم میگذاریم "کنترل" بگیم، پس از حالا طبق همین رسم پیش خواهیم رفت.

متغیرها علاوه بر اینکه دارای نام، نوع و مقدار اولیه هستند، دارای طول عمر و سطح دسترسی نیز می‌باشند. با سه تای اولی که آشنایی دارید. اما توی این درس قصد دارم شما رو با طول عمر و سطح دسترسی متغیرها آشنا کنم. شما بعد از آشنایی با این موارد توانایی نوشتن برنامه های بهتری را خواهید داشت.

به محدوده زمانی ایجاد متغیر، تا زمان از بین رفتن آن متغیر، طول عمر متغیر می گویند. (حالا این یعنی چی؟!)

کامپیوترها دو نوع حافظه مهم دارند: عمدا دومی رو اول میگم. 2- حافظه جانبی(مثل هارد دیسک، فلش، دیسک نوری و...) 1- حافظه اصلی (RAM)، این حافظه برعکس حافظه های جانبی ، بصورتی هست که اطلاعات داخلش با قطع شدن برق کامپیوتر، از بین می رود. به اصطلاح حافظه های فرار هستند. متغیرها در داخل این حافظه قرار دارند.

برنامه ها بعد از اجرا شدن در داخل RAM قرار می گیرند. بنابراین وقتی یک برنامه رو ببندیم، اطلاعات آن برنامه از داخل RAM بیرون ریخته می شود. پس متغیرهایی که در اون برنامه تعریف شده اند هم از بین خواهند رفت. البته این بیشترین طول عمری هست که یک متغیر می تونه داشته باشه.

متغیرهای در حالت های خاصی طول عمر کمتری دارند. اینجاست که باید مفهوم Scope رو توضیح بدم. به هر بلوکی از کُد که با علامت } شروع، و با علامت { خاتمه پیدا می کند اسکوپ می گوییم. تصویر زیر بخوبی این مطلب را روشن می کند.

در این شکل بلوک مربوط به حلقه for در کادر شماره 1 قرار دارد و بلوک مربوط به رویداد کلیک Button1 در کادر شماره 2 است. بلوک شماره 1 در داخل بلوک شماره 2 قرار گرفته.

  • قانون اول: تمام متغیرهای تعریف شده در هر بلوک، فقط در همان بلوک ، قابل دسترسی هستند. به متغیر نوع صحیح MyVariable که با فلش آبی رنگ مشخص شده، دقت کنید. این متغیر در بیرون بلوک شماره 1 غیرقابل دسترس بوده (فلش قرمز رنگ). بنابراین حتی اگر خودمان اسم این متغیر را تایپ کنیم، زیر آن خط چین قرمز کشیده خواهد شد، که نشانه خطا در برنامه نویسی است.
  • قانون دوم: بلوک های داخلی می توانند به متغیرهای بلوک های بیرونی دسترسی داشته باشند. به همین علت متغیر count در داخل بلوک شماره 1 قابل دسترسی بوده و کامپایلر از این کار اشکالی نمی گیرد.

ثابت چیست؟ برخلاف متغیرها، مقدار ذخیره شده در داخل ثابت ها غیرقابل تغییر می باشد. ثابت ها حتما باید در هنگام تعریف شدن ، مقداردهی اولیه شوند. برای تعریف ثابت از کلمه کلیدی const استفاده می کنیم. به مثال های زیر دقت کنید:

const float PI = 3.14f;
const int SQUARE_SIDES = 4;
const string COUNTRY = "Islamic Republic of Iran (IRI)";

مزیت های استفاده از ثابت ها:

  • کد نویسی سریع تر. مثلا اگر قرار باشه جمله Islamic Republic of Iran رو در 20 جای برنامه بنویسیم، در هر 20 جای برنامه به نوشتن COUNTRY اکتفا می کنیم.
  • تصحیح سریع کُد: کافیست همانجایی که ثابت را تعریف کرده ایم، مقدار آنرا تغییر دهیم. آن مقدار جدید در هر 20 جای برنامه جایگزین می شود.

تبدیل رشته عددی به عدد واقعی: یکی از مواردی که نیاز به تبدیل رشته عددی به عدد واقعی، وجود دارد، زمانی است که بخواهیم از طریق TextBox یک عدد را از کاربر دریافت کنیم. همانطور که میدانید، متنی را که کاربر در داخل TextBox تایپ می کند، در خاصیت Text مربوط به TextBox ذخیره می شود. اما این خاصیت فقط توانایی ذخیره کردن رشته ها را دارد. برای مثال اگر کاربر عدد 18343 را در داخل TextBox وارد کند، این عدد بصورت رشته "18343" ذخیره خواهد شد. روی رشته ها نمی توانیم عملیات ریاضی انجام دهیم. فقط با عملگر + می توان دو رشته را به چسباند. اینجاست که باید رشته ها رو به عدد تبدیل کنیم. کد زیر رشته عددی موجود در TextBox1 رو به عدد تبدیل کرده و در متغیر عددی num ذخیره می کنه:

int num = Convert.ToInt32(TextBox1.Text);

نکته: باید حتما در TextBox یک عدد وارد شده باشه. وگرنه برنامه با خطا مواجه خواهد شد. البته راهی هم هست که از خطای ناگهانی برنامه جلوگیری کنیم. اما حالا زوده که بگم :)


اما قسمت عملی درس:

یک پروژه جدید بسازید و روی فرم آن کنترل های زیر را قرار دهید:

  • یک عدد TextBox
  • یک عدد دکمه
  • یک عدد ListBox
  • یک عدد ProgressBar
  • یک عدد Timer (از زیر مجموعه Components پیداش می کنید) - خصوصیت Enabled تایمر رو True کنید. به خصوصیت Interval دقت کنید. بعدا این خصوصیت رو تغییر دهید.

شکل فرم بصورت زیر خواهد شد:

برای دکمه برنامه زیر را بنویسید:

if (textBox1.Text != "")
{
    listBox1.Items.Add(textBox1.Text);
}

این کد به این معنی هست که اگر TextBox خالی نبود محتویات آنرا به ListBox اضافه کن! (خطاب به کامپیوتر)

برای تایمر برنامه زیر را بنویسید (روی تایمر دابل کلیک کنید):

progressBar1.Value++;
if (progressBar1.Value==100)
{
    Application.Exit();
}

این کد یعنی: مقدار ProgressBar را یکی افزایش بده! اگر مقدار ProgressBar برایر با 100 شد، برنامه را خاتمه بده!

خوب امیدوارم هنوز پر انرژی باشید.

تا اینجای کار تا حدود زیادی با ابزار برنامه نویسی آشنایی پیدا کردید. اما متأسفانه باید بگم هنوز برنامه ای ننوشتیم. تا الآن فقط با مفاهیم اولیه و البته اساسی برنامه نویسی تا حدودی آشنا شدیم. مرحله بعد یه کم نیاز به خلاقیت داره، که مطمئنم کم ندارید.تبریک میگم! شما مرحله خیلی مقدماتی و مقدماتی برنامه نویسی رو گذراندید. ان شاء الله اگر عمری باقی باشه در جلسه آینده با الگوریتم آشنایی پیدا می کنیم.

التماس دعا...


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۱۰ فروردين ۹۴ ، ۲۱:۴۷
ADMIN


بسم الله الرحمن الرحیم

سلام...

در جلسه قبل با حلقه های تکرار آشنا شدیم و با استفاده از حلقه while یک برنامه ساده نوشتیم. همچنین با انواع دیگری از متغیر ها آشنایی کمی پیدا کردیم. در این جلسه قصد دارم شما رو با نوع خاصی از متغیرها که در برنامه نویسی به "آرایه" مشهور هستند، آشنا کنم. همچنین با حلقه تکرار for هم آشنا شویم. با ما باشید...

متغیر های رشته ای یا string برای ذخیره سازی (موقت) یک متن بکار می روند. متغیرهای عددی ، از جمله int ، float ، byte و... برای ذخیره سازی اعداد مورد استفاده قرار می گیرند. اما نوشتن بعضی برنامه ها نیازمند تعداد زیادی متغیر است. برای مثال فرض کنید بخواهیم برنامه ای بنویسیم که نمرات یک دانشجو را گرفته و معدل او را محاسبه کند. یکی از راه حل ها می تواند این باشد که برای هر درس یک متغیر جداگانه بسازیم. بصورت زیر: (در کد زیر سعی کرده ام که روش های مختلف تعریف و مقدار دهی اولیه متغیرها رو نشان دهم)

float riazi=18.25f;
float fizik=16.5f,shimi,farsi=20.0f;
float miyangin=(riazi+fizik+shimi+farsi)/4;

برنامه محاسبه میانگین نمرات، یک برنامه با تعداد متغیرهای کم است. هرچند ما از بعضی دروس صرف نظر کردیم. اما تصور کنید بخواهید برنامه ای برای سرشماری یک شهر بزرگ را بنویسیم! که در آن نیاز به ذخیره اسم شهروندان داشته باشیم. چون می خواهیم بعدا تعداد افرادی را که نامشان "علی" هست را بفهمیم. از آن گذشته شاید بخواهیم نام ها را بر اساس حروف الفبا مرتب کنیم.

اینجاست که اگر بخواهیم برای هر شخص یک متغیر جداگانه بسازیم، باید تمام وقتمان را صرف تعریف متغیر مناسب برای هر شخص کنیم. اما راه بهتر و بسیار سریع تری هم وجود دارد. ما می توانیم یک لیست از متغیرها رو بسازیم و با استفاده از امکاناتی که زبان برنامه نویسی #C در اختیارمان قرار داده ، به تک تک خانه های لیست دسترسی داشته باشیم. فعلا به این لیست "آرایه" می گوییم.

در هنگام ساختن یک آرایه باید نوع آرایه، نام آرایه و همچنین تعداد خانه های آنرا مشخص کنیم. به مثال زیر که تعریف یک آرایه 100 خانه ای از نوع رشته ای هست دقت کنید:

string[] names=new string[100];

حالا یک آرایه به نام names داریم که دارای 100 خانه می باشد. این آرایه توانایی ذخیره سازی 100 رشته (متن) را در خود دارد. مهمترین کاری که با متغیرها انجام می دهیم، خواندن و نوشتن اطلاعات آنها است. خواندن و نوشتن اطلاعات در آرایه ها تفاوت زیادی با متغیرها ندارد؛ فقط باید همیشه شماره خانه آرایه را در هنگام خواند و نوشتن، مشخص کنیم. کد زیر نوشتن در آرایه را نشان می‌دهد:

names[5]="Ali";
names[0]="Mohammad";
names[99]="Mahdi";
names[100]="saeed"; //خطا - این خانه از آرایه وجود ندارد

میتوانیم در هنگام تعریف آرایه، آنرا مقداردهی هم بکنیم. به کد زیر دقت کنید که چگونه آرایه rates را مقداردهی اولیه می کند:

int rates=new int[5]{3,1,5,2,4};

خانه های 0 تا 5 آرایه rates به ترتیب مقادیر 3 ، 1 ، 5 ، 2 ، 4 به خود خواهند گرفت. حتی می توانیم آرایه را بصورت زیر هم تعریف کنیم. در این صورت تعداد خانه های آرایه بر حسب تعداد مقادیر موجود در آکولاد، تعیین خواهد شد:

byte myArray={10,36,158,220,18,110};

آرایه myArray دارای 6 خانه خواهد بود که مقادیر اولیه آن خانه ها مابین آکولاد ها بیان شده اند.

برای خواندن اطلاعات موجود در خانه های آرایه ، کافیست نام و شماره خانه آرایه را بنویسیم. (بازم مسج باکس :)  )

MessageBox.Show(names[5]+" "+names[0]);

آرایه ها رو می تونید از هر نوعی و با هر تعداد خانه ای بسازید. شماره خانه های آرایه از 0 شروع میشه. شما نمی تونید از خونه هایی که در محدوده طول آرایه نیستند استفاده کنید. در کد بالا یه توضیح فارسی می بینید. هرجا بخواهیم برای کدمون توضیح بنویسیم باید قبل توضیح دوتا اسلش (//) قرار بدیم. کامپایلر تمام متنی رو که بعد از // باشه رو نادیده می گیره. انگار نه انگار که نوشتین. اما این توضیحات فایده های زیادی داره...

خوب بریم سراغ حلقه for

حلقه for هم مثل حلقه while دستورهای داخل بلوک خودش رو تکرار میکنه. اما این حلقه یه سری امکانات رو در اختیارمون قرار میده که خیلی بدرد بخور هستن. شما در این حلقه یک متغیر شمارنده تعیین می کنید و بر اساس همین متغیر (یا حتی متغیری دیگر) تصمیم به خروج از حلقه می گیرید. ساختار کلی حلقه for بصورت زیر می باشد:

for(Initial-Expression;Conditional-Expression;Loop-Expression){
    Commands set
}

در پرانتز جلوی دستور for ، سه قسمت مجزا وجو دارد که با علامت ; از هم جدا شده اند. کار هر کدام از قسمت ها به شرح زیر است:

  • Initial-Expression : در این قسمت یک متغیر عددی ساخته و مقدار دهی می کنیم. این قسمت فقط یک بار در اولین دور حلقه اجرا می شود. بنابراین در اولین دور حلقه یک متغیر عددی ساختیم.
  • Conditional-Expression : در این قسمت یک عبارت شرطی می نویسم. در واقع این عبارت، شرط ادامه کار حلقه می باشد. اگر این عبارت برابر false شود، اجرای حلقه متوقف خواهد شد. معمولا در این بخش ، متغیری را که در قسمت قبل ساختیم با یک عدد دیگر مقایسه می کنیم. Condition-Expression اولین دستوری هست که در هر دور حلقه اجرا می شود. منظورم رو در عمل متوجه خواهید شد. نگران نباشید.
  • Loop-Expression : معمولا در این قسمت عبارتی نوشته می شود که مقدار متغیر تعریف شده در بخش Initial-Expression را تغییر دهد. در عمل ، Loop-Expression آخرین دستور اجرا شونده در هر دور حلقه است.

خوب وقتشه که مطالب گفته شده رو در عمل آزمایش کنیم.
بیایید با هم برنامه محاسبه معدل رو بنویسیم. ما در این برنامه یک آرایه می سازیم برای ذخیره کردن نمره ها، سپس با استفاده از حلقه for میانگین نمرات دروس را محاسبه کرده و نمایش می دهیم.
یک پروژه جدید بسازید و اشیاء زیر را به فرم آن اضافه کنید:

  • یک عدد TextBox . خاصیت Name آن را به txtAvg تغییر دهید.
  • یک عدد Label . خاصیت Text آن را به "میانگین" تغییر دهید.
  • یک دکمه.

شکل ظاهری برنامه:

فرمول ما برای محاسبه میانگین: مجموع نمرات، تقسیم بر تعداد نمرات. فرض کنید 10 درس بیشتر نداریم. برای دکمه (رویداد کلیک دکمه) برنامه زیر را بنویسید:

float[] marks = new float[10] { 15, 14, 18, 20, 8, 19.5f, 12.25f, 16, 16.75f, 20 };
float sum = 0;
float avg = 0;
for (int i = 0; i < 10; i++)
{
    sum = sum + marks[i];
}
avg = sum / 10;

txtAvg.Text = Convert.ToString(avg);

دو سه نکته در مورد این برنامه:

  • عبارت ++i در قسمت Loop-Expression حلقه for به معنای اضافه کردن عدد 1 به متغیر i است و با عبارت زیر تفاوت چندانی ندارد:
i=i+1;
  • هر متغیر فقط توانایی ذخیره کردن مقادیر همنوع خودش را دارد؛ مگر اینکه آن متغیر با روش هایی تبدیل نوع داده شود. شما فقط می توانید در خاصیت Text شیئ TextBox ، یک رشته ذخیره کنید. چون در واقع خاصیت Text یک متغیر رشته ای است. هر دو دستور زیر با هم برابر هستند. هر دوی آنها متغیر avg را به رشته تبدیل می کنند. این کار برای این است که بتوانیم مقدار متغیر avg را در داخل TextBox به نمایش در آوریم.
txtAvg.Text = Convert.ToString(avg);
txtAvg.Text = avg.ToString();
  • در هر دور حلقه for ، مقدار i ام آرایه marks با مقدار sum جمع می شود، سپس جواب در خود sum قرار می گیرد. همانطور که گفتم آخرین دستور در حلقه for همان Loop-Expression است، بنابراین در هر دور اجرای حلقه ، یکی به مقدار قبلی i اضافه می شود. همچنین قبل از اینکه دستورات داخل بلوک حلقه اجرا شوند، درستی عبارت شرطی بررسی می شود؛ اگر این عبارت برابر با false شود، از حلقه خارج خواهیم شد و دستور های بعد از بلوک حلقه اجرا می شوند.

خدا قوت دوستان :)

برای این جلسه کافیه... در جلسه آینده دریچه های جدیدی از برنامه نویسی رو باز می کینم. باید بفهمیم که اسکوپ چی هست، متغیرهای سراسری چه هستند، چطور متغیرهای رشته ای رو به عددی تبدیل کنیم، در مورد ثابت ها صحبت کنیم و... همچنین با یکی دوتای دیگه از اشیاء آشنایی پیدا کنیم.


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۸ فروردين ۹۴ ، ۲۱:۴۵
ADMIN

بسم الله الرحمن الرحیم

باسلام...

در جلسه قبل یکی از مهمترین ساختار های برنامه نویسی (ساختار شرطی if..else) رو بررسی کردیم. با عملوندها و عملگرها آشنا شدیم. امیدوارم درس قبل رو بخوبی متوجه شده باشید.

در این جلسه به امید خدا در مورد ساختارهای تکرار صحبت می کنیم و یکی از مهمترین ساختارهای تکرار در برنامه نویسی سی شارپ رو با هم یاد می گیریم.

قبل از هرچیز باید ببینیم ساختار تکرار چی هست و چه کاربردی داره. در بیشتر مواقع نیاز داریم که یک کار تکراری رو بارها و بارها انجام بدیم. مثلا نام و نام خانوادگی 1000 نفر رو بپرسیم، عددهای زوج بین 2 تا 256 رو با هم جمع کنیم، فاکتوریل یک عدد رو محاسبه کنیم. رنگ یک دکمه رو بصورت متوالی قرمز و آبی کنیم و...

به ساختارهای تکرار، حلقه هم می گویند.

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

while(Conditional Expression){
    Commands set
}

حلقه while ، تا زمانی که عبارت شرطی داخل پرانتز برابر با true باشد، مجموعه دستورات داخل آکولاد را اجرا می کند. ممکنه این عبارت هیچوقت برابر با false نشود، بنابراین حلقه تا بی نهایت ادامه پیدا می کند. اگر حلقه بصورت بی نهایت باشد، پس از اینکه مدتی از اجرای حلقه بگذرد برنامه با خطای Stack Overflow مواجه خواهد شد.(حالا فعلا کاری نداریم که این خطا چی هست).

بذارید در عمل با طرز کار این حلقه آشنا شویم. یک پروژه جدید بسازید و یک TextBox و یک دکمه روی فرم آن قرار دهید. خاصیت Name مربوط به شیئ TextBox رو به txtDisplay تغییر دهید.

loop structures example

برنامه پایین رو برای دکمه بنویسید. (البته اینکه می گوییم فلان برنامه رو برای دکمه بنویسید اصطلاح درستی نیست، بعدا که با "رویدادها" آشنا شدیم، متوجه خواهید شد)

while (txtDisplay.Text.Length < 5)
{
    txtDisplay.Text = txtDisplay.Text + "A";
}

این برنامه تا زمانی که طول متن داخل TextBox کمتر از 5 حرف باشد، حرف A را به TextBox اضافه می کند.

نکات جدید برنامه: 

  • برای بدست آوردن طول هر رشته ای می توانیم از خصوصیت Length آن رشته استفاده کنیم. دقت کنید که چطور طول متن داخل TextBox را بدست آورده ایم، سپس آنرا با 5 مقایسه کرده ایم.
  • به دستور  "txtDisplay.Text=txtDisplay.Text+"A  دقت کنید. به دستورهایی که در آنها علامت = وجود دارد، اصطلاحا "بیان انتساب" می گوییم. همیشه قسمت سمت راست علامت مساوی محاسبه شده سپس نتیجه آن به قسمت سمت چپ هدایت خواهد شد. باید توجه داشته باشید که مقدار قبلی قسمت سمت چپ با مقدار جدید جایگزین می شود.
  • در هر دور حلقه ، به متن داخل TextBox حرف A اضافه می شود. پس طبیعتا طول متن داخل TextBox زیادتر می شود؛ اما حلقه تا زمانی دستورهای داخل بلوک خود را اجرا می‌کند که طول متن کمتر از 5 باشد.
سعی کنید مقادیر و عبارات این برنامه را تغییر دهید و نتیجه را مشاهده کنید. مثلا علامت کوچکتر را با علامت های دیگری که در جلسه قبل با آنها آشنا شدید جایگزین کنید، سپس در نتیجه اجرای برنامه دقت کنید و برای آن دلیل بیاورید.
ادامه مبحث متغیرها:
تا اینجا کمی با متغیر آشنا شده ایم. متغیرهای رشته ای را مورد استفاده قرار دادیم. اما اجازه دهید بیشتر در مورد این جزء اساسی برنامه ها بیاموزیم.
متغیرها را می توان به دو دسته اصلی عددی و غیر عددی تقسیم کرد. متغیرهای رشته ای یا string در دسته غیرعددی ها قرار می گیرند.
متغیرهای عددی خود شامل دو دسته متغیرهای صحیح و متغیرهای اعشاری هستند. هرگاه بخواهیم یک عدد صحیح مانند 5 ، 136 ، 124313 و... را ذخیره کنیم باید آن ها را در متغیر نوع صحیح ذخیره کنیم. برای تعریف متغیرهای نوع صحیح به روش زیر عمل می کنیم:
int MyIntVariable=124313;

در عبارت بالا MyIntVariable ، نام متغیر بوده و کاملا صلیقه ای هست. کلمه کلیدی int به کامپیوتر می فهماند که باید یک متغیر نوع صحیح (Integer) بسازد. قسمت بعد از علامت مساوی کاملا اختیاری بوده و می توانید از آن صرف نظر کنید؛ این قسمت مقدار اولیه متغیر را مشخص می کند.

برای تعریف متغیرهای اعشاری به روش زیر عمل می کنیم:

float MyFloatVariable=3.1415f;

تنها نکته در مورد متغیرهای اعشاری این است که اگر دقت کنید بعد از عدد 3.1415 از حرف f استفاده کرده ایم. البته این کار ما علت هایی داره اما فعلا شما نیازی نیست درگیر این مسایل شوید.

علاوه بر int ، نوع های دیگری هم می توانیم برای متغیرهای صحیح تعریف کنیم. از جمله انواع متغیرهای صحیح می توان به byte ، long ، uint ، ulong و غیره اشاره کرده. تفاوت آنها در گنجایش آنها برای ذخیره اعداد هست. مثلا نوع byte حداکثر می تواند عددی به بزرگی 255 را در خود ذخیره کند.

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

ان شاء الله در جلسات آینده برنامه های جالبی با استفاده از همین متغیرها خواهیم ساخت.

موفق باشید.


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ فروردين ۹۴ ، ۲۱:۴۳
ADMIN

بسم الله الرحمن الرحیم

سلام دوستان عزیز...

همونطوری که در جلسه قبل گفتم، یکی از شاخصه هایی که به برنامه هوشمندی میده اینه که برنامه توانایی این رو داشته باشه که در شرایط مختلف تصمیم های مناسبی بگیره. چندتا مثال هم زدم. مثلا گفتم شما اگر گرسنه شوید سراغ غذا می روید. اگر بخواهید برنامه نویسی یاد بگیرید به باترفلای سر میزنید و... در جلسه قبل روش ساختن متغیر رشته ای رو هم یاد گرفتیم. در این درس ساختار شرطی "if" رو براتون تا حدودی شرح میدم. همچنین در این درس با عملگرها و عملوندها و عبارت ها آشنا خواهیم شد و از آنها در یک برنامه ساده اما خیلی هوشمندانه تر از برنامه های قبل استفاده می کنیم.

قبل از هرچیز اجازه دهید تا در مورد عملگر ، عملوند و عبارت صحبت کنیم. در برنامه نویسی، برخی از جملات هستند که نمی توانیم به آنها بگوییم "دستور" اما برای ما عمل خاصی رو انجام می دهند. خود این جملات از بخش هایی تشکیل شده اند که توضیح میدم. به این جملات ، "عبارت" یا Expression می گوییم.

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

برنامه نویسی مقدماتی سی شارپ

در این شکل عملگرها رو با چهارضلعی های آبی مشخص کرده ام و عملوندها را با چهارضلعی های قرمز.

عملگر ها هامانطور که از اسمشون مشخصه، یه عمل خاصی رو بر روی عملوند ها انجام می دهند. در برنامه نویسی سی شارپ دو نوع عملگر وجود دارد، یگانی یا دوتایی! عملگرهای یگانی فقط روی یک عملوند اعمال می شود. مانند عملگر ( - ) در عبارت بالا. در عبارت بالا بقیه عملگرها دوتایی هستند. البته عملگر ( - ) می تواند بصورت دوتایی هم استفاده شود.

عملوند ها می توانند عدد، متغیر و یا از توابع ریاضی و غیر ریاضی باشند.

نکته مهمی که باید توجه داشته باشید اینه که عبارت ها را می توان ساده کرد. بطوری که در نهایت به یک عدد یا رشته و یا... می رسیم. برای مثال در عبارت بالا اگر فرض کنیم که مقدار متغیر a برابر با 5 باشد، این عبارت با عدد ( 6- ) مساوی است. خوب بگذریم :)

در برنامه نویسی سی شارپ عملگر های مختلفی وجود دارد که در زیر مهمترین آنها را مشاهده می‌کنید:

عملگرهای ریاضی یا محاسباتی : 

  • عملگر جمع ( + )
  • تفریق ( - )
  • تقسیم ( / )
  • باقیمانده تقسیم ( % )
  • ضرب ( * )
عملگرهای رابطه ای:
  • عملگر کوچکتر ( > )
  • بزرگتر ( < )
  • کوچکتر مساوی ( => )
  • بزرگتر مساوی ( =< )
  • تساوی ( == )
  • نامساوی یا مخالف ( =! )
عملگرهای شرطی
  • و ( && )  
  • یا ( || )
  • نقیض ( ! )
عملگر انتساب ( = )
البته عملگرهای دیگری هم هستند. خیلی هم زیاد هستند. اما فعلا بکار ما نمیان. عملگرهای ریاضی رو که الحمدلله باهاشون آشنایی کامل دارید. فقط از بین عملگرهای ریاضی، عملگر باقیمانده تقسیم شاید براتون تازگی داشته باشه! اونم چیز خاصی نیست. چندتا مثال میزنم:
  • 25%5 برابر با 0 است. یعنی باقیمانده تقسیم 25 بر 5 مساوی با 0 است. البته تقسیم صحیح، نه اعشاری!
  • 10%3 برابر با 1 است.
  • 17%5 برابر با 2 است.
عبارت هایی که با عملگرهای رابطه یا عملگر های شرطی (یا ترکیب هر دو) ساخته می شوند، در آخر بصورت درست (true) یا غلط (false) ارزیابی می شوند. (ارزیابی می شوند یعنی بعد از ساده شدن ، عبارت به true یا false تبدیل می شود) به مثال های زیر دقت کنید:
  • 23.5 < 12 برابر با false است. (غلط)
  • 20 == (2*10) برابر با true است. (درست)
  • ((13 * 2) > 7) && (12 =< 4) برابر با false است.
عه! نگفتم && ، || و ! چی هستن و چطور کار می کنن! خوب اشکال نداره حالا میگم:
  • && به این صورت کار می کنه که اگر دوطرفش true باشه، نتیجه عبارتش true خواهد شد و در غیر اینصورت نتیجه عبارت false میشه. مثلا اگر به عبارت بالا دقت کنید نتیجه (13 * 2 ) > 7 برابر true هست، اما 12 =< 4 برابر false هست. بنابر این کل عبارت برابر false خواهد بود.
  • || هم به این شکل کار می کنه که اگر هر دو طرفش false باشه، نتیجه عبارتش بصورت false ارزیابی میشه و در غیر اینصورت نتیجه عبارت false هست.
  • عملگر نقیض ( ! ) ، نتیجه عبارت جلوی خودش را برعکس می کند. مثلا نتیجه عبارت (4>1)! برابر با false است.
اما آخرین و تقریبا مهمترین عملگری که در این جلسه به توضیحش می پردازیم، عملگر انتساب هست. این عملگر یه تفاوت های ریز و ظریفی با عملگر "مساوی" در ریاضی داره. اما این تفاوت های ظریف رو خیلی سخته که توضیح بدی. اما خوبیش اینه که خودتون به مرور زمان متوجه تفاوت هاشون خواهید شد.
عملگر انتساب ( = ) کارش اینه که نتیجه ارزیابی عبارت سمت راست خودش رو در متغیر سمت چپ خودش ذخیره می کنه! البته فکر کنم در جلسه قبل تا حدودی با این عملگر آشنایی پیدا کردید. به مثال های زیر توجه کنید:
b = "Salam " + "Donya!" ;

در متغیر b رشته !Salam Donya ذخیره خواهد شد.

m = (2 * 3) + 1 ;

در متغیر m عدد 7 ذخیره خواهد شد.

k = ((2 + 1) == (9 / 3))

در متغیر k چیزی که ذخیره خواهد شد، true است.


هوففففف... واقعا خداقوت. من که خسته شدم، شما رو نمیدونم.

اینهمه گفتم و گفتم تا مقدمه چینی کنم برای هوشمندانه تر کردن برنامه هایی که می نویسیم. ما در همه برنامه هایی که می نویسیم از قوانین بالا استفاده می کنیم. اما این قوانین به تنهایی برنامه ما رو هوشمند نمی کنند! بلکه استفاده از اون ها در جاهای خاصی از برنامه باعث هوشمندی برنامه خواهد شد.

یکی از ساختارهای برنامه نویسی خیلی مهم برای این منظور ساختار شرطی است. بصورت زیر:

if ( Conditional_Expression ){
    Commands set
}

در ساختار شرطی بالا شما بجای Conditional_Expression یک عبارتی که نتیجه آن true یا false است قرار می دهید. این ساختار درصورتی که نتیجه عبارت مربوطه true باشد، مجموعه دستورات داخل بلوک خود را اجرا می کند. دقت کنید، فقط در صورت true بودن عبارت! بجای Commands set می توانید هر تعداد دستور که خواستید بنویسید. حتی می توانید در این قسمت دوباره ساختار شرطی قرار دهید که در آن صورت یک ساختار شرطی تو در تو (nested) خواهیم داشت.

این ساختار مهم شرطی رو می تونیم پیشرفته تر هم بکنیم:

if ( Conditional_Expression ){
    Commands set 1
} else {
    Commands set 2 
}

در این ساختار در صورت true بودن عبارت، مجموعه دستورات 1 اجرا می شود و در غیر اینصورت مجموعه دستورات 2 اجرا می شود. ساختار شرطی بالا رو می تونیم پیشرفته تر هم بکنیم. ساختار پایین رو ملاحضه کنید:

if ( Conditional_Expression 1 ){
    Commands set 1
} else if ( Conditional_Expression 2 ) {
    Commands set 2 
} else if ( Conditional_Expression 3 ) {
    Commands set 3
} else if ( Conditional_Expression n ) {
    Commands set n
} else {
    Commands set n+1
}

در این ساختار اول نتیجه عبارت 1 بررسی می شود؛ درصورت true بودن مجموعه دستورات 1 اجرا می شود. اگر نتیجه false باشد، نتیجه عبارت 2 بررسی شده و در صورت true بودن مجموعه دستورات 2 اجرا می شوند. اگر نتیجه false باشد... . قسمت else آخرین مرحله ای هست که اجرا می شود، اما فقط درصورت false بودن عبارت های قبلی!

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


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

حالا که مطالب رو بخوبی یاد گرفتید، بریم تا از ایم مطالب استفاده کنیم.

در این جلسه می خواهیم برنامه ای بنویسیم که از ساختار شرطی در آن استفاده شده باشد. البته در این برنامه از همه نکاتی که در این درس یاد گرفتید ، استفاده نمی کنیم. اما مطمئنا در درس های بعدی حتما از مطالب این درس بصورت عملی استفاده خواهیم کرد. به جرأت می‌توان گفت با یادگیری این درس نیمی از برنامه نویسی را فرا گرفته اید.

  1. یک پروژه جدید بسازید.
  2. روی فرم پروژه موارد زیر را قرار دهید: (شکل نهایی برنامه بصورت زیر خواهد شد. شما هم سعی کنید اشیاء رو به همین ترتیب قرار بدید یا اینکه مرتب تر و بهتر...)
    1. دو عدد TextBox . خاصیت Name آنها را به txtName و txtFamily تغییر دهید.
    2. دو عدد Label . خاصیت Text آنها را یکی "نام" و دیگری "نام خانوادگی" قرار دهید.
    3. دو عدد RadioButton . خاصیت Name آنها را به rdoMale و rdoFamily تغییر دهید.
    4. یک عدد Button .
  3. روی دکمه دابل کلیک کنید تا بتوانید برای آن برنامه بنویسید. برنامه ای که در هنگام دابل کلیک کردن روی دکمه در بلوک Button1_Click می نویسید، در هنگام کلیک شدن روی دکمه اجرا میشه. (جهت یاد آوری)
  4. کد زیر رو در بلوک مربوطه بنویسید. (بعد از دابل کلیک کردن روی دکمه؛ در محل مکان نمای صفحه کلید. مکان نمای صفحه کلید در میان کد برنامه در حال چشمک زدن است)
if (rdoMale.Checked == true)
{
    MessageBox.Show("سلام آقای " +
    txtName.Text + " " +
    txtFamily.Text +
    ".\n به درس هفتم خوش آمدید.");
}else{
    MessageBox.Show("سلام خانم " +
    txtName.Text + " " +
    txtFamily.Text +
    ".\n به درس هفتم خوش آمدید.");
}

تعجب نکنید! حتی یک دستور رو هم می تونید بشکنید و در چند خط بنویسید. به برنامه بالا دقت کنید که چطور دستور MessageBox.Show رو در چند خط نوشتم. البته عملگر + در این دستور کار چسباندن رشته ها (متن ها) به هم رو انجام میده! نه اینکه حتما اگر بخواهیم ادامه دستور رو در خط بعد بنویسیم مجبور باشیم علامت + رو بنویسم.

برنامه نویسی مقدماتی سی شارپ

می دونم که خیلی از دستور MessageBox.Show داریم استفاده می کنیم. ولی مجبوریم! اما نگران نباشید. بزودی با دستورهای جدید و جالب دیگه ای هم آشنا خواهید شد.


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۴ فروردين ۹۴ ، ۲۱:۴۱
ADMIN

ESRI CityEngine یک نرم افزار حرفه ای برای طراحانی است که نیازمند ایجاد محیط های شهری واقع بینانه هستند. این برنامه به شما اجازه می دهد که با استفاده از اطلاعات GIS، مدل های سه بعدی شهر دلخواه خود را ایجاد کنید. در حقیقت کاربرد این نرم افزار، تبدیل داده های GIS به مدل سه بعدی است.


دانلود ESRI CityEngine 2012.1 - نرم افزار تبدیل داده های GIS به مدل های 3 بعدی


دانلود

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ فروردين ۹۴ ، ۰۴:۲۳
ADMIN

بسم الله الرحمن الرحیم.

سلام...


تا اینجای کار تقریبا می تونم بگم اصلا برنامه ای ننوشتیم. اما تا حدود کمی با برنامه نویسی کامپیوتر آشنایی پیدا کردیم. فهمیدیم که کامپیوتر دقیقا همون دستور هایی رو اجرا می کنه که ما بهش گفتیم؛ نه کمتر و نه بیشتر. کاش ما آدم ها هم در مقابل خدا مثل کامپیوتر باشیم.

کامپیوتر تک دستور ها رو یکی پس از دیگری اجرا می کنه. اگر برنامه ای که نوشته ایم مثلا 5 خط باشه، اول خط 1 ، بعد خط 2 ، بعد خط 3 و همینطور تا آخر برنامه دستورات اجرا خواهند شد.

هر دستور در برنامه نویسی به زبان سی شارپ با علامت ; خاتمه پیدا می کنه. به آخر دستور MessageBox.Show دقت کنید. ما با این علامت صرفا به کامپایلر گوشزد می کنیم که این خط از برنامه تمام شده و باید به خط بعدی رفته و دستور بعدی رو اجرا کنه. البته لزومی نداره که خط بعدی دقیقا یک خط بعد باشه. مثلا تمام حالت های زیر با هم مشابه هستند:

در حالت اول خطوط بصورت استاندارد ، یکی پس از دیگری آمده اند.

در حالت دوم بعضی از دستور ها بلافاصله بعد از دستور قبلی خود آمده اند ولی دقت کنید که این دستورها با علامت ; از هم جدا شده اند.

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

نتیجه می گیریم که فضاهای خالی توسط کامپایلر نادیده گرفته می شوند. فضاهای خالی رو با دکمه های Space ، Tab (همون دکمه درازه  :)  ) و Enter می توان ایجاد کرد.

در زبان سی شارپ حروف کوچک و بزرگ با هم متفاوت هستند. مثلا MessageBox.Show با messagebox.SHow فرق می کند.

بقیه قوانین رو در جلسات بعد خواهم گفت.

در این درس کمی ساختار برنامه های کامپیوتری رو بررسی کرده و از آنها در یک برنامه ساده استفاده می کنیم. در همین حین نکات جدیدی از برنامه نویسی متوجه خواهیم شد.

هر برنامه کامپیوتری دارای سه بخش اصلی ورودی ، پردازش و خروجی می باشد. به این معنی که برنامه از طریق ورودی هایی مثل صفحه کلید ، موس ، وب کم و... داده هایی رو دریافت می کند. سپس خود برنامه روی داده های ورودی تغییر و تحولاتی ایجاد کرده و یا از آنها نتیجه گیری خاصی می کند و در مرحله آخر نتایج تغییر و تحولات و تصمیم گیری های روی داده ها به خروجی هایی مثل صفحه نمایش، چاپگر ، بلندگو ها و... ارسال می شوند. به داده ها بعد از انجام پردازش، اطلاعات می گوییم.

برای مثال همین برنامه ساده ای که در جلسات قبل نوشتیم، نام و نام خانوادگی را به عنوان ورودی دریافت کرده و در مرحله پردازش کلمه salam رو به نام و نام خانوادگی افزوده و در خروجی به نمایش در می آورد. می بینید که سه بخش اصلی یک برنامه کامپیوتری در همین برنامه بسیار ساده هم وجود دارد.

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

یکی از قسمت های اصلی کامپیوتر حافظه ها هستند. تصور کنید کامپیوتر بدون حافظه چگونه خواهد بود! اما شاید بلافاصله بعد از اینکه به حافظه های کامپیوتر اشاره کردم ذهن شما به سمت هارد دیسک ها، سی دی ها و فلش درایو ها رفت، البته اینگونه حافظه ها خیلی مهم هستند. اما منظور من این حافظه ها نبود. بلکه هدف من از حافظه به عنوان بخش اصلی کامپیوتر، RAM هست.

این حافظه حجم بسیار کمتری نسبت به هارد دیسک دارد.

این حافظه سرعتی بسیار زیاد تری نسبت به هارد دیسک دارد.

این حافظه خیلی گران قیمت است.

ما به چند دلیل در برنامه نویسی از حافظه RAM استفاده می کنیم.

سرعت پردازنده بسیار بالاست! از طرفی سرعت هارد دیسک در مقابل پردازنده خیلی کم است. ما از RAM به عنوان واسط بین هارد دیسک و پردازنده استفاده می کنیم. به این صورت که داده ها را بطور موقت در RAM ذخیره کرده و بعد از اینکه فرایند پردازش روی داده ها به پایان رسید ، آنها را در هارد دیسک ذخیره می کنیم (البته اگر نیازی به این کار وجود داشته باشد).

هرگاه که شما برنامه ای را اجراء می کنید، داده های مربوط به آن برنامه در حافظه RAM قرار می گیرد. مثلا" در برنامه ساده خودمان، نام و نام خانوادگی ای را که در TextBox نوشتیم بصورت موقت در RAM ذخیره می شود و دستور MessageBox.Show از آنها استفاده کرده و در خروجی نمایش میدهد.

ما می توانیم داده ها را در RAM ذخیره کرده یا آنها را از RAM بخوانیم. برای اینکار به روشی که در سطور بعد توضیح داده ام ، به کامپایلر دستور می دهیم که محلی در حافظه RAM را رزرو کند و به آن مکان رزرو شده یک نام دلخواه (که خودمان مشخص کرده ایم) اختصاص دهد. ما به این نام برای دسترسی به آن مکان رزرو شده در حافظه نیاز داریم. به این مکان رزرو شده حافظه متغیر می گوییم.

در این درس فقط به بررسی متغیرهایی می پردازیم که می توانند یک متن و یا نوشته را در خود ذخیره کنند. با دستور زیر یک متغیر که توانایی ذخیره متن را دارا می باشد، در حافظه ساخته می شود:

string strName;

strName صرفا یک نام هست و شما می توانید به دلخواه خود این نام را تغییر دهید.

اگر بخواهیم یک متن را در strName ذخیره کنیم بصورت زیر عمل می کنیم:

strName="In the name of Allah";

دقت داشته باشید که متن را باید بین دو علامت " قرار دهیم. به نوشته هایی که بین دو علامت " قرار دارند، اصطلاحا رشته می گوییم و به متغیری که توانایی ذخیره رشته ها را داشته باشد، متغیر رشته ای می گوییم.

هرجایی از برنامه که نام متغیر نوشته شود، آن نام در هنگام اجرای برنامه، با مقدار موجود در خود جایگزین خواهد. برای مثال می توانید بعد از اینکه متغیر strName را تعریف کردید دستور MessageBox.Show را بصورت زیر باز نویسی کنید:

MessageBox.Show(strName + "\n Butterfly.blog.ir");

برنامه این درس رو اگه پیاده سازی کرده باشید، احتمالا به این شکل شده باشه:

یکی از شاخصه های هوشمندی یک برنامه کامپیوتری این است که در شرایط مختلف تصمیم های مخصوصی اتخاذ کند. این امر در زندگی عادی هم بسیار رایج هست. مثلا شما درصورتی که هوا سرد باشد، لباس گرم می پوشید. اگر گرسنه شوید، غذا می خورید. اگر بخواهید برنامه نویسی یاد بگیرید به باترفلای سر می زنید... :) در جلسه آینده روش پیاده سازی این شاخصه هوشمندی رو با هم یاد می گیریم...

 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۲ فروردين ۹۴ ، ۲۱:۴۰
ADMIN

MapServerPro سرویس میزبانی جی ای اس می باشد که از انواع نرم افزارهای متن باز حوزه جی ای اس بهره می گیرد، اگر قصد راه اندازی وب جی ای اس خود را دارید می توانید به این آدرس مراجعه کنید و بعد از ایجاد حساب کاربری به ساخت وب جی ای اس خود بپردازید.


UMN Mapserver UMN Mapserver GeoServer GeoServer QGIS Server QGIS GeoMajas GeoMajas
GeoNetwork GeoNetwork MapBender MapBender GeoMOOSE GeoMOOSE p.mapper p.Mapper
MapFish MapFish Chameleon Chameleon CartoWeb CartoWeb OpenLayers OpenLayers
۰ نظر موافقین ۰ مخالفین ۰ ۰۲ فروردين ۹۴ ، ۲۱:۱۴
ADMIN

با نام و یاد خدا... سلام.

در جلسات قبل یاد گرفتیم که چطور برای دکمه برنامه بنویسیم، طوری که اگر در هنگام اجرای برنامه روی دکمه کلیک کنیم، کاری رو برامون انجام بده. به غیر از دکمه چند شیئ دیگه رو هم روی فرم قرار دادیم و از شیئ TextBox در برنامه خودمون استفاده کردیم و متوجه شدیم که چطور از خصوصیت Text مربوط به این شیئ استفاده کنیم. در مورد شیئ گرایی هم خیلی کوتاه صحبت کردیم و مفهوم کلاس و وراثت رو بصورت غیر آکادمیک! و خودمونی توضیح دادیم.

در این جلسه قصد دارم در مورد ساختار و اسکلت برنامه صحبت کنم. یعنی می خواهیم بدونیم اون نوشته هایی که در درس های قبل در موردشون توضیح ندادیم چی بودن. البته احتمالا" تا حدودی متوجه شده باشید. خطوط برنامه با عدد مشخص شده اند تا بهتر بتونیم شما رو به خط مورد نظرمون ارجاء بدیم. بسته به تنظیمات پروژه و نسخه ویژوال استودیو نصب شده در سیستم شما، ممکنه کد زیر کمی متفاوت باشه، اما زیاد مهم نیست. البته ما در این درس هم به همه جزئیات نمی‌پردازیم.

اسکلت برنامه سی شارپ سلام دنیا

خطوط 1 تا 7 : تمام این خطوط با کلمه using شروع شدن. رنگ این کلمه با بقیه کلمات متفاوته و آبی هست. کلمات با رنگ آبی ، کلماتی هستند که برای زبان برنامه نویسی سی شارپ (#C) مفهوم خاصی دارند. به این کلمات، کلیدواژه ، کلمه کلیدی یا کلمه رزرو شده می گن. قبل از اینکه ما برنامه مقدماتی خودمون رو شروع کنیم، یک عده برنامه نویس زحمت کشیدند و قسمت های زیادی از برنامه رو ساخته و در اختیار ما قرار داده اند. مثلا" اینکه یک دکمه به چه شکلی باشه، ظاهر جعبه پیام (MessageBox) به چه صورت باشه ، روش تعامل فرم و... رو برنامه نویسی کرده اند. برنامه ای که این عزیزان نوشته اند در یکسری فایل ها ذخیره شده و ما با استفاده از کلمه کلیدی using اون فایل های مهم رو به برنامه خودمون متصل می کنیم و ازشون سو استفاده می کنیم :)

خط 11 : در این قسمت از برنامه یک کلاس به نام Form1 نوشته شده که از کلاس Form که برنامه نویسان عزیزمون اون رو قبلا" برنامه نویسی کردن داره ارث‌بَری می کنه! این بحث رو فعلا" خیلی جدی نگیرید. کمی سطحش از مقدماتی بالاتره.

خط 13 تا 16 : به این قسمت هم "متد سازنده کلاس Form" می گن. فقط بدونید که Method یا "روش" در برنامه نویسی #C ، به مجموعه ای از کدهای مرتبط به هم می گن که کار خاصی رو برای ما انجام می دهند و دارای یک نام می باشند.  ما در این برنامه (تصویر بالا) یک متد دیگه هم داریم که اسمش Button1_Click هست.

 اگر دقت کنید متدها دارای ساختار خاصی هستد. جلوی اسم متد، در داخل پرانتز چیزهایی نوشته شده که به آنها پارامتر ویا آرگومان متد می گوییم؛ آرگومان ها و پارامترهای متد با کاما از هم جدا می شوند (ممکنه مثل متد سازنده فرم چیزی نوشته نشده باشه اما پرانتز حتما هست) . آرگومان و پارامتر یه تفاوت کوچک دارند. شاید بعدا توضیح بدهم.

و بعد از اون یک علامت آکولاد ( } ) قرار گرفته. برنامه ای که قراره متد، اون رو اجرا کنه، بعد از علامت آکولاد قرار گرفته. بعد از آخرین خط برنامه متد، یک علامت آکولاد بسته داریم که نشان دهنده پایان متد هست. از حالا به فاصله مابین آکولاد باز و آکولاد بسته "بلوک" می گوییم. مثلا" بلوک متد Button1_Click یا بلوک namespace FirstProject که از خط 9 شروع شده و تا خط 23 ادامه پیدا کرده.

خط 20 : این خط در بلوک متد Button1_Click نوشته شده. خط 20 رو ما در دروس قبل نوشتیم. اما خود بلوک متد Button1_Click بصورت اتوماتیک در زمانی که روی دکمه دابل کلیک کردید ساخته شده.

ما در این خط از متد Show مربوط به کلاس MessageBox استفاده کردیم. به اون چیزی که ما داخل پرانتز متد Show می نویسیم آرگومان می گن. اما به جای خالی ای که برنامه نویس عزیزمون برای ما گذاشته که داخلش مثلا" بنویسیم:

"Salam "+textBox1.Text+" "+textBox2.Text

پارامتر می گن.

در این درس کار عملی انجام نمی دهیم. ولی شما بیکار ننشینید. اول خوووب مطالب این درس رو یاد بگیرید. باور کنید به همه این نکات نیاز داریم. اگه نیاز نبود نمی گفتم. در مرحله بعد سعی کنید اشیاء دیگری روی فرم قرار بدید و در پنجره Properties خصوصیات مختلف اون اشیاء رو بررسی کرده و تغییر دهید. سعی کنید از اون خصوصیات در برنامه تون استفاده کنید. مثل برنامه ما که از خصوصیت Text شیئ TextBox استفاده می کنه.

موفق باشید.


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۱ فروردين ۹۴ ، ۱۱:۲۱
ADMIN