Visual Basic .NET

advertisement
10 July 2010
1
VB.NET PROGRAMMING
Visual Basic .NET
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
2
Visual Basic .NET
Visual Basic .NET
VB.NET PROGRAMMING



Object based programming language
Object oriented programming language
Usage
 As a programming language
 VBA
 Web Design (ASP.NET)
 Script files
 CCE (Control Creation Edition)
By: S. Hassan Adelyar
10 July 2010
3
Visual Basic .NET
VB.NET PROGRAMMING

Visual Basic .NET
 BASIC / GW Basic
 QBasic
 VB 1 – 1991
 VB 6 1998
 VB .NET 2000 (V 7)
 VB .NET 2003 (V 7.1)
 VB .NET 2005
 VB.NET 2008
 VB.NET 2010
By: S. Hassan Adelyar
10 July 2010
4
.NET Framework
Visual Basic .NET
The advancement of programming tools
still make the software development more
complex.
 Writing robust enterprise-level applications
is a complex job.
 Writing software is difficult, but many
other factors make producing good
software harder and more complicated.
VB.NET PROGRAMMING

By: S. Hassan Adelyar
10 July 2010
5
Visual Basic .NET
VB.NET PROGRAMMING



Windows Inconsistencies
At Windows environment we have at least 3
different programming model for producing
graphic-intensive applications:
 GDI
 DirectX
 OpenGL
Each model is completely different with other.
By: S. Hassan Adelyar
10 July 2010
6
Visual Basic .NET
MS Developed different models for accessing
databases.
 Data Access Object (DAO)
 Remote Data object (RDO)
 ActiveX Data Object (ADO)
 They are largely incompatible with each other.
VB.NET PROGRAMMING

By: S. Hassan Adelyar
10 July 2010
7
Visual Basic .NET
VB.NET PROGRAMMING

Windows itself has differences:
 Windows 95
 Windows 98
 Windows ME
 Windows 2000
 Windows CE
 Windows XP
By: S. Hassan Adelyar
10 July 2010
8
Visual Basic .NET
Therefore, programming is a difficult job.
 .NET environment offer programming model
that allows programs created in diversity
programming languages to communicate
with each other.
VB.NET PROGRAMMING

By: S. Hassan Adelyar
VB.NET PROGRAMMING
9
.NET
10 July 2010
Visual Basic .NET
 MS Strategy
 The advancement of programming tools and customer
electronic devices created many challenges.
 Integrating software components from diverse languages
proved difficult.
 Developers also discovered they needed web-based applications
that could be accessed and used via the Internet.
 As programmable devices, such as PDA and cell phones, grew in
popularity in the late 1990s, the need for these components to
interact with others via the internet rose dramatically.
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
10
Visual Basic .NET
 As a result of the popularity of mobile electronic devices, software
developers realized that their clients were no longer restricted to
desktop users. Developers recognized the need for software
accessible to anyone from almost any type of device.
 To address these needs, micro-soft announced the introduction of
the micro-soft.NET strategy in 2000. The .NET platform is one
over which web-based applications can be distributed to a variety
of devices (such cell phone) and to desktop computers. The .NET
platform offers a new programming model that allows programs
created in disparate programming languages to communicate with
each other.
By: S. Hassan Adelyar
10 July 2010
11
Visual Basic .NET
VB.NET PROGRAMMING

.NET
 MS Strategy
 The layer that sits between the language (in this case,Visual Basic) and the
operating system
 Web-based applications can be distributed to a variety of devices on the net /
Internet.
 Offer programming model that allows programs created in diversity
programming languages to communicate with each other.
 Advancement of programming tools and electronic devices create many
challenges.
 Integrating software components from diverse languages proved difficult.
 Web-based applications that could be accessed through Internet.
By: S. Hassan Adelyar
10 July 2010
12
Visual Basic .NET
VB.NET PROGRAMMING

.NET Intentions:
Interoperability
 Language Independence
 Base Class Library
 Platform Independence

By: S. Hassan Adelyar
10 July 2010
13
Visual Basic .NET
VB.NET PROGRAMMING

DLL
 Software components
 When Windows needed a particular features it
