Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar.
-
Upload
bernard-davidson -
Category
Documents
-
view
269 -
download
2
Transcript of Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar.
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
1
Visual Basic .NET
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
2
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
Visual Basic .NET
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
3
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
4
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.
.NET Framework
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
5
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
6
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.
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
7
Windows itself has differences:Windows 95Windows 98Windows MEWindows 2000Windows CEWindows XP
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
8
Therefore, programming is a difficult job. .NET environment offer programming model
that allows programs created in diversity programming languages to communicate with each other.
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
9
.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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
10
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
11
.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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
12
.NET Intentions: Interoperability Language Independence Base Class Library Platform Independence
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
13
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
14
) پروژه یک نت دات بسیک ویژول در کار . Projectبرای پروژه ) کنید باز را . میتواند پروگرام هر میباشد پروگرام یک های فایل مجموعه از عبارت
. کود حاوی ها فایل این از بعضی باشد فالی چندین ) Code(دارای . میباشد پروگرام ظاهري اشکال حاوی آن دیگر برخی و پروگرام،
پروگرام همان براي پروگرام هر اجراي از بعد نت دات بسيک ويژول: مينمايد ايجاد را فولدر چند
بنام فولدر حفظ binيک را آن اجزاي و شده اجرا پروگرام آن در کهمينمايد.
فولدرobj به که منابع .Applicationکه مينمايد حفظ آنرا گرديده تخصيص فولدرMyproject . ميکند حفظ را عيارسازي فايلهاي که فورم باالي کار . )Form(درپروژه مي فورم چندين پروژه يک در ميباشد
. . دارای فورم پس است آبجکت يک فورم و باشد داشته وجود تواندها. ) Properties(خصوصيات ميتود دارای فورم . )Methods(است و است
حادثات دارای . )Events(فورم By: S. Hassan Adelyarاست
نت دات بسيک ويژول کاري محيط
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
15
ذخيره ديسک در بايد پروژه همان مربوط فورمهاي و )Save(پروژهويندوز. فورم بنام را فورم نت دات بسيک ويژول در Windows(شود
Form(. ميکند ياد . ها مينو صفحه باالي قسمت در است فورم صفحه وسط و )Menus(در
. )Tools(ابزار هاي آبجکت يا و کنترولها صفحه چپ طرف به دارد قرار . ازاين کدام هر ميشود استفاده آن از پروژه در کار اثناي در که اند
. راست طرف در است حادثات و ها ميتود خصوصيات، داراي ها آبجکتخصوصيات شده )Properties(صفحه، داده نشان شده انتخاب آبجکت
خصوصيات. اين از يک هر براي قيمت تعين با ميتوانيد شما و است. دهيد تغير را آبجکت نمايش
By: S. Hassan Adelyar
نت دات بسيک ويژول کاري محيط
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
16
GUI کننده استفاده آن کمک به که است ارتباط گرافيکي راه از عبارت . ميکند برقرار ارتباط ها پروگرام با ومرئي گرافيکي شکل به کمپيوتر
GUI مينوها قبيل از مختلف اجزاي ها )Menus(داراي دکمه ،)Buttons( ،متن هاي ها )TextBoxes(باکس ليبل ،)Labels( ،ScrollsBars هاي دکمه ،
باکس )Option Buttons(اختياري کامبو ،)ComboBoxes( ها باکس لست ،)ListBoxes( . اجزاي ميباشد غيره که GUIو است آبجکتهاي حقيقت در
همراي کننده استفاده کليد صفحه يا موس کمک به و آن طريق از . ياد هم ها کنترول بنام را آبجکتها اين ميکند برقرار ارتباط پروگرام
کردن. ايجاد براي فورم GUIميکند . )Form(از فورم ميشود استفادهآن باالي ديگر آبجکتهاي و کنترولها که است ابجکت يا کنترول يک هم
. و دارد وجود ابجکت ها ده نت دات بسيک ويژول در ميشود داده قرار. نمايد ايجاد را جديد آبجکتهاي ميتواند هم پروگرامر
قرار بحث مورد دارد بيشتر استفاده که ابجکتهاي از بعضي دراينجاميدهيم.
By: S. Hassan Adelyar
کننده استفاده گرافيکي ارتباطGraphical User Interface (GUI)
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
17
فورم(Form) . هاي پروژه در کار اثناي در است بسيک ويژول مهم آبجکت يک فورم
پروژه در که ديگري هاي آبجکت براي زمين مانند فورم بسيک ويژول . . ميشود داده قرار فورم باالي ها آبجکت ميباشد ميشود، استفاده
فورم پس است، آبجکت يک فورم که شديم يادآور نيز قبال طوريکهخصوصيات میتودها )Properties(داراي ،)Methods( حادثات و ،)Events
دات. بسيک ويژول کاري محيط با آشنائي جهت قسمت اين در استخصوصيات بعضي میتودها )Properties(نت ،)Methods( حادثات و ،
)Events(: نمائيم می مطالعه مثال چند با را فورم
By: S. Hassan Adelyar
بسيک ويژول آبجکتهاي
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
18
. خصوصيات داراي فورم ميکند تعين را آبجکتها نمايش طرز خصوصيات . هاي قيمت فورم خصوصيات ميکند تعين را فورم نمايش طرز که بوده . نمايش متفاوت هاي قيمت اين اثر در ميتواند گرفته خود به را مختلف
. و فورم ديزاين حالت از هم را فورم خصوصيات قيمت ميکند تغير فورم . بعضي قيمت که است تذکر قابل ميتوانيم داده تغير کود از هم
. ميتوانيم داده تغير کود از تنها را خصوصيات
By: S. Hassan Adelyar
: فورم (Form Properties )خصوصيات
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
19
: است ذيل قرار فورم مهم خصوصيات خاصيتName: خاصيت کرده Nameتوسط تعين فورم براي نام ،
. نام. از ميشود شناخته بسيک ويژول در فورم نام همين کمک به ميتوانيم . باشيم خواسته اگر مثال ميشود استفاده بسيک ويژول کود در بيشتر فورم
: نمائيم استفاده بايد فورم نام از دهيم، تغير را فورم يک زمين رنگForm1.BackColor = Color.Red زمين رنگ فوق تبديل Form1براي )BackColor(دستور سرخ رنگ به را
بنام. که فورم خود دستور اين در است، Form1ميکند آبجکت استBackColor و است فورم اين Color.Redخاصيت به که است قيمت
. ( تغير ( را فورم نام تا باشيم خواسته اگر است شده داده متحول خاصيتخاصيت به . Nameدهيم، به را فورم نام ميخواهيم مثال ميدهيم قيمت آن
frmCSF خاصيت به پس نمائيم، قيمت Nameتبديل frmCSFفورمميدهيم.
Form1.Name = frmCSFBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
20
از را فورم نام فوق . frmCSFبه Form1دستور ميکند تبديليک: نوت قيمت فورم خود داخل از اگر نت دات بسيک ويژول در
از بايد ميدهيم تغير را . )Me(فورم Aliasخاصيت براي کنيم استفاده: نمائيم تايپ ذيل طور بايد آن رنگ دادن تغير
Me.BackColor = Color.Azureخاصيت Backcolor. ميکند: تعين را فورم زمين رنگ خاصيت اينForm1.BackColor = Color.Red خاصيتBackgroundImage : فورم صفحه براي خاصيت اين توسط
. ميتوانيم کرده انتخاب را تصوير يک
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
21
خاصيت Forecolor. ميکند: تعين را فورم متن رنگ خاصيت اين Form1.forecolor = Color.Blue
خاصيتControlBox :درست قيمت داراي خاصيت و )True(اين. )False(نادرست جهت که کنترولهاي باشد درست آن قيمت اگر ميباشد
فورم نمودن فورم Close( ،Restore(بسته ساختن خورد و فورم کردن)Minimize( . نادرست آن قيمت اگر و ميشود داده نشان )False(است
. نميشود داده نشان کنترولها اين باشد خاصيتCursor. ميکند: تعين آبجکت باالي را موس شکل خاصيت اينخاصيت FormBorderStyle :را فورم چوکات نمايش طرز خاصيت اين
. ميکند تعين
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
22
خاصيت MinimizeBox :نادرست و درست قيمت ميتواند خاصيت اين . پروگرام اجراي از بعد را فورم باشد درست آن قيمت اگر باشد داشته
. آنصورت در باشد نادرست آن قيمت اگر و نمائيم خورد ميتوانيم هم. نميتوانيم ساخته خورد پروگرام اجراي از بعد را فورم
خاصيتText . اين: قيمت ميکند تعين را فورم عنوان خاصيت اين. ميشود فورم عنوان ميباشد، متن يک معموال که خاصيت،
خاصيت MaximizeBox :و درست قيمت ميتواند نيز خاصيت اين . اجراي از بعد را فورم باشد درست آن قيمت اگر باشد داشته نادرست
. در باشد نادرست آن قيمت اگر و نمائيم بزرگ ميتوانيم هم پروگرام. نميتوانيم ساخته بزرگ پروگرام اجراي از بعد را فورم آنصورت
خاصيتIcon : فورم براي خاصيت اين کرده Iconتوسط تعين را.ميتوانيم
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
23
خاصيتTopMost : هروقت فورم باشد درست خاصيت اين قيمت اگر . ميگيرد قرار ديگر آبجکتهاي باالي
خاصيتShowIcon : يا و درست قيمت داراي ميتواند خاصيت اين . باشد درست ان قيمت صورتيکه در باشد نشان Iconنادرست فورم
باشد نادرست اگر و ميشود .Iconداده نميشود داده نشان فورمخاصيت RightToLeft :قيمت ميتواند هم خاصيت يا Trueاين و
False . آن قيمت اگر باشد داشته از Trueرا فورم صفحه در باشد ( اگر ( و ، پشتو ويا دري عربي، متن براي ميشود نوشته چپ به راست
آن متن ( Falseقيمت براي ميگردد نوشته راست طرف به چپ از باشدانگليسي).
Form1.RightToLeft = True خاصيتShowInTaskbar : فورم باشد، درست خاصيت اين قيمت اگر
در اجرا اثناي . Taskbarدر نادرست اگر و ميشود داده نشان ويندوز. نميشود داده نشان By: S. Hassan Adelyarباشد
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
24
خاصيت StartPosition :اثناي در را فورم محل خاصيت اين توسط . ميتوانيم کرده تعين پروگرام اجراي
خاصيت AcceptButton :کليد دادن فشار اثر در که دکمه خاصيت اينEnter. ميکند تعين را شود اجرا کليد صفحه
خاصيت AutoScroll :منطقي عدم )Boolean(قيمت ويا دادن نشان کهدادن .ScrollBarsنشان ميکند تعين را
خاصيت CancelButton :کليد دادن فشار اثر در که دکمه خاصيت اينEnter. ميکند تعين را شود اجرا کليد صفحه
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
25
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
26
. از فرعي هاي پروگرام از عبارت ها ميتود است ها ميتود داراي فورمهاي آبجکت و گرديده تعريف کالس داخل در که است شده تهيه قبل . تعين را هاي کار حقيقت در ميتودها ميکند استفاده آنرا کالس همان
. ميتواند داده انجام آنرا آبجکت يک که ميکند: ميباشد ذيل قرار فورم مهم هاي ميتود بعضيميتود 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 By: S. Hassan Adelyar
فورم هاي ( Form Methods)ميتود
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
27
ميتود Hide :می مخفی نمايش صفحه روی از را فورم ميتود اين: نمائيد. توجه ذيل مثال به سازد
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click Form2.hide() End SubEnd Class
By: S. Hassan Adelyar
فورم هاي ( Form Methods)ميتود
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
28
ميتودLoad :فورم باالي موس دکمه دادن فشار بار دو با میتود این . ميتود ذيل پروگرام ميتواند شده :Loadپروگرام ميدهد نشان را
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ControlBox = False
End Sub ميتودClose . ميتود: ذيل پروگرام میکند بسته را فورم میتود Loadاین
: ميدهد نشان را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
فورم هاي ( Form Methods)ميتود
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
29
وجود متعدد هاي روش پروگرام، نوشتن براي گرا، شي هاي محيط درحادثات. از استفاده روشها اين از يکي . )Events(دارد چه حادثه است
يعني شي يک باالي که ميباشد عمل يک از عبارت رويداد يا حادثه است؟ . امر دکمه باالي را موس دکمه اگر ميشود اجرا Command(آبجکت
Button( موس دکمه دادن فشار حادثه دهيم . )Click(فشار ميدهد رخ . اينکه از نمائيم اجرا را مشخص هاي دستور ميتوانيم حادثه هر همراي
حادثات داراي فورم پس است آبجکت يک . )Events(فورم است . اکثر ميتواند شده انجام فورم باالي که است کارهاي از عبارت حادثات
. ميشود انجام کليد صفحه يا و موس توسط فورم حادثات
By: S. Hassan Adelyar
فورم ( Form Events)حادثات
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
30
حادثه 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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
31
حادثه 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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
32
( نشاني يا . (Labelعنوان معموال : میشود برده کار به فورم روی در متن دادن نشان جهت کنترول این . کنترول میشود داده نشان کنترول همين توسط فورم روی در آبجکت Labelعناوین يعني شي يک نيز
. خواص از ديگر قسمتي و بوده فورم مانند آن خواص بعضي است خواص داراي فلهذا آن )Properties(بوده: است ذيل قرار
خاصيتText :محتوي يا . Labelعنوان ميکند حفظ را خاصيتFont :فونتLabel. ميکند تعين را خاصيتBorderStyle : چوکات .Labelنمايش ميکند تعين را خاصيتLocation :گرفتن قرار .Labelمحل ميکند تعين را فورم باالي خاصيتTextAlign: Alignment متنLabel . راست طرف از ميتواند متن ميکند تعين چپ Alignرا ويا باشد
. باشد داشته قرار کنترول يک وسط در هم يا و خاصيتVisible :درست قيمت ميتواند خاصيت نادرست )True(اين . )False(ويا درست آن قيمت اگر باشد
. Labelباشد دهده نشان باشد نادرست اگر و ميشود داده نشان فورم باالي در پروگرام اجراي اثناي درنميشود.
( متن کار : (Text boxباکس به ها فورمول اجرای همچنین و متن دادن نشان جهت میتواند کنترول این
. . شود تغیرداده کننده استفاده توسط میتواند میشود، داده نشان کنترول این توسط که متنی شود برده . کنیم استفاده کنترول همین از توانیم می هم محاسبات اجرای جهت
( امر . (Buttonدکمه اجرای : جهت معموال میگیرد صورت وسیع استفاده فورم روی در کنترول این Codeاز
. میگردد استفاده کنترول همین از هاBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
33
مورد آن مثالهاي ارائه با را کنترولها اين استفاده طرز ميخواهيم اکنون . از يک هر پس است آبجکت يک کنترول هر چون دهيم قرار بحث
خصوصيات داراي فوق هاي ها )Properties(کنترول ميتود ،)Methods( ،حادثات . )Events(و است
در: 1مثال که اعداد مجموع ذیل فرعی TextBox1پروگرام ، TextBox2 ،در TextBox3و : TextBox4است میدهد نشان
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
ازکنترولها استفاده
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
34
در: 2مثال که اعداد اوسط ذیل فرعی TextBox1پروگرام ، TextBox2 ،در TextBox3و :TextBox4است میدهد نشان
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
ازکنترولها استفاده
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
35
جذر: 3مثال ذیل فرعی در mپروگرام که یافته TextBox2عدد است ،در آنرا میدهد:نشان 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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
36
پروگرامها نوشتن براي نويسي پروگرام لسانهاي از که ميدانيم طوريکه . آن از يا و ميبينيد تان کمپيوتر در شما که پروگرام هر ميشود استفاده . بدون ميشود تهيه نويسي پروگرام لسانهاي کمک به ميکنيد استفادهکرده تهيه را کمپيوتري پروگرامهاي نويسي پروگرام لسانهاي وجود
لسان از بايد باکمپيوتر کار اثناي در و از خنميتوانيم عبارت که کمپيوتر ود . نمائيم استفاده است ويک صفر
کليدي کلمات داراي نويسي پروگرام لسان دستورها، )Key-words(هر ،امالئي قواعد . )Syntax Rules(وهمچنين است پروگرامها نوشتن براي
و دستورها آموختن پروگرامها، ساختن براي لسان يک از استفاده جهت . ساختن منطق که خوشبختانه ميباشد ضروري آن امالئي قواعد
يک فهم و بوده يکسان نويسي پروگرام مختلف لسانهاي در پروگرامها . لسان يک ما اکر من نظر به ميکند کمک ديگر لسان آموختن در لسانلسانهاي ميتوانيم خودما آن از بعد بگيريم ياد بهتر را نويسي پروگرام
. بياموزيم را نويسي پروگرام ديگرBy: S. Hassan Adelyar
نت دات بسیک ویژول در نویسی پروگرام
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
37
) نام گرديده مسمي نام يک به که است کمپيوتر ازحافظه قسمتياز) عبارت ميکند، ذخيره پروگرام اجراي اثناي در را ها قيمت و متحول
. ميباشد بتوانیم متحول کرده استفاده را متحول یک اینکه . برای کنيم تعريف آنرا بايد اولدستور توسط را متحول بسیک ویژول میتوانیم تعریف Dimدر .کرده
دستور عمومی :Dimشکل است ذیل قرار Dim متحول متحول As نام نوع
تا یک از میتواند بسیک ویژول در متحول . 255نام کلمات باشد حرفمتحول )Key Words(کلیدی نام حيث به توانیم نمی را بسیک ویژول
. نمائیم استفاده شده تعريف يا و تاريخ منطقي، حروفی، عددی، میتواند متحول نوع
. که را هاي قيمت متحول نوع حقيقت در باشد کننده استفاده توسط . در عددی متحول ميکند تعين آنرا ذخيره طرز و ميتواند گرفته متحول
: میباشد ذیل نوع پنج به بسيک ويژولBy: S. Hassan Adelyar
(Variable)متحول
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
38
Byte : تا صفر از عالمه بدون هاي قيمت متحول نوع يک 255اين و گرفته را. ميکند اشغال را کمپيوتر حافظه از بايت
Integer. ميکند: اشغال را کمپيوتر حافظه از بايت چهار متحول نوع اينLong. ميکند: اشغال را کمپيوتر حافظه از بايت هشت متحول نوع اينSingle. ميکند: اشغال را کمپيوتر حافظه از بايت چهار نيز متحول نوع اينDouble. ميکند: اشغال را کمپيوتر حافظه از بايت هشت نيز متحول نوع اين عددی برانواع : Dataعالوه نیزباشد ذیل ازانواع یکی میتواند متحول یک حروفی کلمه: متحول متحول نوع قسمت در حروفی، متحول تعريف برای
:Stringکليدی . کنيد توجه ذيل مثال به مينويسيم راDim stname As string جمع سلسله حروف تعداد به حروفي اشغال 10متحول را حافظه ديگر بايت
سلسله. اگر مثال مينمائيم 15ميکند ذخيره را گرفته 25حرفي حافظه بايتميشود.
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
39
( بولی يا منطقي های : (Booleanمتحول قیمت متحول اینوع(Trueدرست( نادرست) . Falseویا قيمت) متحول اينوع میکند ذخیره را
توسط را نادرست قيمت و صفر توسط را . 1-درست ميدهد نشانهم ( عامل سيستم به مربوط نقطه اين البته بايت دو بسيک ويژول
( براي را ميکند فرق ديگر عامل سيستم تا عامل سيستم يک از و است . کرده تعريف ذيل طور را بولي متحول ميگيرد نظر در بولي متحول
ميتوانيم: DIM متحول AS BOOLEAN نام Example: DIM pass AS BOOLEAN
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
40
مانند: نوت منطقي عملگرهاي از منطقي متحول NOTهمراي ، OR وAND . عملگر مثال ميتوانيم کرده استفاده متحول NOTهم قيمت
: ميدهد تغير آن عکس قيمت به را منطقيPass = NOT pass
: ميگيرد را ذيل دستور چنديدن جاي فوق دستور حقيقت درIF pass = TRUE THEN
Pass = FALSE
ELSE
Pass = TRUE
END IF
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
41
متحولDate : باشد ووقت تاریخ شکل به که های قیمت متحول اینوع . که خاص فارمت يک به کمپيوتر داخل در وقت و تاريخ میتواند گرفته
. Double-precisionبنام عدد اين تام قسمت ميگردد ذخيره ميشود، ياد . متحول ميکند تمثيل را وقت آن اعشاري قسمت و هشت Dateتاريخ
. از هاي قيمت ميتواند متحول اين ميکند اشغال را حافظه 00:00:00بايتسال جنوري به 1اول سال 11:59:59تا ديسمبر ذخيره 9999ماه را
نمايد. متحولDate: ميتوانيم کرده تعريف ذيل طور را
DIM متحول AS DATE نام
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
42
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
43
آبجکت متحول : های آبجکت میتواند متحول . VBاینوع که حافظه مقدار نماید ذخیره را
. ميکند فرق عامل سيستم به نظر ميشود گرفته آبجکت متحول توسطعامل سيستم عامل 32در سيستم در و بايت چهار بايت 8بيتي 64بيتي
) . مانند نوع هر ریفرنس متحول نوع این ميکند اشغال را Stringحافظه ،Array ، Class . ( نوع وقتیکه میتواند کرده ذخیره را غیره اجرای Dataو اثنای در
. میکنیم استفاده متحول نوع این از نباشد معلوم ما برای پروګرامDim myObject As Object
Dim datTyp As Integer
Dim v As Object
v = "17“
v = v – 15
v = "H" & v By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
44
نوع از عبارت پروگرام Dataثابت اجراي اثناي در ان قيمت که است: . ميتوانيم کرده تعريف ذيل طور را ثابت بسيک ويژول در نميکند تغيرConst pi AS DOUBLE = 3.1415926
: ميباشد ذيل هاي خوبي داراي متحول به نظر ثابت. نميکند تغير آن تعريف از بعد ثابت قيمت تغير آن قيمت پروگرام، هاي قسمت تمام در آن قيمت دادن تغير با
. ميشود ها قيمت تغير در سهولت باعث اينکار و گرديده پراسس کمپيوتر توسط آساني و سرعت به متحول به نظر ثابت
ميشود. . ذیل جدول دهیم تغیر را متحول نوع تا افتد می ضرورت اوقات بعضی
یک VBتوابع از را متحول یک توانیم می آن توسط که ميدهد نشان را: دهیم تغیر دیگر نوع به نوع
By: S. Hassan Adelyar
(Constant)ثابت
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
45
CByte Byte Cdate Date Cdbl Double Cint Integer Clng Long CSng Single Cstr String CVar Variant
By: S. Hassan Adelyar
(Constant)ثابت
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
46
متحول نوع نمودن دو : امتحان از متحول نوع نمودن معلوم برای : توانیم می کرده استفاده ذیل تابع
VarType( ). میکند: فرق متحول نوع نظربه عدد همان که عددی جوابTypeName( ) : جواب string همان نشان stringکه را متحول نوع
میدهد.Vbinteger 2
Vblong 3
Vbsingle 4
Vbdate 7
Vbstring 8
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
47
کردن تبديل تابع Valueبه Textبراي کرده Parseاز استفاده همميتوانيم:
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
48
تابع از ميتوانيم هم :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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
49
: ميشود استفاده ذيل های دستور از پروگرام، سطر چند يا يک مشروط اجرای برای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 Statement(s) ELSEIF Condition-2 THEN Statement(s) ………….. ………….. ELSE Statement(s) END IF
By: S. Hassan Adelyar
شرطی های (Conditional Statements)دستور
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
50
ذيل های دستور از پروگرام، سطر چند يا يک مشروط اجرای برای: ميشود استفاده
IF ……..THEN
IF……...THEN…….ELSE
SELECT……CASE عمومی :IF….THENشکل است ذيل قرار
IF Condition THEN Statement: ميتوانيم کرده استفاده نيز ذيل طور را دستور اين همچنين
IF Condition THEN
Statement(s)
END IF
By: S. Hassan Adelyar
شرطی های (Conditional Statements)دستور
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
51
عمومی : IF….THEN…..ELSEشکل است ذيل قرارIF Condition-1 THEN
Statement(s)
ELSEIF Condition-2 THEN
Statement(s)
…………..
…………..
ELSE
Statement(s)
END IF
By: S. Hassan Adelyar
شرطی های (Conditional Statements)دستور
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
52
دستور :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
End Sub By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
53
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
End Sub
3مثال: میکند: معلوم وی نمرات اوسط به نظر را محصل درجه ذیل فرعی پروگرام Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click avg.Text = (Val(T1.Text) + Val(t2.Text)) / 2 If Val(avg.Text) >= 90 Then grade.Text = "Excellent" grade.BackColor = Color.Green ElseIf Val(avg.Text) >= 80 Then grade.Text = "Very Good" grade.BackColor = Color.Blue ElseIf Val(avg.Text) >= 70 Then grade.Text = "Good" grade.BackColor = Color.Cyan ElseIf Val(avg.Text) >= 60 Then grade.Text = "Pass" grade.BackColor = Color.Yellow Else grade.Text = "Fail" grade.BackColor = Color.Red End If T1.Enabled = False t2.Enabled = False End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
54
معادله : 4مثال جذر ذیل فرعی :x+3x^2-10 = 0پروګرام مینماید محاسبه را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 SubBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
55
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
56
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
57
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
58
MessageBox.Show("Wrong Password")
If c < 4 Then
GoTo abc
Else
Me.Enabled = False
End If
End If
End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
59
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
60
پیغام: 8مثال ذیل فرعی یا ")Good marning("پروگرام Good("وAfternoon(": میدهد روز وقت به نظر را
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
61
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 SubBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
62
دستور دستور SELECT CASEوظیفه به IF … THEN … ELSEمشابه . که صورت در میشود استفاده شرط چند نمودن تست برای و میباشد
دستور از است بهتر باشد زیاد حاالت استفاده SELECT … CASEتعدادشود.
دستور عمومی :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
SELECT CASEدستور
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
63
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
64
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
65
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
End Sub By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
66
پروگرام سطر چند یا يک تکراری اجرای جهت تکرار های دستور از . منظور اين به ذيل های دستور بسيک ويژول در شود می استفاده: ميشود استفاده
FOR……NEXT
DO……..LOOP حلقهFor ….Next: است: ذيل قرار آن عمومي شکل
For variable_name = Initial_value To final_value [Step i]
Statement(s)
Next
By: S. Hassan Adelyar
تکرار (Loop Statements)دستورهای
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
67
تکراری DO….LOOPحلقه: ميباشد ذيل عمومی شکل دو دارای حلقه اين
DO WHILE Condition
Statement(s)
LOOP
DO UNTIL Condition
Statement(s)
LOOP
By: S. Hassan Adelyar
تکرار (Loop Statements)دستورهای
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
68
داخل: نوت جمالت شرط، کردن تست از قبل تا باشيم اگرخواستهحلقه شود، اجرا نويسيم DO…LOOP حلقه می ذيل طور :را
DO
Statement(s)
LOOP WHILE Condition
DO
Statement(s)
LOOP UNTIL Condition
By: S. Hassan Adelyar
تکرار (Loop Statements)دستورهای
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
69
پروګرام: میکند محاسبه را عدد یک فکتوریل ذیل 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) End Sub
: نوت –حلقه تکميل از قبل شرط يک شدن تکميل صورت در تا افتد مي ضرورت اوقات … Doويا For …Nextبعضي
While . دستور از اينصورت در شويم : Exitخارج ميتوانيم کرده استفاده
. لسان- در را ها دستور اين چون ميشود استفاده نويسی پروگرام مختلف موارد در تکراری و شرطی های دستور . دستورها اين فهم ميشود داري خود ان بيشتر شرح از اينجا در فلهذا ايد نموده استفاده نويسي پروگرام مختلف هاي . جهت محصلين ميگردد استفاده زياد نويسي پروگرام اثناي در ها دستور اين همچنين و مهم خيلي نويسي پروگرام در. نماید تمرين بايد را زيادی مثالهای ها، دستور اين خوبتر فهم
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
70
حلقه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 abc.BackColor = Color.Blue Next abc End Sub
منطقي ANDALSOعملگر
عملگر مانند عملگر عملگر ANDاين با عملگر اين فرق تنها و عملگر ANDALSOبوده که به ANDALSOاينست تنها اوقات بعضي . نهائي نتيجه به منجر شرط يک کردن تست که است صورت در اين ميکند پيدا را نتيجه و نموده اکتفا ها شرط از يکي کردن تست
منطقي. عملگر بنام را عملگر اين سبب همين از :Short-circuitingشود . ميباشد ذيل قرار آن عمومي شکل ميکند ياد نيز
Result= expression-1 ANDALSO expression-2 متحولresult نوع از و ميکند ذخيره را . Booleanنتيجه ميباشد
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
71
تابع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(10)و chr(13)حرف استفاده نيز
ميتوانيم. Title :عنوان قسمت در که ميباشد جمله از عبارت و بوده اختياري پرامتر نشان )Title Bar(اين باکس
. ميشود داده
DefaultResponse :شده تعين قبل از قيمت و بوده اختياري نيز پارامتر ميکند )Default(اين تعين .را
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sum, number, numcount As Integeragain: number = InputBox("Enter a number: ") numcount = numcount + 1 sum = sum + number If numcount < 5 Then GoTo again TextBox1.Text = sum End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
72
: 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() Dim lbldisplay As New Label
button1.Text" = بلی" button1.Location = New Point(10, 50)
button2.Text = "Cancel" button2.Location = New Point(button1.Right + 60, button1.Top)
button1.DialogResult = DialogResult.OK button2.DialogResult = DialogResult.Cancel
lbldisplay.Text = "Do you want to close" ? lbldisplay.Location = New Point(10, 10)
lbldisplay.Size = New Size(120, 20) mydialog.Text = "My Dialog Box"
mydialog.FormBorderStyle = FormBorderStyle.FixedDialog mydialog.AcceptButton = button1 mydialog.CancelButton = button2
mydialog.StartPosition = FormStartPosition.CenterScreen mydialog.Controls.Add(button1) mydialog.Controls.Add(button2) mydialog.Controls.Add(lbldisplay)
mydialog.ShowDialog() If mydialog.DialogResult = DialogResult.OK Then
Me.Close() Else
MessageBox.Show("The Cancel button on the form was clicked.") End If
End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
73
تابع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 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim answer As DialogResult answer = MessageBox.Show("Do you want to close ?", "Dialog Box", MessageBoxButtons.YesNo) If answer = System.Windows.Forms.DialogResult.Yes Then Me.Close() End If End Sub End Class Private Sub checkstudentname() If txtname.Text.Length = 0 Then Dim Message As String = "You did not enter a student name. Cancel this operation?" Dim Caption As String = "No student Name Specified" Dim Buttons As Integer = MessageBoxButtons.YesNo Dim Result As DialogResult Result = MessageBox.Show(Me, Message, Caption, MessageBoxButtons.YesNo) If Result = System.Windows.Forms.DialogResult.Yes Then Me.Close() End If End If End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
74
:توابع کار طرز ذیل مثال در .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 office\office10\winword.exe") ElseIf prog = "Access" Then Shell("c:\program files\microsoft office\office10\msaccess.exe") ElseIf prog = "calc" Then Shell("c:\windows\system32\calc.exe") End If End Sub End Class
حادثه از ذيل مثال بدون Loadدر فورم يک تا گرديده :Passwordاستفاده نگردد باز
Public class form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim prog As String again: prog = InputBox("Enter your password!") If prog = "er@bt-835" Then MessageBox.Show("Password accepted") Else MessageBox.Show("Wrong password") GoTo again End If End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
75
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 MessageBox.Show("Wrong Password") If c < 4 Then GoTo abc Else Me.Enabled = False End If End If End Sub End Class By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
76
حادثه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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
77
کليد صفحه حادثات. . کند اجرا آنرا و نمايد استفاده کليد صفحه حادثات از ميتواند آبجکت هر شود داده فشار ان کليد يک که ميدهد رخ وقتي کليد صفحه حادثات
حادثهKeyPress
تا اسکي کود داراي که ميدهد رخ کليد دادن فشار اثر در حادثه . 128اين دهنده تغير کليدهاي حالت نميتواند حادثه اين باشد دشته Altمانند )Modifier keys(را ، Ctrl و ،Shift. . ميگردد تعين عامل سيستم توسط که سرعت به و ميشود واقع تکرار به حادثه اين کليد يک گرفتن محکم درصورت نمايد تعين را
حادثهKeyDown
. کليدهاي حالت حدثه اين شود داده فشار اول در گليد که ميدهد رخ وقتي حادثه Altاين ، Ctrl و ،Shift . ميتواند کرده تعين را
حادثهKeyUp . کليدهاي حالت حدثه اين شود رها دادن فشار از بعد کليد يک که ميدهد رخ وقتي حادثه Altاين ، Ctrl و ،Shift . ميتواند کرده تعين را
خاصیت: نوت ننماید دریافت آنرا دیګر کنترولهای و نمائیم محدود فورم به را کلید صفحه حادثات اینکه Trueرا فورم KeyPressحادثه KeyPressEventArgs..::.Handledبراینمائید.
: ميباشد ذيل خصوصيات داراي کليد صفحه حادثات
خاصيتKeyChar. ميدهد را شده داده فشار کليد اسکي حرف خاصيت اين
خاصيتهايAlt ، Control و ،Shift
هاي کليد حالت خصوصيات Altاين ، Ctrl و ،Shift. ميدهد را
خاصيتKeyCode . ميدهد را دهنده تغير کليدهاي به راجع معلومات بدون را را شده داده فشار کليد اسکي کود خاصيت اين
خاصيتKeyData
. ميدهد را دهنده تغير هاي کليد به راجع معلومات همراي شده داده فشار کليد اسکي کود خاصيت اين
خاصيتKeyValueBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
78
: ميدهد نشان را کليد صفحه حادثات ذيل هاي مثال 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 TextBox9.Text = e.GetType.FullName End Sub End Class Public Class Form4 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles
TextBox1.KeyDown If e.KeyCode = Keys.F2 Then TextBox2.Text = DateAndTime.DateValue(Now) ElseIf e.KeyCode = Keys.F5 Then TextBox2.Text = DateAndTime.TimeValue(Now) End If End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
79
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 Public Class Form4 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
Handles TextBox1.KeyDown TextBox2.Text = Date.DaysInMonth(2000, 8) TextBox3.Text = Date.Now TextBox4.Text = Date.UtcNow TextBox5.Text = Date.MaxValue TextBox6.Text = Date.Today End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
80
:در شود، داده فشار کليد صفحه از که حرف هر ذيل، مثال در :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 System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress Label1.Text = "Key pressed: " & Asc(e.KeyChar) End Sub End Class Public Class Form2 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
TextBox1.KeyPress TextBox2.Text = e.KeyChar TextBox3.Text = e.ToString TextBox4.Text = e.GetHashCode TextBox5.Text = Asc(e.KeyChar) End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
81
حادثه 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
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.ToString TextBox4.Text = e.KeyValue.ToString End Sub Private nonNumberEntered As Boolean = False Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyDown nonNumberEntered = False If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then If e.KeyCode <> Keys.Back Then nonNumberEntered = True End If End If End If End Sub
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
82
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() End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
83
خاصیت با از کلید 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) AddHandler tb.KeyPress, AddressOf keypressed End Sub Private Sub keypressed(ByVal o As [Object], ByVal e As KeyPressEventArgs) If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then e.Handled = True End If End Sub Public Shared Sub Main() Application.Run(New Form1()) End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
84
موس (Mouse Events)حادثات . . کالس نمايد استفاده را حادثات اين ميتواند ابجکت هر ميدهد رخ موس هاي دکمه دادن فشار اثر در هم موس حادثات
MouseEventArgs . کوردينات قبيل از معلومات اين دارد را موس حادثه به راجع فشار yو xمعلومات دکمه کدام موس، موشر.( موس ( سومي دکمه است شده داده دوران موس چرخ بار چند ويا است، شده داده فشار دکمه بار چند است، شده داده
: است ذيل قرار موس حادثات بعضي
حادثهMouseEnter. شود داخل آبجکت يک ساحه به موس موشر که ميدهد رخ وقتي حادثه اين
حادثهMouseMove
حادثهMouseLeave
. شود خارج آبجکت ساحه از موس موشر که ميدهد رخ وقتي حادثه اين
حادثهMouseDown
حادثهMouseWheel حادثهMouseUp
حادثهMouseHover
. نمایش برای حادثه این از باشد ابجکت يک باالي شنا درحالت موس موشر که ميدهد رخ وقتي حادثه اثنای Tool tipاين در . میشود استفاده کنترول باالی شنای By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
85
: ميکند رسامي فورم باالي موس حادثات از استفاده با ذيل پروگراو 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 _ (New SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4) End If End Sub Private Sub FrmPainter_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseDown shouldPaint = True End Sub Private Sub FrmPainter_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseUp shouldPaint = False End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
86
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 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 End Sub Private Sub frmpainter_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove If shouldPaint Then Dim graphic As Graphics = CreateGraphics() graphic.FillEllipse(New SolidBrush(Color.BlueViolet), e.X, e.Y, 14, 24) graphic.FillRectangle(Brushes.AliceBlue, e.X, e.Y, 12, 12) graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, 100, 100) graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, e.X, e.X) End If End Sub Private Sub frmpainter_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp shouldPaint = False End Sub End Class
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
87
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
88
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
89
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
90
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
91
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
92
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
93
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
94
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
95
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
96
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
97
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
98
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.
Programming in VB.NET
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
99
Option EXPLICIT OPTION EXPLICIT ON OPTION EXPLICIT OFF
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
100
Var_type can be: Byte Integer Long Double Single String Boolean Date Object Variant
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
101
)Constant(ثابت نوع از عبارت اجراي Dataثابت اثناي در ان قيمت که است
. ذيل طور را ثابت بسيک ويژول در نميکند تغير پروگرام: ميتوانيم کرده تعريف
Const pi AS DOUBLE = 3.1415926 داراي متحول به نظر هاي ثابت :خوبي ميباشد ذيل
. نميکند تغير آن تعريف از بعد ثابت قيمت ،پروگرام هاي قسمت تمام در آن قيمت دادن تغير با
تغير در سهولت باعث اينکار و گرديده تغير آن قيمت. ميشود ها قيمت
کمپيوتر توسط آساني و سرعت به متحول به نظر ثابت. ميشود By: S. Hassan Adelyarپراسس
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
102
متحول نوع نمودن نوع : امتحان نمودن معلوم برای : توانیم می کرده استفاده ذیل تابع دو از متحول
VarType) ( :متحول نوع نظربه عدد همان که عددی جواب. میکند فرق
TypeName) ( : جواب string همان متحول stringکه نوع. میدهد نشان را
Vbinteger 2 Vblong 3 Vbsingle 4 Vbdate 7 Vbstring 8 By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
103
شرطی های )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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
104
عمومی : IF….THEN…..ELSEشکل است ذيل قرارIF Condition-1 THEN
Statement(s)
ELSEIF Condition-2 THEN
Statement(s)
…………..
…………..
ELSE
Statement(s)
END IFBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
105
دستور عمومی :SELECT…..CASEشکل است ذيل قرارSELECT CASE ExpressionCASEValue-1
Statement(s)CASEValue-2
Statement(s)……..……..CASE ELSE
Statement(s)END SELECT
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
106
Example:
SELECT CASE Weekday(date)
CASE 1
DayName = “Monday”
CASE 2
DayName = “Saturday”
………
………
END SELECT
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
107
تکرار )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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
108
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
109
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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
110
هاي کنترول فورم باالي که ميکند کار صورت در ذيل فورماز غير :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 SubBy: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
111
را ها کنترول تمام ذيل :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
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
112
تکراری DO….LOOPحلقه: ميباشد ذيل عمومی شکل دو دارای حلقه اين
DO WHILE Condition
Statement(s)
LOOP
DO UNTIL Condition
Statement(s)
LOOP
By: S. Hassan Adelyar
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
113
جمالت: نوت شرط، کردن تست از قبل تا باشيم اگرخواستهحلقه شود، اجرا حلقه می DO…LOOPداخل ذيل طور را
نويسيم:DO
Statement(s)LOOP WHILE ConditionDO
Statement(s)LOOP UNTIL Condition
: نوت –يک شدن تکميل صورت در تا افتد مي ضرورت اوقات بعضي
حلقه تکميل از قبل خارج Do … Whileويا For …Nextشرطدستور. از اينصورت در : Exitشويم ميتوانيم کرده By: S. Hassan Adelyarاستفاده
Visual Basic .NET
VB
.NE
T P
RO
GR
AM
MIN
G10 July 2010
114
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