سلام
در اين تاپيك تلاش مي كنم به صورت مقدماتي VB.net رو آموزش بدم
نكته اساسي اين تاپيك ساده بودن و آموزشي بودن هست.
اميدوارم بتونم كار كوچكي براي اون عزيزايي كه اطلاعات پايه رو مي خوان ياد بگيرند انجام بدم.
http://www.homeandlearn.co.uk
سلام
در اين تاپيك تلاش مي كنم به صورت مقدماتي VB.net رو آموزش بدم
نكته اساسي اين تاپيك ساده بودن و آموزشي بودن هست.
اميدوارم بتونم كار كوچكي براي اون عزيزايي كه اطلاعات پايه رو مي خوان ياد بگيرند انجام بدم.
http://www.homeandlearn.co.uk
آخرین ویرایش به وسیله tolid123456789 : دوشنبه 07 اسفند 1391 در 18:00 عصر
جلسه اول
-------------------------------
شما بر حسب نيازتون بايد يكي از نسخه هاي VS رو نصب كنيد (براي مثال 2010)
با نصب Visual Stadiu نرم افزارهايي مثل #VB.net , C++, C هم رو سيستمتون نصب مي شه البته شما مي تونيد در هنگام نصب اين مورد رو مديريت كنيد
آموزش ما در خصوص VB.net است
با نصب نرم افزار و با كردن VS ابتدا يك پروژه جديد Application form ايجاد مي كنيم
اين نوع پروژه ها در وب كارايي ندارند
پس از كليك بر روي New Project پنجره زير باز ميشه شما گزينه اول رو انتخاب كرده و آدرس و نام ايجاد پروژه رو مي ديد و ok بزنيد
بعد از ايجاد پروژه با زدن دكمه F5 يا Debug/Start Debugging پروژتون رو مي تونيد اجرا كنيد
در اين مثال كه در سايت http://www.homeandlearn.co.uk وجود داره پس از اجرا فرم پيش فرض 1 باز ميشه
اگه الان به محل تشكيل پروژه در هارد مراجعه كنيد خواهيد ديد كه فولدري به نام debug تشكيل شده درون اين فولدر فايل exe وجود داره كه اگه اون رو اجرا كنيد باز هم همون فرم 1 باز مي شه
به عبارتي اگر فايل هاي Debug رو در يك كامپيوتر ديگه بريزيد و فايل exe اون رو اجرا كنيد باز هم فرم 1 روي اون كامپيوتر باز ميشه
البته توجه داشته باشد كه براي اجراي نرم افزارهاي .net نياز به framework داريد كه با نصب VS رو سيستمتون نصب مي شه
خوبه
شما تونستيد يك پروژه ايجاد و اجرا كنيد
جلسه دوم
---------------------------
Toolbar
در نماي طراحي يعني زماني كه همه فرم هاي اجرا شده با F5 بسته باشد Toolbar فعال ميشه
با ابزارهايي كه در اين قسمت هست مي تونيد اشياء مختلف مثل TextBox - جهت ورود داده توسط كاربر - و ... رو به فرم اضافه كنيد.
همانطور كه در شكل هاي بالا مي بينيد در قسمت Toolbar تب هاي مختلفي وجود داره كه اشياء رو به صورت طبقه بندي شده در خودشون نگه مي دارند
مثلا Common Controls اشيايي مانند دكمه ليبل و تكست باكس رو دارند
فرض كنيد شما مي خوايد يك دكمه به فرمتون اضافه كنيد حالا كافيه Button رو درگ (انتخاب و كشيدن) كنيد روي فرمتون.
اين شي بر روي فرم شما ايجاد ميشه
براي مثال سه تكست باكس و سه ليبل رو به فرم درگ كنيد
حالا برنامه رو با F5 اجرا كنيد
جالبه مي تونيد در تكست باكس ها متن بنويسيد و در ليبل فقط نوشته هاي ايجاد شده در نماي طراحي رو ببينيد
خوبه
شما تونستيد چندتا شي رو به فرمتون اضافه كنيد
جلسه سوم
----------------------
پنجره خصوصيات براي اشياء
تمامي شي هايي رو كه شما در فرم مي ياربد داراي خصوصيات و ويژگي هايي هستند
مثلا يك نام دارند، شايد رنگ به خودشون بگيرند و يا سايزشون رو بشه در قسمت ويژگي ها تغيير داد
كافي بر روي شي مورد نظرتون كليك كنيد و با زدن دكمه F4 ويژگي هاي اون رو ببينيد (روي فرم تمرينمون كليك كنيد)
الان كه برنامه رو اجرا مي كنيد روي نوار عنوان فرم مي نويسه form1 حالا مي خواهيم خصوصيت Text فرم 1 رو تبديل به My First Form كنيم
حالا برنامه رو اجرا مي كنيم
در اين مرحله همين كارها رو براي ليبل هاي 1 تا 3 مي كنيد و اونها رو هم تغيير ميديم
پس از اجرا فرممون به شكل زير ميشه
خوبه
شما تونستيد تنظيمات و خصوصيات چندتا شي رو تغيير بديد
جلسه چهارم
-------------------
علاوه بر Toolbar, Properties پنجره هاي ديگه اي هم در VB.net داريم
مثلا پنجره Solution Explorer
اين پنجره رو از منوي View > Other Windows > Solution Explorer مي تونيد مشاهده كنيد
همانطور كه مي بينيد فرم يك در اين پنجره وجود دارد شما تمام فرم ها گزارشات و چيزهاي ديگه اي كه مي سازيد رو مي تونيد در اين پنجره ببينيد و روش دابل كليك كرده و در نماي طراحي مشاهده كنيد
با كليك بر روي دكمه Show All تمامي اشياء موجود در اين پنجره ظاهر مي شند
براي ذخيره تغييرات هم مي تونيد از منوي File > Save All استفاده كنيد.
خوبه
شما تونستيد با پنجره Solution Explorer تا حدودي آشنا بشيد.
جلسه پنجم
-----------------
ايجاد متغير در vb.net
با راست كليك كردن بر روي فرم 1 و زدن گزينه View Code مي تونيد به نماي كد نويسي VB.net بريد
با دابل كليك كردن بر روي هر شيي مانند فرم باز هم مي تونيد به نماي كد نويسي بريد
دابل كليك كردن بر روي فرم و رفتن به نماي كد نويسي شما رو به رويداد لود فرم مي بره
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
*********
End Sub
End Class
الان اگه كدي در قسمتي كه با ستاره مشخص شده ، بنويسيد در هنگام لود فرم اون كد اجرا ميشه
مثلا من در اين قسمت كد زير رو مي نويسم
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox("change")
End Sub
End Class
حالا اگر برنامه رو با F5 اجرا كنيد در هنگام باز شدن فرم يك پيغام به شما نمايش داده ميشه
پيغام chang رو ما مستقيما در تابع MSGBOX قرار داديم
حالا اگه به جاي اون بخواهيم از متغيير استفاده كنيد مراحل زير رو دنبال مي كنيم
1- ابتدا يك متغيير تعريف مي كنيم (از نوع رشته چون كلمه Change از نوع رشته ست)
Dim Var_String as string
dim براي تعريف متغيير است
بعد نام متغيير را مي نويسيم (Var_String)
بعد كلمه AS رو مي نويسيم تا تعيين كنيك كه اين نام چه نوع داده اي درون خود ذخيره خواهد كرد
بعد نوع داده اي كه در اين متغيير ذخيره خواهد شد را مي نويسيم
2- مقدار Change رو داخل اين متغيير قرار مي ديم
Var_String="Change"
كد بالا را از راست به چپ در هنگام مطالعه بخوانيد به عبارتي كد بالا را اينگونه مي خوانيم
رشته change را به داخل Var_String بريز
از اينجا به بعد متغيير Var_string مقداري را درخود نگه داري مي كند. اين مقدار همان رشته Change است
3- متغيير رو درون MSGBOX قرار مي ديم
Msgbox(Var_string)
حالا يك مثال رو با هم دنبال مي كنيم
فرض كنيد ما سه تا تكست باكس داريم
اولي و دومي عدد رو از كار بر مي گيره و با زدن دكمه اي كه در فرم آورديم مجموع اين دو عدد در تكست باكس سوم مشاهده ميشه
بر روي دكمه ي روي فرم دابل كليك مي كنيم و كد هاي زير رو مي نويسيم
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox3.Text = TextBox1.Text + TextBox2.Text
End Sub
در كد بالا همانطور كه قبلا گفتم كد رو از سمت راست مي خونيم
مقدار تكست باكس 1و2 با هم جمع مي شه و در تكست باكس سه نمايش داده ميشه
فرض كنيد در تكست باكس اول عدد 3 و در تكست باكس دوم عدد 4 رو بنويسيم با زدن كليد جواب در تكست باكس سوم ظاهر ميشه
خروجي برنامه شما چيه؟
آيا جواب 7 در تكست باكس سوم ظاهر شد؟
خير
جواب 34 شد (البته شما از اين به بعد اين مقدار رو نبايد سي و چهار بخونيد چون دو تا رشته با هم جمع شدند جواب شده سه چهار و اصلا اين جواب ماهيت عددي نداره بلكه يك رشته ست)
خوب براي حل اين مشكل ما دو متغيير تعريف مي كنيم از جنس عدد و مقادير تكست باكس اول و دوم رو در آن متغييرها مي ريزيم و بعد دو متغيير عددي خودمون رو جمع كرده و در تكست باكس سوم مي ريزيم
كد تصحيح شده:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b As Integer
a = TextBox1.Text
b = TextBox2.Text
TextBox3.Text = a + b
End Sub
خوبه
شما تونستيد يك متغيير تعريف كنيد و بهش مقدار بديد
آخرین ویرایش به وسیله tolid123456789 : دوشنبه 07 اسفند 1391 در 17:33 عصر
جلسه ششم
---------------
شرط IF
براي اينكه شرط IF رو بهتر متوجه بشيم مثالي رو مي زنم:
فرض كنيد دو تكست باكس داريد و يك كليد اگه در تكست باكس اول عددي بزرگتر از 20 وارد شد در تكست دوم بنويسه 20< و در غير اينصورت بنويسه
20>
Dim a as integer
a=text1.text
if a>20 then
textbox2.text=">20"
else
textbox2.text="<20"
endif
دستور IF رو دربالا مشاهده كنيد
ابتدا مقداري كه در تكست 1 هست ميره داخل متغير عددي a بعد در خط دستور IF كد رو اينطوري مي خونيم
اگر (IF)
مقدار متغير a بزرگتر از 20 بود (a>20)
سپس (Then)
در تكست دوم 20< رو بنويسTextbox2.text=">20"
در غير اينصورت (Else)
در تكست دوم 20> رو بنويسTextbox2.text="<20"
و شرط IF رو تمام كن (END IF)
همانطور كه در كد بالا مي بينيد شرط دو قسمتي است و به عبارتي دو دستور در آن مي تواند بسته به شرايط اجرا شود
1- اگر بزرگتر بود
2- اگر كوچكتر بود
در بعضي از شرطها ما يك قسمت داريم مثلا
Dim firstname As String
firstname = "Shadi"
If firstname = "Shadi" Then MsgBox("firstname is Shadi")
در مثال بالا ما علاوه بر اينكه چند خطي شرط رو ننوشتيم بلكه از else if و end if هم استفاده نكرديم
البته ما اين كد رو مي تونستيم به صورت چند خطي هم بنويسيم
If firstname = "Shadi" Then
MsgBox "firstname is shadi"
End If
وقتي بعد از شرط if دستورات و نه دستور داريد نياز اون دستورات رو در خط بعد then بنويسيد
الان مثال بالا رو توسعه مي ديم
firstname = "sara"
If firstname = "shadi" Then
MsgBox "firstname is shadi"
Else
MsgBox "firstname is not sara"
End If
خوبه
شما تونستيد با دستور شرطي IF آشنا بشيد
آخرین ویرایش به وسیله tolid123456789 : سه شنبه 08 اسفند 1391 در 14:05 عصر
جلسه هفتم
---------------
Select Case
فرض كنيد ميخواهيم مقدار داخل يك تكست باكس را بررسي كنيم
اگر 0 بود - صفر -
اگر 1 بود - يك -
واگر 2 بود - دو در پنجره پيغام ظاهر شود
Dim Number_Input As Integer
Dim Msg_txt As String
Number_Input= TextBox1.Text
Select Case Number_Input
Case 0
Msg_txt= "صفر"
Case 1
Msg_txt= "يك"
Case 2
Msg_txt= "دو"
Case Else
Msg_txt= "عدد صفر يا يك يا دو تايپ نشده است"
End Select
MsgBox Msg_txt
در كد بالا مقدار درون تكست باكس درون يك متغيير عددي قرار مي گيرد
و در دستور Case چك مي شود اگر عدد درون اين متغير 0 بود در متغيير ديگري كه در ابتدا تعريف شده مقدار صفر و اگر 1 بود يك و اگر 2 بود دو و اگر هيچ كدام از آنها نبود
عدد صفر يا يك يا دو تايپ نشده است ذخيره شده و در انتها توسط پنجره پيام ظاهر مي شود
شما مي توانيد ساختار Select Case را به شكل هاي گوناگون نمايش دهيد براي مثال به كد زير توجه كنيد
Select Case agerange
Case 16 To 21
MsgBox “جوان”
Case 50 To 64
MsgBox “پير”
End Select
در مثال بالا اگر عدد مورد بررسي بين 16 تا 21 باشد كلمه جوان و اگر عدد بين 50-64 باشد كلمه پير در پيغام ظاهر خواهد شد.
خوبه
شما تونستيد با دستور Select Case آشنا بشيد
جلسه هشتم
---------------
كار با اشياء (Combobox)
در نماي طراحي فرم و در نوار ابزار كامبو را بر روي فرم درگ مي كنيم
كامبو باكس مانند تكست باكس است ولي داراي گزينه آبشاري براي نمايش آيتم هاي از پيش ثبت شده مي باشد
مثلا شما مي خواهيد به كاربرتان اين امكان را بدهيد كه نام شهر خود را انتخاب كند
در اين حالت مي توانيد با كمك اين شي نام تمام شهر ها را درون كامبو قرار داده و اجازه بدهيد تا كاربر شهر خود را انتخاب كند
براي اينكار ابتدا بايد نام شهرها راداخل كامبو قرار دهيمبر روي كامبو كليك كنيد و به نماي خصوصيات آن وارد شويد در قسمت Items مي توانيد نام شهر ها را وارد كنيد
در اين حالت اگر برنامه را اجرا كنيد شكل فرم اينگونه خواهد شد:
فرض مي كنيم كه مي خواهيم زماني كه كاربر ر روي يكي از آيتم هاي كامبو كليك كرد متن داخل آن آيتم به جاي نوار عنوان فرم نمايش داده شود (كد زير را براي رويداد تغيير ComboBox1_SelectedIndexChanged مي نويسيم - براي دسترسي به اين رويداد بر روي كامبو در نماي طراحي دابل كليك كنيد)
me.combobox1.text
خوبه
شما تونستيد با Combobox آشنا بشيد
جلسه نهم
---------------
عمليات هاي شرطي
http://www.homeandlearn.co.uk/NET/nets1p23.html
جلسه دهم
------------
حلقه For
Dim answer As Integer
Dim startNumber As Integer
answer = 0
For startNumber = 1 To 4
answer = answer + startNumber
Next startNumber
MsgBox answer
در كد بالا متغييرهاي answer و startNumber را از نوع Integer تعريف كرده ايم
خروجي برنامه را كه در يك پنجره پيغام نمايش خواهيم داد اعداد 1 تا 4 را جمع كرده و نمايش مي دهد
در ابتداي برنامه جواب 0 است خط مربوط به For متغير StartNumber را در مرحله اول 1 در نظر مي گيرد
در خط بعدي عدد 1 با مقدار 0 مربوط به answerجمع شده و مقدار جديد answer را ايجاد مي كند
0+1=1
در خط بعدي مقدار متغير افزايش مي يابد Next startNumber به عبارتي از 1 به 2 افزايش مي يابد
برنامه دوباره به خط For باز مي گردد . در اين مرحله مقدار 2 با مقدار قبلي جواب يعني 1 جمع شده و جواب جديد را تشكيل مي دهد
1+2=3
در مراحل بعدي جواب ها اينگونه خواهند بود
3+3=6
6+4=10
در اين مرحله برنامه سعي مي كند مقدار startNumber را افزايش دهد ولي حلقه ما بين 1 تا 4 كار مي كند و وقتي به عدد 5 مي رسد برنامه به خط
MsgBox answer انتقال مي يابد و آخرين جواب يعني 10 در پنجره پيغام نمايش داده مي شود.
مثال بالا يكي از ساده ترين شكل هاي برنامه For بود در قسمت هاي بعدي با شيوه هاي ديگر اين دستور آشنا مي شويد.
جلسه دهم
------------
حلقه For
ما در حلقه For مي توانيم ميزان افزايش حلقه را نيز تحت كنترل قرار دهيم به كد زير دقت كنيد
Dim answer As Integer
Dim startNumber As Integer
answer = 0
For startNumber = 1 To 4 step 2
answer = answer + startNumber
Next startNumber
MsgBox answer
با اضافه شدن Step 2 افزايش مقدار به صورت 2 عدد رو به بالا خواهد بود به عبارتي جواب ها در مراحل مختلف به شرح ذيل مي باشند
0+1=1
1+3=4
به عبارتي
startNumber در محله اول ----------- 1
startNumber در محله دوم ---------- 3
در محله بعدي حلقه startNumber بايد 5 شود ولي چون حلقه For تا عدد 4 اجازه افزايش دارد از حلقه خارج مي شويم.
جلسه دهم
------------
حلقه For
چند مثال در مورد حلقه ها
Dim number as Integer
number = 1
Do While number < 5
MsgBox number
number = number + 1
Loop
Do
number = number + 1
Loop While number < 5
Do Until number < 5
MsgBox number
number = number + 1
Loop
Do
MsgBox number
number = number + 1
Loop Until number >= 5
http://www.homeandlearn.co.uk/NET/nets3p3.html
جلسه دهم
------------
حلقه For
مثال
Dim number1 As Integer
Dim number2 As Integer
Dim multiplier As Integer
Dim answer As Integer
Dim i As Integer
number1 = Val(TextBox1.Text)
number2 = Val(TextBox2.Text)
multiplier = 2
For i = number1 To number2
answer = i * multiplier
ListBox1.Items.Add(i & " Times " & multiplier & " = " & answer)
Next i
خروجي برنامه
در مورد هر يك از كد ها اگر سئوالي داريد بپرسيد.
جلسه يازدهم
------------
نمادهاي پايه رياضي در VB.net
+
-
*
/
مثال:
answer = 8 + 4
answer = 8 - 4
answer = 8 * 4
answer = 8 / 4
مثال
8 - 4 = 4
+ 4 = 8
+ 2 = 10
* 2 = 20
تشريح مثال فوق:
خط اول عدد 8 منهاي عدد 4 مي شود و نتيجه در سمت چپ تساوي 4 خواهد شد
خط دوم عدد ايجاد شده در مرحله اول (4) با علامت + 4 عدد افزايش خواهد يافت و نتيجه 8 خواهد شد
خط سوم عدد ايجاد شده در مرحله دوم (8) دو واحد افزايش مي يابد و 10 مي شود
خط چهارم عدد 10 مرحله سوم ضرب در 2 مي شود و نتيجه 20 مي شود.
جلسه دوازدهم
------------
اضافه كردن منو به برنامه
ابتدا از نوار ابزار اين شي را به برنامه اضافه كنيم
با اضافه كردن اين شي به برنامه فرم برنامه به شكل زير در مي آيد و يك آيكن كه نشان دهنده وجود اين شي است در سيني برنامه نمايش مي يابد
در اين مرحله مي توانيد متن داخل آيتم هاي منو را مشخص كنيد
خروجي برنامه اينگونه خواهد شد
حال در نماي طراحي با دابل كليك بر روي هر يك از اين آيتم ها به رويداد كليك آنها رفته و كد مورد نظر خود را مي نويسيم تا از اين به بعد در زمان كليك كردن كاربر بر روي آنها آن رويداد اجرا شود.
براي مثال بر روي گزينه Quit دابل كليك مي كنيم و كد زير را مي نويسيم
اگر كاربر بر روي اين گزينه كليك كند پنجره فرم بسته خواهد شد.
جلسه دوازدهم
------------
ادامه بحث منو به برنامه
شما مي توانيد به هر گزينه اصلي در منو يك زير شاخه اضافه كنيد
تمامي مراحل كاري مانند حالت قبلي و با كمك ماوس امكانم پذير است
نتيجه پس از اجراي برنامه
جلسه دوازدهم
------------
ادامه بحث منو به برنامه
اضافه كردن Shortcutبه منوها
اگر بخواهيم كاربر با كمك كليد هاي F1 و ... رويداد گزينه موجود در منو را فعال كند از روش زير استفاده مي كنيم
1- با اضافه كردن & به ابتداي هر حرف از متن داخل گزينه منو در زمان اجرا با نگه داشتن Alt آن كلمه و با تايپ آن كلمه توسط كيبور آن گزينه از منو اجرا مي شود
2- ShortcutKeys
به قسمت خصوصيات گزينه مورد نظر در منو برويد
در قسمت ShortcutKeys كليد مورد نظر خود را انتخاب كنيد
از اين پس با انتخاب اين كليد از روي كيبورد در زمان اجراي برنامه دستور داخل رويداد كليك اجرا خواهد شد.در مثال زير براي دكمه خروج اينكار انجام شده است
مثال شماره 1
---------------
در این مرحله یک مثال رو مرحله به مرحله دنبال می کنیم
فرمی که در درس منو ها ایجاد کردیم رو تکمیل کنید