loaded only the pieces that was needed. These
pieces are called DLL.
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪14‬‬
‫‪Visual Basic .NET‬‬
‫برای کار در ویژول بسیک دات نت یک پروژه(‪ ) Project‬را باز کنید‪ .‬پروژه عبارت از‬
‫مجموعه فایل های یک پروگرام میباشد‪ .‬هر پروگرام میتواند دارای چندین فالی باشد‪.‬‬
‫بعضی از این فایل ها حاوی کود )‪(Code‬پروگرام‪ ،‬و برخی دیگر آن حاوی اشکال‬
‫ظاهري پروگرام میباشد‪.‬‬
‫ویژول بسیک دات نت بعد از اجراي هر پروگرام براي همان پروگرام چند فولدر را‬
‫ایجاد مینماید‪:‬‬
‫یک فولدر بنام ‪ bin‬که در آن پروگرام اجرا شده و اجزاي آن را حفظ مینماید‪.‬‬
‫فولدر ‪ obj‬که منابع که به ‪ Application‬تخصیص گردیده آنرا حفظ مینماید‪.‬‬
‫فولدر ‪ Myproject‬که فایلهاي عیارسازي را حفظ میکند‪.‬‬
‫درپروژه کار باالي فورم )‪ (Form‬میباشد‪ .‬در یک پروژه چندین فورم مي تواند وجود‬
‫داشته باشد‪ .‬و فورم یک آبجکت است‪ .‬پس فورم دارای خصوصیات )‪(Properties‬‬
‫است‪ .‬فورم دارای میتود ها )‪ (Methods‬است‪ .‬و فورم دارای حادثات )‪ (Events‬است‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫محيط کاري ويژول بسيک دات نت‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪15‬‬
‫‪Visual Basic .NET‬‬
‫پروژه و فورمهاي مربوط همان پروژه باید در دیسک ذخیره )‪ (Save‬شود‪ .‬در ویژول‬
‫بسیک دات نت فورم را بنام فورم ویندوز )‪ (Windows Form‬یاد میکند‪.‬‬
‫در وسط صفحه فورم است‪ .‬در قسمت باالي صفحه مینو ها )‪ (Menus‬و ابزار )‪(Tools‬‬
‫قرار دارد‪ .‬به طرف چپ صفحه کنترولها و یا آبجکت هاي اند که در اثناي کار در پروژه‬
‫از آن استفاده میشود‪ .‬هر کدام ازاین آبجکت ها داراي خصوصیات‪ ،‬میتود ها و حادثات‬
‫است‪ .‬در طرف راست صفحه‪ ،‬خصوصیات )‪ (Properties‬آبجکت انتخاب شده نشان داده‬
‫شده است‪ .‬و شما میتوانید با تعین قیمت براي هر یک از این خصوصیات نمایش آبجکت‬
‫را تغیر دهید‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫محيط کاري ويژول بسيک دات نت‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫ارتباط گرافيکي استفاده کننده‬
‫)‪Graphical User Interface (GUI‬‬
‫‪Visual Basic .NET‬‬
‫‪ GUI‬عبارت از راه گرافیکي ارتباط است که به کمک آن استفاده کننده کمپیوتر به شکل‬
‫گرافیکي ومرئي با پروگرام ها ارتباط برقرار میکند‪ GUI .‬داراي اجزاي مختلف از قبیل‬
‫مینوها )‪ ،(Menus‬دکمه ها )‪ ، (Buttons‬باکس هاي متن )‪ ،(TextBoxes‬لیبل‬
‫ها)‪ ،ScrollsBars ،(Labels‬دکمه هاي اختیاري )‪ ،(Option Buttons‬کامبو باکس‬
‫)‪ ،(ComboBoxes‬لست باکس ها )‪ (ListBoxes‬و غیره میباشد‪ .‬اجزاي ‪ GUI‬در‬
‫حقیقت آبجکتهاي است که از طریق آن و به کمک موس یا صفحه کلید استفاده کننده‬
‫همراي پروگرام ارتباط برقرار میکند‪ .‬این آبجکتها را بنام کنترول ها هم یاد میکند‪ .‬براي‬
‫ایجاد کردن ‪ GUI‬از فورم )‪ (Form‬استفاده میشود‪ .‬فورم هم یک کنترول یا ابجکت‬
‫است که کنترولها و آبجکتهاي دیگر باالي آن قرار داده میشود‪ .‬در ویژول بسیک دات نت‬
‫ده ها ابجکت وجود دارد و پروگرامر هم میتواند آبجکتهاي جدید را ایجاد نماید‪.‬‬
‫دراینجا بعضي از ابجکتهاي که استفاده بیشتر دارد مورد بحث قرار میدهیم‪.‬‬
‫‪16‬‬
‫‪10 July 2010‬‬
‫آبجکتهاي ويژول بسيک‬
‫‪17‬‬
‫‪Visual Basic .NET‬‬
‫‪‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫فورم )‪(Form‬‬
‫فورم یک آبجکت مهم ویژول بسیک است‪ .‬در اثناي کار در پروژه هاي ویژول بسیک‬
‫فورم مانند زمین براي آبجکت هاي دیگري که در پروژه استفاده میشود‪ ،‬میباشد‪ .‬آبجکت‬
‫ها باالي فورم قرار داده میشود‪.‬‬
‫طوریکه قبال نیز یادآور شدیم که فورم یک آبجکت است‪ ،‬پس فورم داراي خصوصیات‬
‫)‪ ،(Properties‬میتودها )‪ ،(Methods‬و حادثات ‪ (Events‬است‪ .‬در این قسمت جهت‬
‫آشنائي با محیط کاري ویژول بسیک دات نت بعضي خصوصیات )‪،(Properties‬‬
‫میتودها )‪ ،(Methods‬و حادثات )‪ (Events‬فورم را با چند مثال مطالعه می نمائیم‪:‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫خصوصيات فورم‪(Form Properties):‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫خصوصیات طرز نمایش آبجکتها را تعین میکند‪ .‬فورم داراي خصوصیات بوده که طرز‬
‫نمایش فورم را تعین میکند‪ .‬خصوصیات فورم قیمت هاي مختلف را به خود گرفته‬
‫میتواند‪ .‬در اثر این قیمت هاي متفاوت نمایش فورم تغیر میکند‪ .‬قیمت خصوصیات فورم‬
‫را هم از حالت دیزاین فورم و هم از کود تغیر داده میتوانیم‪ .‬قابل تذکر است که قیمت‬
‫بعضي خصوصیات را تنها از کود تغیر داده میتوانیم‪.‬‬
‫‪18‬‬
‫‪10 July 2010‬‬
‫‪19‬‬
‫‪Visual Basic .NET‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫خصوصیات مهم فورم قرار ذیل است‪:‬‬
‫خاصيت ‪ :Name‬توسط خاصیت ‪ ، Name‬نام براي فورم تعین کرده میتوانیم‪ .‬به کمک‬
‫همین نام فورم در ویژول بسیک شناخته میشود‪ .‬از نام فورم بیشتر در کود ویژول بسیک‬
‫استفاده میشود‪ .‬مثال اگر خواسته باشیم رنگ زمین یک فورم را تغیر دهیم‪ ،‬از نام فورم‬
‫باید استفاده نمائیم‪:‬‬
‫‪Form1.BackColor = Color.Red‬‬
‫دستور فوق رنگ زمین )‪ (BackColor‬براي ‪ Form1‬را به رنگ سرخ تبدیل میکند‪.‬‬
‫در این دستور خود فورم که بنام ‪ Form1‬است آبجکت است‪ BackColor ،‬خاصیت‬
‫فورم است و ‪ Color.Red‬قیمت است که به این خاصیت (متحول) داده شده است‪ .‬اگر‬
‫خواسته باشیم تا نام فورم را تغیر دهیم‪ ،‬به خاصیت ‪ Name‬آن قیمت میدهیم‪ .‬مثال‬
‫میخواهیم نام فورم را به ‪ frmCSF‬تبدیل نمائیم‪ ،‬پس به خاصیت ‪ Name‬فورم قیمت‬
‫‪ frmCSF‬میدهیم‪.‬‬
‫‪Form1.Name = frmCSF‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫دستور فوق نام فورم را از ‪ Form1‬به ‪ frmCSF‬تبدیل میکند‪.‬‬
‫نوت‪ :‬در ویژول بسیک دات نت اگر از داخل خود فورم قیمت یک خاصیت را تغیر‬
‫میدهیم باید از ‪ Alias‬فورم )‪ (Me‬استفاده کنیم‪ .‬براي تغیر دادن رنگ آن باید طور ذیل‬
‫تایپ نمائیم‪:‬‬
‫‪Me.BackColor = Color.Azure‬‬
‫خاصيت ‪ :Backcolor‬این خاصیت رنگ زمین فورم را تعین میکند‪.‬‬
‫‪Form1.BackColor = Color.Red‬‬
‫خاصيت ‪ :BackgroundImage‬توسط این خاصیت براي صفحه فورم یک تصویر را‬
‫انتخاب کرده میتوانیم‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪20‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫خاصيت ‪ :Forecolor‬این خاصیت رنگ متن فورم را تعین میکند‪.‬‬
‫‪ Form1.forecolor = Color.Blue‬‬
‫خاصيت ‪ :ControlBox‬این خاصیت داراي قیمت درست )‪ (True‬و نادرست )‪(False‬‬
‫میباشد‪ .‬اگر قیمت آن درست باشد کنترولهاي که جهت بسته نمودن فورم )‪، (Close‬‬
‫‪ Restore‬کردن فورم و خورد ساختن فورم )‪ (Minimize‬است نشان داده میشود‪ .‬و‬
‫اگر قیمت آن نادرست )‪ (False‬باشد این کنترولها نشان داده نمیشود‪.‬‬
‫خاصيت ‪ :Cursor‬این خاصیت شکل موس را باالي آبجکت تعین میکند‪.‬‬
‫خاصيت ‪ :FormBorderStyle‬این خاصیت طرز نمایش چوکات فورم را تعین میکند‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪21‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫خاصيت ‪ :MinimizeBox‬این خاصیت میتواند قیمت درست و نادرست داشته باشد‪ .‬اگر‬
‫قیمت آن درست باشد فورم را بعد از اجراي پروگرام هم میتوانیم خورد نمائیم‪ .‬و اگر‬
‫قیمت آن نادرست باشد در آنصورت فورم را بعد از اجراي پروگرام خورد ساخته‬
‫نمیتوانیم‪.‬‬
‫خاصيت ‪ :Text‬این خاصیت عنوان فورم را تعین میکند‪ .‬قیمت این خاصیت‪ ،‬که معموال‬
‫یک متن میباشد‪ ،‬عنوان فورم میشود‪.‬‬
‫خاصيت ‪ :MaximizeBox‬این خاصیت نیز میتواند قیمت درست و نادرست داشته باشد‪.‬‬
‫اگر قیمت آن درست باشد فورم را بعد از اجراي پروگرام هم میتوانیم بزرگ نمائیم‪ .‬و اگر‬
‫قیمت آن نادرست باشد در آنصورت فورم را بعد از اجراي پروگرام بزرگ ساخته‬
‫نمیتوانیم‪.‬‬
‫خاصيت ‪ :Icon‬توسط این خاصیت براي فورم ‪ Icon‬را تعین کرده میتوانیم‪.‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪22‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫خاصيت ‪ :TopMost‬اگر قیمت این خاصیت درست باشد فورم هروقت باالي آبجکتهاي‬
‫دیگر قرار میگیرد‪.‬‬
‫خاصيت ‪ :ShowIcon‬این خاصیت میتواند داراي قیمت درست و یا نادرست باشد‪ .‬در‬
‫صورتیکه قیمت ان درست باشد ‪ Icon‬فورم نشان داده میشود و اگر نادرست باشد ‪Icon‬‬
‫فورم نشان داده نمیشود‪.‬‬
‫خاصيت ‪ :RightToLeft‬این خاصیت هم میتواند قیمت ‪ True‬و یا ‪ False‬را داشته‬
‫باشد‪ .‬اگر قیمت آن ‪ True‬باشد در صفحه فورم از راست به چپ نوشته میشود (براي متن‬
‫عربي‪ ،‬دري ویا پشتو)‪ ،‬و اگر قیمت آن ‪ False‬باشد از چپ به طرف راست نوشته‬
‫میگردد ( براي متن انگلیسي)‪.‬‬
‫‪ Form1.RightToLeft = True‬‬
‫خاصيت ‪ :ShowInTaskbar‬اگر قیمت این خاصیت درست باشد‪ ،‬فورم در اثناي اجرا‬
‫در ‪ Taskbar‬ویندوز نشان داده میشود‪ .‬و اگر نادرست باشد نشان داده نمیشود‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪23‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫خاصيت ‪ :StartPosition‬توسط این خاصیت محل فورم را در اثناي اجراي پروگرام‬
‫تعین کرده میتوانیم‪.‬‬
‫خاصيت ‪ :AcceptButton‬این خاصیت دکمه که در اثر فشار دادن کلید ‪ Enter‬صفحه‬
‫کلید اجرا شود را تعین میکند‪.‬‬
‫خاصيت ‪ :AutoScroll‬قیمت منطقي )‪ (Boolean‬که نشان دادن ویا عدم نشان دادن‬
‫‪ ScrollBars‬را تعین میکند‪.‬‬
‫خاصيت ‪ :CancelButton‬این خاصیت دکمه که در اثر فشار دادن کلید ‪ Enter‬صفحه‬
‫کلید اجرا شود را تعین میکند‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪24‬‬
10 July 2010
VB.NET PROGRAMMING
25
Visual Basic .NET
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Me.BackColor = Color.Coral
Me.Text = "Kabul University"
Me.ControlBox = False
Me.ForeColor = Color.BlueViolet
Me.Cursor = Cursors.Hand
Me.AutoScroll = True
End Sub
End Class
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫ميتود هاي فورم )‪(Form Methods‬‬
‫‪26‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬فورم داراي میتود ها است‪ .‬میتود ها عبارت از پروگرام هاي فرعي از قبل تهیه شده است‬
‫که در داخل کالس تعریف گردیده و آبجکت هاي همان کالس آنرا استفاده میکند‪ .‬میتودها‬
‫در حقیقت کار هاي را تعین میکند که یک آبجکت آنرا انجام داده میتواند‪.‬‬
‫‪ ‬بعضي میتود هاي مهم فورم قرار ذیل میباشد‪:‬‬
‫‪ ‬ميتود ‪ :Show‬این میتود فورم را در صفحه نمایش نشان میدهد‪ .‬به پروگرام فرعي ذیل‬
‫توجه کنید‪:‬‬
‫‪Public Class Form1‬‬
‫‪Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As‬‬
‫‪System.EventArgs) Handles Button1.Click‬‬
‫)(‪Form2.Show‬‬
‫‪End Sub‬‬
‫‪End Class‬‬
VB.NET PROGRAMMING
27
(Form Methods) ‫ميتود هاي فورم‬
10 July 2010
Visual Basic .NET
‫ به مثال ذیل‬.‫ این میتود فورم را از روی صفحه نمایش مخفی می سازد‬:Hide ‫ميتود‬
:‫توجه نمائید‬
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Form2.hide()
End Sub
End Class







By: S. Hassan Adelyar
VB.NET PROGRAMMING
28
(Form Methods) ‫ميتود هاي فورم‬
10 July 2010
Visual Basic .NET
.‫ این میتود با دو بار فشار دادن دکمه موس باالي فورم پروگرام شده میتواند‬:Load ‫ميتود‬
:‫ را نشان میدهد‬Load ‫پروگرام ذیل میتود‬
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.ControlBox = False
End Sub
:‫ را نشان میدهد‬Load ‫ پروگرام ذیل میتود‬.‫ این میتود فورم را بسته میکند‬:Close ‫ميتود‬
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Close()
End Sub
By: S. Hassan Adelyar


‫‪10 July 2010‬‬
‫‪‬‬
‫حادثات فورم‬
‫)‪(Form Events‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫در محیط هاي شي گرا‪ ،‬براي نوشتن پروگرام‪ ،‬روش هاي متعدد وجود دارد‪ .‬یکي از این‬
‫روشها استفاده از حادثات )‪ (Events‬است‪ .‬حادثه چه است؟ حادثه یا رویداد عبارت از‬
‫یک عمل میباشد که باالي یک شي یعني آبجکت اجرا میشود‪ .‬اگر دکمه موس را باالي‬
‫دکمه امر )‪ (Command Button‬فشار دهیم حادثه فشار دادن دکمه موس )‪ (Click‬رخ‬
‫میدهد‪ .‬همراي هر حادثه میتوانیم دستور هاي مشخص را اجرا نمائیم‪ .‬از اینکه فورم یک‬
‫آبجکت است پس فورم داراي حادثات )‪ (Events‬است‪ .‬حادثات عبارت از کارهاي‬
‫است که باالي فورم انجام شده میتواند‪ .‬اکثر حادثات فورم توسط موس و یا صفحه کلید‬
‫انجام میشود‪.‬‬
‫‪29‬‬
10 July 2010
VB.NET PROGRAMMING
30
Visual Basic .NET
‫ این حادثه وقتي رخ میدهد که باالی فورم یکبار توسط دکمه موس فشار‬:Click ‫ حادثه‬
:‫ به مثال ذیل توجه کنید‬.‫وارد شود‬
Public Class Form1
Private Sub Form1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Click
Me.BackColor = Color.FromArgb(Rnd() * 255, Rnd() * 255, Rnd()
* 255)
End Sub
End Class
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
31
Visual Basic .NET
‫ این حادثه وقتي رخ میدهد که باالی فورم دوبار توسط دکمه موس‬:Dblclick ‫حادثه‬
.‫فشار وارد شود‬
Private Sub Form1_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.DoubleClick
Me.Text = "You clicked twice"
MessageBox.Show("Please click on Ok")
End Sub
By: S. Hassan Adelyar

‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫عنوان يا نشاني (‪: )Label‬این کنترول جهت نشان دادن متن در روی فورم به کار برده‬
‫میشود‪ .‬معموال عناوین در روی فورم توسط همین کنترول نشان داده میشود‪ .‬کنترول‬
‫‪ Label‬نیز یک شي یعني آبجکت بوده فلهذا داراي خواص است‪ .‬بعضي خواص آن مانند‬
‫فورم بوده و قسمتي دیگر از خواص )‪ (Properties‬آن قرار ذیل است‪:‬‬
‫خاصیت ‪ :Text‬عنوان یا محتوي ‪ Label‬را حفظ میکند‪.‬‬
‫خاصیت ‪ :Font‬فونت ‪ Label‬را تعین میکند‪.‬‬
‫خاصیت ‪ : BorderStyle‬نمایش چوکات ‪ Label‬را تعین میکند‪.‬‬
‫خاصیت ‪ :Location‬محل قرار گرفتن ‪ Label‬باالي فورم را تعین میکند‪.‬‬
‫خاصیت ‪ Alignment :TextAlign‬متن ‪ Label‬را تعین میکند‪ .‬متن میتواند از طرف‬
‫راست ‪ Align‬باشد ویا چپ و یا هم در وسط یک کنترول قرار داشته باشد‪.‬‬
‫خاصیت ‪ :Visible‬این خاصیت میتواند قیمت درست )‪ (True‬ویا نادرست )‪(False‬‬
‫باشد‪ .‬اگر قیمت آن درست باشد ‪ Label‬در اثناي اجراي پروگرام در باالي فورم نشان‬
‫داده میشود‪ .‬و اگر نادرست باشد نشان دهده نمیشود‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪32‬‬
VB.NET PROGRAMMING
33
‫استفاده ازکنترولها‬
10 July 2010
Visual Basic .NET
.‫ اکنون میخواهیم طرز استفاده این کنترولها را با ارائه مثالهاي آن مورد بحث قرار دهیم‬
‫چون هر کنترول یک آبجکت است پس هر یک از کنترول هاي فوق داراي خصوصیات‬
.‫( است‬Events) ‫ و حادثات‬،(Methods) ‫ میتود ها‬،(Properties)
‫ و‬،TextBox2 ،TextBox1 ‫ پروگرام فرعی ذیل مجموع اعداد که در‬:1 ‫ مثال‬
:‫ نشان میدهد‬TextBox4 ‫ است در‬TextBox3
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox4.Text = Val(TextBox1.Text) + Val(TextBox2.Text) +
Val(TextBox3.Text)
End Sub
By: S. Hassan Adelyar
VB.NET PROGRAMMING
34
‫استفاده ازکنترولها‬
10 July 2010
Visual Basic .NET
‫ و‬،TextBox2 ،TextBox1 ‫ پروگرام فرعی ذیل اوسط اعداد که در‬:2 ‫ مثال‬
:‫ نشان میدهد‬TextBox4 ‫ است در‬TextBox3
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
TextBox5.Text = (Val(TextBox1.Text) + Val(TextBox2.Text) +
Val(TextBox3.Text)) / 3
End Sub

By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
35
Visual Basic .NET
‫ است یافته و آنرا در‬،TextBox2 ‫ عدد که در‬m ‫ پروگرام فرعی ذیل جذر‬:3 ‫ مثال‬
:‫ نشان میدهد‬TextBox3
Private Sub btntotal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btntotal.Click
Dim m As Integer
m = Val(TextBox1.Text)
TextBox3.Text = Val(TextBox2.Text) ^ (1 / m)
End Sub
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫طوریکه میدانیم که از لسانهاي پروگرام نویسي براي نوشتن پروگرامها استفاده میشود‪.‬‬
‫هر پروگرام که شما در کمپیوتر تان میبینید و یا از آن استفاده میکنید به کمک لسانهاي‬
‫پروگرام نویسي تهیه میشود‪ .‬بدون وجود لسانهاي پروگرام نویسي پروگرامهاي کمپیوتري‬
‫را تهیه کرده نمیتوانیم و در اثناي کار باکمپیوتر باید از لسان خود کمپیوتر که عبارت از‬
‫صفر ویک است استفاده نمائیم‪.‬‬
‫هر لسان پروگرام نویسي داراي کلمات کلیدي )‪ ،(Key-words‬دستورها‪ ،‬وهمچنین‬
‫قواعد امالئي )‪ (Syntax Rules‬براي نوشتن پروگرامها است‪ .‬جهت استفاده از یک لسان‬
‫براي ساختن پروگرامها‪ ،‬آموختن دستورها و قواعد امالئي آن ضروري میباشد‪.‬‬
‫خوشبختانه که منطق ساختن پروگرامها در لسانهاي مختلف پروگرام نویسي یکسان بوده و‬
‫فهم یک لسان در آموختن لسان دیگر کمک میکند‪ .‬به نظر من اکر ما یک لسان پروگرام‬
‫نویسي را بهتر یاد بگیریم بعد از آن خودما میتوانیم لسانهاي دیگر پروگرام نویسي را‬
‫بیاموزیم‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫پروگرام نويسی در ويژول بسيک دات نت‬
‫‪36‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪37‬‬
‫‪Visual Basic .NET‬‬
‫قسمتي ازحافظه کمپیوتر است که به یک نام مسمي گردیده (نام متحول) و قیمت ها را در‬
‫اثناي اجراي پروگرام ذخیره میکند‪ ،‬عبارت از متحول میباشد‪ .‬برای اینکه یک متحول را‬
‫استفاده کرده بتوانیم اول باید آنرا تعریف کنیم‪ .‬در ویژول بسیک متحول را توسط دستور‬
‫‪ Dim‬تعریف کرده میتوانیم‪.‬‬
‫شکل عمومی دستور ‪ Dim‬قرار ذیل است‪:‬‬
‫‪ Dim‬‬
‫‪ As‬نام متحول‬
‫نوع متحول‬
‫نام متحول در ویژول بسیک میتواند از یک تا ‪ 255‬حرف باشد‪ .‬کلمات کلیدی ‪(Key‬‬
‫)‪ Words‬ویژول بسیک را نمی توانیم به حیث نام متحول استفاده نمائیم‪.‬‬
‫نوع متحول میتواند عددی‪ ،‬حروفی‪ ،‬منطقي‪ ،‬تاریخ و یا تعریف شده توسط استفاده کننده‬
‫باشد‪ .‬در حقیقت نوع متحول قیمت هاي را که متحول گرفته میتواند و طرز ذخیره آنرا‬
‫تعین میکند‪ .‬متحول عددی در ویژول بسیک به پنج نوع ذیل میباشد‪:‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫متحول )‪(Variable‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫‪ : Byte‬این نوع متحول قیمت هاي بدون عالمه از صفر تا ‪ 255‬را گرفته و یک بایت از‬
‫حافظه کمپیوتر را اشغال میکند‪.‬‬
‫‪ :Integer‬این نوع متحول چهار بایت از حافظه کمپیوتر را اشغال میکند‪.‬‬
‫‪ :Long‬این نوع متحول هشت بایت از حافظه کمپیوتر را اشغال میکند‪.‬‬
‫‪ :Single‬این نوع متحول نیز چهار بایت از حافظه کمپیوتر را اشغال میکند‪.‬‬
‫‪ :Double‬این نوع متحول نیز هشت بایت از حافظه کمپیوتر را اشغال میکند‪.‬‬
‫عالوه برانواع عددی ‪ Data‬یک متحول میتواند یکی ازانواع ذیل نیزباشد‪:‬‬
‫متحول حروفی‪ :‬برای تعریف متحول حروفی‪ ،‬در قسمت نوع متحول کلمه کلیدی ‪String‬‬
‫را مینویسیم‪ .‬به مثال ذیل توجه کنید‪:‬‬
‫‪Dim stname As string‬‬
‫متحول حروفي به تعداد حروف سلسله جمع ‪ 10‬بایت دیگر حافظه را اشغال میکند‪ .‬مثال‬
‫اگر سلسله ‪ 15‬حرفي را ذخیره مینمائیم ‪ 25‬بایت حافظه گرفته میشود‪.‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪38‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪39‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫متحول منطقي يا بولی(‪ : )Boolean‬اینوع متحول قیمت های درست(‪ )True‬ویا‬
‫نادرست(‪ )False‬را ذخیره میکند‪ .‬اینوع متحول قیمت درست را توسط صفر و قیمت‬
‫نادرست را توسط ‪ -1‬نشان میدهد‪ .‬ویژول بسیک دو بایت (البته این نقطه مربوط به‬
‫سیستم عامل هم است و از یک سیستم عامل تا سیستم عامل دیگر فرق میکند) را براي‬
‫متحول بولي در نظر میگیرد‪.‬متحول بولي را طور ذیل تعریف کرده میتوانیم‪:‬‬
‫‪ AS BOOLEAN‬نام متحول ‪ DIM‬‬
‫‪ Example:‬‬
‫‪ DIM pass AS BOOLEAN‬‬
‫‪10 July 2010‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬نوت‪ :‬همراي متحول منطقي از عملگرهاي منطقي مانند ‪ OR ،NOT‬و ‪ AND‬هم‬
‫استفاده کرده میتوانیم‪ .‬مثال عملگر ‪ NOT‬قیمت متحول منطقي را به قیمت عکس آن تغیر‬
‫میدهد‪:‬‬
‫‪Pass = NOT pass‬‬
‫در حقیقت دستور فوق جاي چندیدن دستور ذیل را میگیرد‪:‬‬
‫‪IF pass = TRUE THEN‬‬
‫‪Pass = FALSE‬‬
‫‪ELSE‬‬
‫‪Pass = TRUE‬‬
‫‪END IF‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪40‬‬
‫‪10 July 2010‬‬
‫‪‬‬
‫‪41‬‬
‫‪‬‬
‫‪‬‬
‫متحول ‪ Date‬را طور ذیل تعریف کرده میتوانیم‪:‬‬
‫‪AS DATE‬‬
‫‪By: S. Hassan Adelyar‬‬
‫نام متحول ‪DIM‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫متحول ‪ : Date‬اینوع متحول قیمت های که به شکل تاریخ ووقت باشد گرفته میتواند‪.‬‬
‫تاریخ و وقت در داخل کمپیوتر به یک فارمت خاص که بنام ‪ Double-precision‬یاد‬
‫میشود‪ ،‬ذخیره میگردد‪ .‬قسمت تام این عدد تاریخ و قسمت اعشاري آن وقت را تمثیل‬
‫میکند‪ .‬متحول ‪ Date‬هشت بایت حافظه را اشغال میکند‪ .‬این متحول میتواند قیمت هاي از‬
‫‪ 00:00:00‬اول جنوري سال ‪ 1‬تا به ‪ 11:59:59‬ماه دیسمبر سال ‪ 9999‬را ذخیره نماید‪.‬‬
10 July 2010
42
VB.NET PROGRAMMING
Visual Basic .NET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim stdate As Date
stdate = Date.Now
TextBox1.Text = stdate.Date
TextBox2.Text = stdate.DayOfWeek
TextBox3.Text = stdate.DayOfYear
TextBox4.Text = stdate.Kind
TextBox5.Text = stdate.Month
TextBox6.Text = stdate.Hour
TextBox7.Text = stdate.Year
TextBox8.Text = stdate.Ticks
End Sub
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫‪43‬‬
‫‪Visual Basic .NET‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫متحول آبجکت‪:‬‬
‫‪ ‬اینوع متحول میتواند آبجکت های ‪ VB‬را ذخیره نماید‪ .‬مقدار حافظه که توسط متحول‬
‫آبجکت گرفته میشود نظر به سیستم عامل فرق میکند‪ .‬در سیستم عامل ‪ 32‬بیتي چهار بایت‬
‫و در سیستم عامل ‪ 64‬بیتي ‪ 8‬بایت حافظه را اشغال میکند‪ .‬این نوع متحول ریفرنس هر‬
‫نوع (مانند ‪ Class ،Array ،String‬و غیره) را ذخیره کرده میتواند‪ .‬وقتیکه نوع ‪Data‬‬
‫در اثنای اجرای پروګرام برای ما معلوم نباشد از این نوع متحول استفاده میکنیم‪.‬‬
‫‪Dim myObject As Object‬‬
‫‪Dim datTyp As Integer‬‬
‫‪Dim v As Object‬‬
‫“‪v = "17‬‬
‫‪v = v – 15‬‬
‫‪v = "H" & v‬‬
‫‪10 July 2010‬‬
‫ثابت )‪(Constant‬‬
‫‪44‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬ثابت عبارت از نوع ‪ Data‬است که قیمت ان در اثناي اجراي پروگرام تغیر نمیکند‪ .‬در‬
‫ویژول بسیک ثابت را طور ذیل تعریف کرده میتوانیم‪:‬‬
‫‪Const pi AS DOUBLE = 3.1415926‬‬
‫‪ ‬ثابت نظر به متحول داراي خوبي هاي ذیل میباشد‪:‬‬
‫‪ ‬قیمت ثابت بعد از تعریف آن تغیر نمیکند‪.‬‬
‫‪ ‬با تغیر دادن قیمت آن در تمام قسمت هاي پروگرام‪ ،‬قیمت آن تغیر گردیده و اینکار باعث‬
‫سهولت در تغیر قیمت ها میشود‪.‬‬
‫‪ ‬ثابت نظر به متحول به سرعت و آساني توسط کمپیوتر پراسس میشود‪.‬‬
‫‪ ‬بعضی اوقات ضرورت می افتد تا نوع متحول را تغیر دهیم ‪ .‬جدول ذیل توابع ‪VB‬را‬
‫نشان میدهد که توسط آن می توانیم یک متحول را از یک نوع به نوع دیگر تغیر دهیم‪:‬‬
VB.NET PROGRAMMING
45
(Constant) ‫ثابت‬
Visual Basic .NET
 CByte
Byte
 Cdate
Date
 Cdbl
Double
 Cint
Integer
 Clng
Long
 CSng
Single
 Cstr
String
 CVar
Variant
By: S. Hassan Adelyar
10 July 2010
‫‪10 July 2010‬‬
‫‪‬‬
‫‪‬‬
‫‪Visual Basic .NET‬‬
‫امتحان نمودن نوع متحول ‪ :‬برای معلوم نمودن نوع متحول از دو تابع ذیل استفاده کرده‬
‫می توانیم‪:‬‬
‫) (‪ :VarType‬جواب عددی که همان عدد نظربه نوع متحول فرق میکند‪.‬‬
‫) (‪ : TypeName‬جواب ‪ string‬که همان ‪ string‬نوع متحول را نشان میدهد‪.‬‬
‫‪Vbinteger 2‬‬
‫‪Vblong‬‬
‫‪3‬‬
‫‪Vbsingle‬‬
‫‪4‬‬
‫‪Vbdate‬‬
‫‪7‬‬
‫‪Vbstring‬‬
‫‪8‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪46‬‬
10 July 2010
VB.NET PROGRAMMING
47
Visual Basic .NET
:‫ هم استفاده کرده میتوانیم‬Parse ‫ از تابع‬Value ‫ به‬Text ‫ براي تبدیل کردن‬
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox3.Text = Integer.Parse(TextBox1.Text) +
Integer.Parse(TextBox2.Text)
End Sub
End Class
By: S. Hassan Adelyar
10 July 2010
48
Visual Basic .NET
VB.NET PROGRAMMING
:‫ استفاده کنیم‬CType ‫ویا هم میتوانیم از تابع‬

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox3.Text = CType(TextBox1.Text, Integer) +
CType(TextBox2.Text, Integer)
End Sub
End Class
By: S. Hassan Adelyar
VB.NET PROGRAMMING
49
(Conditional Statements) ‫دستور های شرطی‬
10 July 2010
Visual Basic .NET
:‫ از دستور های ذیل استفاده میشود‬،‫برای اجرای مشروط یک یا چند سطر پروگرام‬
IF ……..THEN
IF……...THEN…….ELSE
SELECT……CASE
:‫ قرار ذیل است‬IF….THEN ‫شکل عمومی‬
IF Condition THEN Statement
:‫همچنین این دستور را طور ذیل نیز استفاده کرده میتوانیم‬
IF Condition THEN
Statement(s)
END IF
:‫ قرار ذیل است‬IF….THEN…..ELSE ‫ شکل عمومی‬

IF Condition-1 THEN
By: S. Hassan Adelyar



(Conditional Statements) ‫دستور های شرطی‬
VB.NET PROGRAMMING
50
10 July 2010
Visual Basic .NET
:‫ از دستور های ذیل استفاده میشود‬،‫برای اجرای مشروط یک یا چند سطر پروگرام‬
IF ……..THEN
IF……...THEN…….ELSE
SELECT……CASE
:‫ قرار ذیل است‬IF….THEN ‫شکل عمومی‬
IF Condition THEN Statement
:‫همچنین این دستور را طور ذیل نیز استفاده کرده میتوانیم‬
IF Condition THEN
Statement(s)
END IF

By: S. Hassan Adelyar



51
(Conditional Statements) ‫دستور های شرطی‬
10 July 2010
VB.NET PROGRAMMING
Visual Basic .NET
:‫ قرار ذیل است‬IF….THEN…..ELSE ‫شکل عمومی‬
IF Condition-1 THEN
Statement(s)
ELSEIF Condition-2 THEN
Statement(s)
…………..
…………..
ELSE
Statement(s)
END IF
By: S. Hassan Adelyar

10 July 2010
52
VB.NET PROGRAMMING
Visual Basic .NET
:IF … THEN …. ELSE ‫مثالهای دستور‬
:‫ پروگرام فرعی ذیل زکات پول نقد را محاسبه میکند‬:1 ‫مثال‬
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim money, zakat As Integer
money = InputBox("Enter the amount of money: ")
If money < 200 Then
MessageBox.Show("No Zakat")
Else
zakat = (money - 200) \ 40 + 5
MessageBox.Show("Zakat is: " & zakat)
End If
By: S. Hassan Adelyar
End Sub


10 July 2010
53
VB.NET PROGRAMMING
Visual Basic .NET
:‫ پروگرام فرعی ذیل مالیه معاشات را محاسبه میکند‬:2 ‫ مثال‬
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If Val(TextBox1.Text) < 12000 Then
TextBox2.Text = "No Tax"
ElseIf Val(TextBox1.Text) < 20000 Then
TextBox2.Text = Val(TextBox1.Text) * 10 / 100
ElseIf Val(TextBox1.Text) < 30000 Then
TextBox2.Text = Val(TextBox1.Text) * 20 / 100
Else
TextBox2.Text = Val(TextBox1.Text) * 30 / 100
End If
By: S. Hassan Adelyar
End Sub
10 July 2010
54
VB.NET PROGRAMMING
Visual Basic .NET
:‫ را محاسبه مینماید‬x+3x^2-10 = 0 ‫ پروګرام فرعی ذیل جذر معادله‬:4 ‫مثال‬
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
TextBox1.Text = "X+3x^2-10=0"
Dim x As Single
x=0
again:
If (x + 3 * x ^ 2 - 10) - 0 >= 0.00001 Then
MessageBox.Show("The value of x is: " & x)
GoTo endprog
Else
x = x + 0.00001
GoTo again
End If
endprog:
End Sub
By: S. Hassan Adelyar

10 July 2010
VB.NET PROGRAMMING
55
Visual Basic .NET
:‫ پروګرام فرعی ذیل جذر های معادله درجه دوم را محاسبه میکند‬:5 ‫ مثال‬
' x1, x2 = (-b+|- (b^2-4ac)^0.5)/2a & ' x2 = (-b- (b^2-4ac)^0.5)/2a
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim a, b, c, r, x1, x2 As Single
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
r = (b ^ 2 - 4 * a * c)
If r < 0 Then
GoTo halt
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
56
Visual Basic .NET
Else
r = r ^ 0.5
End If
x1 = (-b + r) / (2 * a)
x2 = (-b - r) / (2 * a)
MessageBox.Show("The value of x1 & x2 are: " & x1 & "," & x2)
GoTo endprog
halt:
MessageBox.Show("No root for this equation! ")
endprog:
End Sub
By: S. Hassan Adelyar
10 July 2010
57
Visual Basic .NET
VB.NET PROGRAMMING










:‫ پروگرام فرعی ذیل پاسورد را ارزیابی مینماید‬:6 ‫مثال‬
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim c As Byte
c=1
Dim prog As Object
abc:
c=c+1
prog = InputBox("Enter you Password")
If prog = "ab@_6s" Then
MessageBox.Show("Pssword accepted")
Else

By: S. Hassan Adelyar

10 July 2010
VB.NET PROGRAMMING
58
Visual Basic .NET
MessageBox.Show("Wrong Password")
If c < 4 Then
GoTo abc
Else
Me.Enabled = False
End If
End If
End Sub
By: S. Hassan Adelyar
10 July 2010
59
VB.NET PROGRAMMING
Visual Basic .NET
:‫ پروگرام فرعی ذیل نیز پاسورد را ارزیابی مینماید‬:7 ‫ مثال‬
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If pass.Text = "abc123" Then
T1.Enabled = True
t2.Enabled = True
Else
MessageBox.Show("‫)"پاسورد شما درست نیست‬
End If
End Sub
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
60
Visual Basic .NET
("Good Afternoon") ‫"( و یا‬Good marning") ‫ پروگرام فرعی ذیل پیغام‬:8 ‫ مثال‬
:‫را نظر به وقت روز میدهد‬
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
score.Text = DateAndTime.TimeOfDay
If Hour(DateAndTime.TimeOfDay) < 12 Then
MessageBox.Show("Good marning")
Else
MessageBox.Show("Good Afternoon")
End If
End Sub

By: S. Hassan Adelyar
10 July 2010
61
VB.NET PROGRAMMING
Visual Basic .NET
:‫ پروگرام فرعی ذیل نیز پاسورد را ارزیابی میکند‬:9 ‫ مثال‬
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim pass As String
TextBox1.PasswordChar = "*"
pass = TextBox1.Text
If pass = passstore Then
Me.Close()
Else
MessageBox.Show("‫)"پاسورد شما درست نیست‬
End If
End Sub
By: S. Hassan Adelyar
SELECT CASE ‫دستور‬
VB.NET PROGRAMMING
62
10 July 2010
Visual Basic .NET
‫ میباشد و‬IF … THEN … ELSE ‫ مشابه به دستور‬SELECT CASE ‫وظیفه دستور‬
‫ در صورت که تعداد حاالت زیاد باشد بهتر‬.‫برای تست نمودن چند شرط استفاده میشود‬
.‫ استفاده شود‬SELECT … CASE ‫است از دستور‬
:‫ قرار ذیل است‬SELECT…..CASE ‫شکل عمومی دستور‬
SELECT CASE Expression
CASE
CASE
Value-1
Statement(s)
Value-2
Statement(s)
……..
……..
CASE ELSE
Statement(s)
END SELECT
By: S. Hassan Adelyar


10 July 2010
63
VB.NET PROGRAMMING
Visual Basic .NET
SELECT CASE Weekday(date)
CASE 1
DayName = “Monday”
CASE 2
DayName = “Saturday”
………
END SELECT
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Select Case TextBox1.Text
Case 1 To 299
TextBox2.Text = TextBox1.Text * 1.5
Case 300 To 599
TextBox2.Text = TextBox1.Text * 3
Case Else
TextBox2.Text = TextBox1.Text * 4
End Select
End Sub
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
64
Visual Basic .NET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Select Case TextBox1.Text
Case 1 To 299
TextBox2.Text = TextBox1.Text * 1.5
Case 300 To 599
TextBox2.Text = 299 * 1.5 + (TextBox1.Text - 299) * 3
Case Else
TextBox2.Text = 299 * 1.5 + 599 * 3 + (TextBox1.Text - 599) * 4
End Select
End Sub
By: S. Hassan Adelyar
10 July 2010
65
VB.NET PROGRAMMING
Visual Basic .NET
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim mydate As Date
mydate = TextBox1.Text
Dim month As Byte
month = mydate.Month
Select Case month
Case 1, 3, 5, 7, 8, 10, 12
MessageBox.Show(")"‫ روز است‬31 ‫این ماه‬
Case 4, 6, 9, 11
MessageBox.Show(")"‫ روز است‬30 ‫این ماه‬
Case 2
If mydate.Year Mod 4 = 0 Then
MessageBox.Show(")"‫ روز است‬29 ‫این ماه‬
Else
MessageBox.Show(")"‫ روز است‬28 ‫این ماه‬
End If
End Select
By: S. Hassan Adelyar
End Sub
VB.NET PROGRAMMING
66
(Loop Statements) ‫دستورهای تکرار‬
10 July 2010
Visual Basic .NET
.‫ از دستور های تکرار جهت اجرای تکراری یک یا چند سطر پروگرام استفاده می شود‬
:‫در ویژول بسیک دستور های ذیل به این منظور استفاده میشود‬
FOR……NEXT
DO……..LOOP
:‫ شکل عمومي آن قرار ذیل است‬:For ….Next ‫حلقه‬
For variable_name = Initial_value To final_value [Step i]
Statement(s)
Next
By: S. Hassan Adelyar

67
(Loop Statements) ‫دستورهای تکرار‬
10 July 2010
Visual Basic .NET
VB.NET PROGRAMMING
DO….LOOP ‫حلقه تکراری‬
:‫این حلقه دارای دو شکل عمومی ذیل میباشد‬
DO WHILE Condition
Statement(s)
LOOP
DO UNTIL Condition
Statement(s)
LOOP
By: S. Hassan Adelyar


VB.NET PROGRAMMING
68
(Loop Statements) ‫دستورهای تکرار‬
10 July 2010
Visual Basic .NET

‫ حلقه‬،‫ جمالت داخل حلقه اجرا شود‬،‫ اگرخواسته باشیم تا قبل از تست کردن شرط‬:‫نوت‬
DO…LOOP:‫را طور ذیل می نویسیم‬
DO
Statement(s)
LOOP WHILE Condition
DO
Statement(s)
LOOP UNTIL Condition
By: S. Hassan Adelyar
VB.NET PROGRAMMING
69
10 July 2010
Visual Basic .NET
:‫ پروګرام ذیل فکتوریل یک عدد را محاسبه میکند‬
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click

Dim number As Integer

Dim factorial As Double

number = InputBox("Enter a number: ")

factorial = 1

For i = 1 To number

factorial = factorial * i

Next

MessageBox.Show("Factorial of " & number & " is:" & vbCr &
factorial)
By: S. Hassan Adelyar

End Sub
10 July 2010
70
VB.NET PROGRAMMING
Visual Basic .NET
:For Each ……Next ‫ حلقه‬
.‫این حلقه برای دوران در عناصر غیر عددی استفاده میشود‬







For Each/Next Repetition Structure
For each grade in gradeArray
If grade < lowgrade then
Lowgrade = grade
End if
Next



Dim abc As TextBox
For Each abc In Me.Controls
By: S. Hassan Adelyar

‫‪10 July 2010‬‬
‫‪71‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬تابع ‪Inputbox‬‬
‫‪ ‬این تابع پیغام معین ( تعین شده از قبل) را به فارمت یک باکس مکالماتي ‪(Dialog‬‬
‫)‪Box‬در روی صفحه نمایش نشان داده و برای ورودی اطالعات توسط ‪ user‬انتظار‬
‫میکشد‪ .‬اطالعات داخل شده میتواند قیمت متحول باشد‪.‬‬
‫‪ ‬شکل عمومی این تابع در ویژول بسیک قرار ذیل است‪:‬‬
‫‪ Public Function InputBox ( ByVal Prompt As String, _ Optional‬‬
‫‪ByVal Title As String = "", _ Optional ByVal DefaultResponse As‬‬
‫‪String = "", _ Optional ByVal Xpos As Integer = -1, _ Optional‬‬
‫‪ByVal YPos As Integer = -1 ) As String‬‬
‫‪ :Prompt ‬این پارامتر اجباري بوده و عبارت از جمله است که در باکس نشان داده‬
‫میشود‪ .‬طول این جمله میتواند تا ‪ 1024‬حرف باشد‪.‬براي نوشتن چندین جمله از توابع‬
‫)‪ chr(13‬و )‪ chr(10‬نیز استفاده کرده میتوانیم‪.‬‬
‫‪ :Title ‬این پرامتر اختیاري بوده و عبارت از جمله میباشد که در قسمت عنوان ‪(Title‬‬
‫‪By: S. Hassan Adelyar‬‬
‫)‪ Bar‬باکس نشان داده میشود‪.‬‬
VB.NET PROGRAMMING
72
10 July 2010
Visual Basic .NET
Private Sub Form1_Load(ByVal sender As System.Object, :‫ مثال‬
ByVal e As System.EventArgs) Handles MyBase.Load
Dim
message, title, defaultValue As String
Dim myValue As Object
message = "Enter a value between 1 and 3"
title = "InputBox
Demo"
defaultValue = "1
myValue = InputBox(message,
title, defaultValue)
' If user has clicked Cancel, set myValue to
defaultValue
If myValue Is "" Then myValue = defaultValue
myValue = InputBox(message, title, defaultValue, 100, 100)
If
myValue Is "" Then myValue = defaultValue End SubEnd
Class Public Sub CreateMyForm()
Dim mydialog As New Form() 
Dim button1 As New Button() 
Dim button2 As New Button() 
By: S. Hassan Adelyar
Dim lbldisplay As New Label

10 July 2010
VB.NET PROGRAMMING
73
Visual Basic .NET
MessageBox.Show() ‫ تابع‬
‫ این تابع نیز پیغام را روی صفحهء نمایش نشان داده و به کلیک کردن یک دکمه انتظار‬
‫ این تابع عدد تامی را برگشت میدهد که همان عدد نشان دهندهء دکمهء کلیک شده‬.‫میکشد‬
.‫است‬
 Public Class Form1
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
 MessageBox.Show("This method is used to display" & Chr(13) &
"messages on the screen")
 End Sub
 End Class


Public Class Form1
By: S. Hassan Adelyar
VB.NET PROGRAMMING
74
10 July 2010
Visual Basic .NET
‫ را مشاهده‬MessageBos.show ‫ و‬InputBox ‫ در مثال ذیل طرز کار توابع‬:‫ نوت‬
.‫نمائید‬
 Public class form1
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click

Dim prog As String

prog = InputBox("Select program to run (Excel / Word / Access /
Calculator)")

If prog = "Excel" Then

Shell("c:\program files\microsoft office\office10\excel.exe",
AppWinStyle.MaximizedFocu)

ElseIf prog = "Word" Then

Shell("c:\program files\microsoft
By: S. Hassan Adelyar
VB.NET PROGRAMMING
75
10 July 2010
Visual Basic .NET
 Public Class Form1
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load

Dim c As Byte

c=1

Dim prog As Object
 abc:

c=c+1

prog = InputBox("Enter you Password")

If prog = "ab@_6s" Then

MessageBox.Show("Pssword accepted")

Else
By: S. Hassan Adelyar

MessageBox.Show("Wrong Password")
10 July 2010
76
Visual Basic .NET
VB.NET PROGRAMMING

:Close ‫ حادثه‬
 Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e
As System.Windows.Forms. FormClosingEventArgs) Handles
Me.FormClosing

If textBox1.Text = "" Then

MessageBox.Show("You must enter a name.", "Name Entry
Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

End If
 End Sub
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫‪77‬‬
‫‪‬‬
‫‪‬‬
‫‪ ‬حادثه ‪KeyPress‬‬
‫‪ ‬این حادثه در اثر فشار دادن کلید رخ میدهد که داراي کود اسکي تا ‪ 128‬را دشته باشد‪.‬‬
‫این حادثه نمیتواند حالت کلیدهاي تغیر دهنده )‪ (Modifier keys‬مانند ‪ ،Ctrl ،Alt‬و‬
‫‪ Shift‬را تعین نماید‪ .‬درصورت محکم گرفتن یک کلید این حادثه به تکرار واقع میشود و‬
‫به سرعت که توسط سیستم عامل تعین میگردد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪ ‬حادثه ‪KeyDown‬‬
‫این حادثه وقتي رخ میدهد که گلید در اول فشار داده شود‪ .‬این حدثه حالت کلیدهاي ‪،Alt‬‬
‫‪ ،Ctrl By: S. Hassan Adelyar‬و ‪ Shift‬را تعین کرده میتواند‪.‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬حادثات صفحه کليد‬
‫حادثات صفحه کلید وقتي رخ میدهد که یک کلید ان فشار داده شود‪ .‬هر آبجکت میتواند از‬
‫حادثات صفحه کلید استفاده نماید و آنرا اجرا کند‪.‬‬
VB.NET PROGRAMMING
78
10 July 2010
Visual Basic .NET
:‫ مثال هاي ذیل حادثات صفحه کلید را نشان میدهد‬
 Public Class Form1
 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyEventArgs) Handles
TextBox1.KeyDown

TextBox2.Text = e.KeyCode

TextBox3.Text = e.KeyData

TextBox4.Text = e.KeyValue

TextBox5.Text = Chr(e.KeyValue)

TextBox6.Text = e.Shift

TextBox7.Text = e.Control

TextBox8.Text = e.Alt
By: S. Hassan Adelyar

TextBox9.Text = e.GetType.FullName
10 July 2010
VB.NET PROGRAMMING
79
Visual Basic .NET
 Public Class Form4
 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyEventArgs) Handles
TextBox1.KeyDown

TextBox2.Text = DateTime.Today

TextBox3.Text = DateTime.Now

TextBox4.Text = DateAndTime.Weekday(Today)

TextBox5.Text = DateAndTime.WeekdayName(5)

TextBox6.Text =
DateAndTime.WeekdayName(Weekday(Today))
 End Sub
 End Class

By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
80
Visual Basic .NET
‫ که باالي‬Label ‫ در‬،‫ هر حرف که از صفحه کلید فشار داده شود‬،‫ در مثال ذیل‬:‫ مثال‬
:‫همین فورم است نشان داده میشود‬
 Public Class Form1
 Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

Label1.Text = "Key pressed: " & e.KeyChar
 End Sub
 End Class

:‫ مثال ذیل کود اسکي کلید فشار داده شده را نشان میدهد‬
 Public Class Form1
 Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As
By: S. Hassan Adelyar
System.Windows.Forms.KeyPressEventArgs)
Handles Me.KeyPress
10 July 2010
VB.NET PROGRAMMING
81
Visual Basic .NET
.‫ این حادثه در اثر رها شدن یک کلید رخ میدهد‬:Keyup ‫ حادثه‬
 Public Class Form1
 Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp

If e.KeyCode = Keys.F1 Then

Help.ShowPopup(TextBox1, "Enter your first name", New
Point(TextBox1.Right, Me.TextBox1.Bottom))

End If
 End Sub
 End Class



By: S. Hassan Adelyar
Private Sub TextBox1_KeyDown(ByVal
sender As Object, ByVal e
10 July 2010
VB.NET PROGRAMMING
82
Visual Basic .NET
 Private Sub textBox1_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs)Handles
textBox1.KeyPress
 If nonNumberEntered = True Then

e.Handled = True
 End If
 End Sub
 End Class




Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Button2.PerformClick()
By: S. Hassan Adelyar
End Sub
‫‪10 July 2010‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬با استفاده از خاصیت ‪ KeyChar‬میتوانیم از کلید فشار داده شده در اثنای اجرای‬
‫پروګرام نمونه بګیریم و همچنین فشاردادن کلید در شرایط خاص تغیر دهیم‪ .‬مثال میتوانیم‬
‫توسط این خاصیت فشاردادن کلید های غیرعددی را در اثنای داخل نمودن کود ‪ZIP‬غیر‬
‫فعال سازیم یا مثال تمام حروف را به کالن تبدیل کنیم‪.‬‬
‫مثال‪ :‬در مثال ذیل به کمک خاصیت ‪KeyChar‬دیده میشود که آیا کلید ‪ Enter‬فشار داده‬
‫شده است و یا خیر؟ قیمت خاصیت ‪ Handled‬به ‪ True‬مساوی ګردیده است‪.‬‬
‫‪ Imports System‬‬
‫‪ Imports System.Windows.Forms‬‬
‫‪ Public Class Form1‬‬
‫‪‬‬
‫‪Inherits Form‬‬
‫‪‬‬
‫)(‪Public Sub New‬‬
‫‪‬‬
‫)(‪Dim tb As New TextBox‬‬
‫‪‬‬
‫‪Me.Controls.Add(tb) By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫‪83‬‬
‫‪10 July 2010‬‬
‫‪84‬‬
‫‪‬‬
‫‪‬‬
‫‪ ‬حادثه ‪MouseEnter‬‬
‫این حادثه وقتي رخ میدهد که موشر موس به ساحه یک آبجکت داخل شود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪By: S. Hassan Adelyar‬‬
‫حادثه ‪MouseMove‬‬
‫‪‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪Visual Basic .NET‬‬
‫‪ ‬حادثات موس )‪(Mouse Events‬‬
‫‪ ‬حادثات موس هم در اثر فشار دادن دکمه هاي موس رخ میدهد‪ .‬هر ابجکت میتواند این‬
‫حادثات را استفاده نماید‪ .‬کالس ‪ MouseEventArgs‬معلومات راجع به حادثه موس را‬
‫دارد‪ .‬این معلومات از قبیل کوردینات ‪ x‬و ‪ y‬موشر موس‪ ،‬کدام دکمه فشار داده شده است‪،‬‬
‫چند بار دکمه فشار داده شده است‪ ،‬ویا چند بار چرخ موس دوران داده شده است (دکمه‬
‫سومي موس)‪.‬‬
‫‪ ‬بعضي حادثات موس قرار ذیل است‪:‬‬
10 July 2010
85
Visual Basic .NET
:‫پروگراو ذیل با استفاده از حادثات موس باالي فورم رسامي میکند‬

VB.NET PROGRAMMING











Public Class FrmPainter
Inherits System.Windows.Forms.Form
Dim shouldPaint As Boolean = False
Private Sub FrmPainter_MouseMove( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles MyBase.MouseMove
If shouldPaint Then
Dim graphic As Graphics = CreateGraphics()
graphic.FillEllipse _
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
86
Visual Basic .NET
 Public Class frmpainter

Inherits System.Windows.Forms.Form

Dim shouldPaint As Boolean = False
 Private Sub frmpainter_MouseDown(ByVal sender As Object, ByVal
e As System.Windows.Forms.MouseEventArgs) Handles
Me.MouseDown

shouldPaint = True

Dim graphic As Graphics = CreateGraphics()

graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, e.X, e.X)

graphic.DrawLine(Pens.Blue, e.X, e.Y, 80, 120)

End Sub

End Class

By: S. Hassan Adelyar
10 July 2010
87
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
88
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
89
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
90
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
91
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
92
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
93
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
94
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
95
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
96
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
10 July 2010
97
VB.NET PROGRAMMING
Visual Basic .NET
By: S. Hassan Adelyar
VB.NET PROGRAMMING
98
Programming in VB.NET
10 July 2010
Visual Basic .NET
 Variable
 Names in computer main memory.
 Can hold only one value at a time.
 Variable declaration:
 You can use DIM, PRIVATE, PUBLIC, or STATIC keywords.
 Use DIM inside a procedure.
 Use DIM or PRIVATE inside a class or module.
 Use PUBLIC inside a module to create global variable that can be
accessed from the current project.
 Use STATIC to declare static variables.
 DIM var_name,[var_name2,…] AS var_type
 Var_name can be up to 255 characters and can’t be VB keywords.
By: S. Hassan Adelyar
10 July 2010
99
Visual Basic .NET
VB.NET PROGRAMMING



Option EXPLICIT
OPTION EXPLICIT ON
OPTION EXPLICIT OFF
By: S. Hassan Adelyar
10 July 2010
100
Visual Basic .NET
VB.NET PROGRAMMING

Var_type can be:
 Byte
 Integer
 Long
 Double
 Single
 String
 Boolean
 Date
 Object
 Variant
By: S. Hassan Adelyar
‫‪10 July 2010‬‬
‫‪101‬‬
‫‪Visual Basic .NET‬‬
‫‪By: S. Hassan Adelyar‬‬
‫‪VB.NET PROGRAMMING‬‬
‫ثابت )‪(Constant‬‬
‫‪ ‬ثابت عبارت از نوع ‪ Data‬است که قیمت ان در اثناي اجراي پروگرام‬
‫تغیر نمیکند‪ .‬در ویژول بسیک ثابت را طور ذیل تعریف کرده میتوانیم‪:‬‬
‫‪Const pi AS DOUBLE = 3.1415926‬‬
‫‪ ‬ثابت نظر به متحول داراي خوبي هاي ذیل میباشد‪:‬‬
‫‪ ‬قیمت ثابت بعد از تعریف آن تغیر نمیکند‪.‬‬
‫‪ ‬با تغیر دادن قیمت آن در تمام قسمت هاي پروگرام‪ ،‬قیمت آن تغیر‬
‫گردیده و اینکار باعث سهولت در تغیر قیمت ها میشود‪.‬‬
‫‪ ‬ثابت نظر به متحول به سرعت و آساني توسط کمپیوتر پراسس‬
‫میشود‪.‬‬
‫‪10 July 2010‬‬
‫‪102‬‬
‫‪Visual Basic .NET‬‬
‫‪‬‬
‫‪‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫امتحان نمودن نوع متحول ‪ :‬برای معلوم نمودن نوع متحول از دو تابع‬
‫ذیل استفاده کرده می توانیم‪:‬‬
‫) (‪ :VarType‬جواب عددی که همان عدد نظربه نوع متحول فرق‬
‫میکند‪.‬‬
‫) (‪ : TypeName‬جواب ‪ string‬که همان ‪ string‬نوع متحول را نشان‬
‫میدهد‪.‬‬
‫‪ Vbinteger‬‬
‫‪2‬‬
‫‪ Vblong‬‬
‫‪3‬‬
‫‪ Vbsingle‬‬
‫‪4‬‬
‫‪ Vbdate‬‬
‫‪7‬‬
‫‪ Vbstring‬‬
‫‪8‬‬
‫‪By: S. Hassan Adelyar‬‬
10 July 2010
103
VB.NET PROGRAMMING
Visual Basic .NET
(Conditional Statements) ‫ دستور های شرطی‬
:‫ از دستور های ذیل استفاده میشود‬،‫ برای اجرای مشروط یک یا چند سطر پروگرام‬
IF ……..THEN
IF……...THEN…….ELSE
SELECT……CASE
:‫ قرار ذیل است‬IF….THEN ‫ شکل عمومی‬
IF Condition THEN Statement
:‫همچنین این دستور را طور ذیل نیز استفاده کرده میتوانیم‬
IF Condition THEN
Statement(s)
END IF
By: S. Hassan Adelyar

10 July 2010
104
VB.NET PROGRAMMING
Visual Basic .NET
:‫ قرار ذیل است‬IF….THEN…..ELSE ‫شکل عمومی‬
IF Condition-1 THEN
Statement(s)
ELSEIF Condition-2 THEN
Statement(s)
…………..
…………..
ELSE
Statement(s)
END IF
By: S. Hassan Adelyar

10 July 2010
105
VB.NET PROGRAMMING
Visual Basic .NET
:‫ قرار ذیل است‬SELECT…..CASE ‫شکل عمومی دستور‬
SELECT CASE Expression
CASE Value-1
Statement(s)
CASE Value-2
Statement(s)
……..
……..
CASE ELSE
Statement(s)
END SELECT
By: S. Hassan Adelyar

10 July 2010
106
Visual Basic .NET
VB.NET PROGRAMMING

Example:
SELECT CASE Weekday(date)
CASE 1
DayName = “Monday”
CASE 2
DayName = “Saturday”
………
………
END SELECT
By: S. Hassan Adelyar
10 July 2010
107
VB.NET PROGRAMMING
Visual Basic .NET
(Loop Statements) ‫ دستورهای تکرار‬
‫ از دستور های تکرار جهت اجرای تکراری یک یا چند سطر پروگرام‬
‫ در ویژول بسیک دستور های ذیل به این منظور استفاده‬.‫استفاده می شود‬
:‫میشود‬
FOR……NEXT
DO……..LOOP
:‫ شکل عمومي آن قرار ذیل است‬:For ….Next ‫ حلقه‬
For variable_name = Initial_value To final_value [Step i]
Statement(s)
Next
By: S. Hassan Adelyar
10 July 2010
VB.NET PROGRAMMING
108
Visual Basic .NET
Dim demoNum As Single
Dim c As Integer
Do
For i As Integer = 1 To 10000000
demoNum = Int(Rnd() * 100)
c=c+1
Select Case demoNum
Case 7 : Exit For
Case 29 : Exit Do
Case 54 : Exit Sub
End Select
Next i
Loop
MsgBox(c)
By: S. Hassan Adelyar
10 July 2010
109
Visual Basic .NET
VB.NET PROGRAMMING


For Each/Next Repetition Structure
It can be used for iterating through the values in a data
structure, such as an array.
 Example:
For each grade in gradeArray
If grade < lowgrade then
Lowgrade = grade
End if
next
By: S. Hassan Adelyar
10 July 2010
110
VB.NET PROGRAMMING
Visual Basic .NET
‫ فورم ذیل در صورت کار میکند که باالي فورم کنترول هاي دیگر غیر از‬
:‫ نباشد‬TextBox
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Dim abc As TextBox
For Each abc In Me.Controls
abc.Enabled = False
Next abc
End Sub
By: S. Hassan Adelyar
10 July 2010
111
VB.NET PROGRAMMING
Visual Basic .NET
:‫ میسازد‬Disable ‫کود ذیل تمام کنترول ها را‬
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim abc As Object
For Each abc In Me.Controls
abc.enabled = False
Next abc
End Sub
End Class
By: S. Hassan Adelyar
10 July 2010
112
VB.NET PROGRAMMING
Visual Basic .NET
DO….LOOP ‫حلقه تکراری‬
:‫این حلقه دارای دو شکل عمومی ذیل میباشد‬
DO WHILE Condition
Statement(s)
LOOP
DO UNTIL Condition
Statement(s)
LOOP
By: S. Hassan Adelyar


‫‪10 July 2010‬‬
‫‪113‬‬
‫‪Visual Basic .NET‬‬
‫‪‬‬
‫‪‬‬
‫‪VB.NET PROGRAMMING‬‬
‫‪‬‬
‫نوت‪ :‬اگرخواسته باشیم تا قبل از تست کردن شرط‪ ،‬جمالت داخل حلقه‬
‫اجرا شود‪ ،‬حلقه ‪ DO…LOOP‬را طور ذیل می نویسیم‪:‬‬
‫‪DO‬‬
‫)‪Statement(s‬‬
‫‪LOOP WHILE Condition‬‬
‫‪DO‬‬
‫)‪Statement(s‬‬
‫‪LOOP UNTIL Condition‬‬
‫نوت ‪:‬‬
‫– بعضي اوقات ضرورت مي افتد تا در صورت تکمیل شدن یک شرط‬
‫قبل از تکمیل حلقه ‪ For …Next‬ویا ‪ Do … While‬خارج شویم‪ .‬در‬
‫کرده‪By: S.‬میتوانیم‪:‬‬
‫اینصورت از دستور ‪ Exit‬استفاده‬
‫‪Hassan Adelyar‬‬
10 July 2010
114
VB.NET PROGRAMMING
Visual Basic .NET
While condition
[ statements ]
[ Exit While ]
[ statements ]
End While
Dim counter As Integer = 0
While counter < 20
counter += 1
End While
MsgBox("While loop ran " & counter)
By: S. Hassan Adelyar
Download