Trong gi iớ phát tri nể ứng d ngụ trên Internet ta có thể sử d ngụ các ngôn ngữ Java, PHP, ASP… Khi Java m iớ đượ Sun Corporation gi ic ớ thiệu nó đã có một sức mạnh đáng kể và hư ngớ t
Trang 3L I GI I THI UỜ Ớ Ệ
Windows Forms là cách c b n đ cung c p các thành ph n giao di n (GUI ơ ả ể ấ ầ ệcomponents) cho môi trường .NET Framework. Windows Forms được xây d ng trên ự
th vi n Windows API. Windows Forms c b n bao g m:ư ệ ơ ả ồ
M t Form là khung dùng hi n th thông tin đ n ngộ ể ị ế ười dùng
Các Control được đ t trong form và đặ ượ ậc l p trình đ đáp ng s ki n.ể ứ ự ệ
Trang 4M C L C Ụ Ụ
TUYÊN B B N QUY N 1Ố Ả Ề
Tài li u này thu c lo i sách giáo trình nên các ngu n thông tin có thệ ộ ạ ồ ể
được phép dùng nguyên b n ho c trích dùng cho các m c đích v đàoả ặ ụ ề
t o và tham kh o. 1ạ ả
M i m c đích khác mang tính l ch l c ho c s d ng v i m c đích kinhọ ụ ệ ạ ặ ử ụ ớ ụ
doanh thi u lành m nh s b nghiêm c m. 1ế ạ ẽ ị ấ
1
L I GI I THI U 2Ờ Ớ Ệ
Windows Forms là cách c b n đ cung c p các thành ph n giao di nơ ả ể ấ ầ ệ
(GUI components) cho môi trường .NET Framework. Windows Forms
được xây d ng trên th vi n Windows API. Windows Forms c b n baoự ư ệ ơ ả
g m: 2ồ
M t Form là khung dùng hi n th thông tin đ n ngộ ể ị ế ười dùng. 2
Các Control được đ t trong form và đặ ượ ậc l p trình đ đáp ng sể ứ ự
trình hướng đ i tố ượng, c s d li u, l p trình qu n lý 1. 9ơ ở ữ ệ ậ ả
+ Là mô đun đ u tiên c a môn h c l p trình Windows (VB.NET). Đây làầ ủ ọ ậ
mô đun ch a đ ng ki n th c n n t ng v ngôn ng l p trình VB.NET,ứ ự ế ứ ề ả ề ữ ậ
là mô đun h tr cho hai mô đun l p trình Windows 2 và l p trìnhỗ ợ ậ ậ
Windows 3. 9
M C TIÊU: Sau khi h c xong mô đun này, h c sinh – sinh viên có năngỤ ọ ọ
l c 9ự
+ Làm quen ngôn ng l p trình. 9ữ ậ
+ Làm quen và s d ng các ki u d li u c b n. 9ử ụ ể ữ ệ ơ ả
+ Trình bày và s d ng các câu l nh, c u trúc đi u khi n, r nhánh. 9ử ụ ệ ấ ề ể ẽ
+ Trình bày và s d ng các control đ n giãn. 9ử ụ ơ
+ Phân tích ch c năng c a chứ ủ ương trình ng d ng đ lên k ho ch xâyứ ụ ể ế ạ
d ng chự ương trình ng d ng. 9ứ ụ
+ Thi t k giao di n chế ế ệ ương trình ng d ng. 9ứ ụ
+ S d ng các ti n ích tr giúp c a ngôn ng l p trình. 9ử ụ ệ ợ ủ ữ ậ
Trang 5+ Hoàn thành đ án chồ ương trình ng d ng đ n gi n. 9ứ ụ ơ ả
+ Phát tri n các chể ương trình đ an thành các ph n m m qu n lý (Nhàồ ầ ề ả
hàng, khách s n, bán hàn, giáo d c…) trong th c t 9ạ ụ ự ế
N I DUNG: 9Ộ
BÀI 1. GI I THI U MICROSOFT VISUAL STUDIO .NET 10Ớ Ệ
1. Gi i thi u Microsoft .NET 2010 10ớ ệ
1.1. Tình hình trước khi Visual Studio.NET ra đ i 10ờ
1.2. S ra đ i c a Visual Studio.NET 11ự ờ ủ
BÀI 2. N N T NG C A NGÔN NG VB.NET 27Ề Ả Ủ Ữ
1. Các ki u d li u 27ể ữ ệ
Trang 63 S d ng câu l nh nh p xu t c b n, c u trúcử ụ ệ ậ ấ ơ ả ấ
đi u khi n Ifề ể
9 Phân tích yêu c u đ án theo hầ ồ ướng đ i tố ượng 4 Tích h pợ
10 Thi t k các l p đ i tế ế ớ ố ượng cho đ ánồ 4 Tích h pợ
21 Truy xu t c s d li u b ng ấ ơ ở ữ ệ ằ Dataset 5 Tích h pợ
22 Truy xu t c s d li u b ng ấ ơ ở ữ ệ ằ DataGridView 5 Tích h pợ
23 Truy xu t c s d li u b ng ấ ơ ở ữ ệ ằ BindingSource 5 Tích h pợ
24 Truy xu t cấ ơ sở dữ li u b ngệ ằ 5 Tích h pợ
Trang 75.5.1 Lặp không biết trước số lần lặp 37
5.5.1.1 Câu lệnh Do Loop 37
5.5.1.2 Câu lệnh While End While 38
5.5.2 Lặp biết trước số lần lặp với câu lệnh For…Next 38
2.3 Constructor (Th t c kh i t o) 57ủ ụ ở ạ
2.4 Destructors(Th t c kh i h y) 58ủ ụ ở ủ
2.5 Phương th c (Methods) 59ứ
2.6 Trường (Fields) và thu c tính (Properties) 59ộ
2.7 Khai báo s ki n (Event) 60ự ệ
Trang 83.1 Mô hình đa t ng 66ầ
3.1.1 Presentation Layer 66
3.1.2 Business Logic Layer 67
3.1.3 Data Access Layer 68
1.2.3 Đặt tên và thuộc tính cho menu 78
1.3 Vi t l nh cho s ki n c a menu 79ế ệ ự ệ ủ
2. Thi t k các d ng form 80ế ế ạ
2.1 Form cha 80
2.2 Form con 81
3. S d ng các đi u khi n c b n 83ử ụ ề ể ơ ả
3.1 M i quan h gi a thu c tính, phố ệ ữ ộ ương th c và s ki n 83ứ ự ệ
3.2 Thu c tính, phộ ương th c, s ki n c a m t s đi u khi n c b n 84ứ ự ệ ủ ộ ố ề ể ơ ả
3.3.1 Hộp thoại mở tập tin (OpenFileDialog) 92
3.3.2 Hộp thoại lưu tập tin (SaveFileDialog) 93
3.3.3 Hộp thoại font 94
3.3.4 Hộp thoại màu 94
4. Làm vi c v i Module 95ệ ớ
Trang 94.1 T o và l u module chu n 95ạ ư ẩ
4.2 S d ng các bi n Public 98ử ụ ế
4.2.1 Làm việc với các biến Public (biến toàn cục) 98
4.2.2 Biến Public ở phạm vi form 100
5.1.1 Thuật ngữ về cơ sở dữ liệu (CSDL) 106
5.1.2 Làm việc với cơ sở dữ liệu Access 107
5.1.3 Tạo bộ điều phối dữ liệu Data Adapter 110
5.1.4 Sử dụng đối tượng điều khiển OleDbDataAdapter 110
5.1.5 Làm việc với DataSet 114
5.2 S d ng các đi u khi n ràng bu c d li u 116ử ụ ề ể ộ ữ ệ
5.3 T o các đi u khi n duy t xem d li u 119ạ ề ể ệ ữ ệ
5.4. Hi n th v trí c a b n ghi hi n hành 121ể ị ị ủ ả ệ
5.5 Trình di n d li u s d ng đi u khi n DataGrid 123ễ ữ ệ ử ụ ề ể
5.5.1 Sử dụng DataGrid để hiển thị dữ liệu trong bảng: 123
5.5.2 Định dạng các ô lưới trong DataGrid 130
5.5.3 Cập nhật cơ sở dữ liệu trở lại bảng 131
6. Bài t p 132ậ
Tài li u tham kh o: 135ệ ả
Trang 10MÔ ĐUN L P TRÌNH WINDOWS 1Ậ
V TRÍ, TÍNH CH T C A MÔN H CỊ Ấ Ủ Ọ
+ Mô đun được b trí sau khi h c sinh h c xong các môn h c chung, các môn h c, ố ọ ọ ọ ọ
mô đun k thu t c s , c u trúc d li u và gi i thu t, l p trình hỹ ậ ơ ở ấ ữ ệ ả ậ ậ ướng đ i tố ượng,
c s d li u, l p trình qu n lý 1.ơ ở ữ ệ ậ ả
+ Là mô đun đ u tiên c a môn h c l p trình Windows (VB.NET). Đây là mô đun ầ ủ ọ ậ
ch a đ ng ki n th c n n t ng v ngôn ng l p trình VB.NET, là mô đun h tr choứ ự ế ứ ề ả ề ữ ậ ỗ ợ hai mô đun l p trình Windows 2 và l p trình Windows 3.ậ ậ
M C TIÊU: Ụ Sau khi h c xong mô đun này, h c sinh – sinh viên có năng l cọ ọ ự
+ Làm quen ngôn ng l p trình.ữ ậ
+ Làm quen và s d ng các ki u d li u c b n.ử ụ ể ữ ệ ơ ả
+ Trình bày và s d ng các câu l nh, c u trúc đi u khi n, r nhánh.ử ụ ệ ấ ề ể ẽ
+ Trình bày và s d ng các control đ n giãn.ử ụ ơ
+ Phân tích ch c năng c a chứ ủ ương trình ng d ng đ lên k ho ch xây d ng ứ ụ ể ế ạ ự
chương trình ng d ng.ứ ụ
+ Thi t k giao di n chế ế ệ ương trình ng d ng.ứ ụ
+ S d ng các ti n ích tr giúp c a ngôn ng l p trình.ử ụ ệ ợ ủ ữ ậ
+ Hoàn thành đ án chồ ương trình ng d ng đ n gi n.ứ ụ ơ ả
+ Phát tri n các chể ương trình đ an thành các ph n m m qu n lý (Nhà hàng, khách ồ ầ ề ả
s n, bán hàn, giáo d c…) trong th c t ạ ụ ự ế
N I DUNG:Ộ
Trang 11BÀI 1. GI I THI U MICROSOFT VISUAL STUDIO .NET Ớ Ệ
do không tươ thích về m tng ặ l iợ ích c aủ các công ty ph nầ mềm l nớ đã làm nhả
hư ngở đ nế công vi cệ c aủ những kỹ s xư ây dựng ph nầ mềm
Trong gi iớ phát tri nể ứng d ngụ trên Internet ta có thể sử d ngụ các ngôn ngữ Java, PHP, ASP… Khi Java m iớ đượ Sun Corporation gi ic ớ thiệu nó đã có một sức mạnh đáng kể và hư ngớ t iớ vi cệ chạy trên nhi uề hệ đi uề hành khác nhau,
đ cộ l pậ v iớ các bộ xử lý. Đ cặ bi t Javaệ r tấ thích h p cho vợ i cệ vi tế các ứng d ngụ trên Internet. Tuy nhiên, Java l iạ có h nạ chế v ề m tặ t cố độ và trên thực tế v nẫ chưa thịnh hành
Để làm giảm khả năng nhả hư ngở c aủ Java, bên hãng Microsoft cũng cung
c pấ ngôn ng ASPữ chuyên dùng để vi tế các ứng d ngụ trên Web. Trong các trang ASP vừa chứa th HTMLẻ vừa chứa các đo nạ script (VBScript, JavaScript). Trong quá trình xử lý m tộ trang ASP, n uế là thẻ HTML thì sẽ đượ gửi th ngc ẳ t iớ trình duyệt, còn nếu là các đo nạ script thì s ẽ đượ chuy n thànhc ể các dòng HTML
r iồ gửi đi. Khi nhà l pậ trình mu n đóngố gói và sử dụng l iạ m tộ s chố ức năng nào
đó, thì họ dịch các đoạn chươ trình thành ActiveX và đưa nó vào Web Server. Tuy ngnhiên, vì lý do b oả m tậ nên các Admin c aủ các trang Web thườ r tng ấ dè d tặ khi cài ActiveX l ạ trên máy của h ,ọ ngoài ra vi cệ tháo gỡ các phiên b nả c a Aủ ctiveX này cũng là công vi cệ r tấ khó khăn
Còn trong gi iớ phát triển ứng d ngụ trên Windows ta có thể vi tế ứng d ngụ b ngằ Visual C++, Delphi, Visual Basic… đây là m tộ số công cụ phổ bi nế và mạnh. Trong đó Visual C++ là một ngôn ngữ r tấ mạnh nh ngư cũng r tấ khó sử d ng.ụ Visual Basic thì đ nơ gi nả dễ h c,ọ d dùngễ nh tấ nên r tấ thông d ngụ nh ngư h nạ
Trang 12chế là Visual Basic không ph iả ngôn ngữ hướng đ iố tượ và không h trng ỗ ợ khả năng phát tri nể thu tậ toán.
Tóm l iạ trong gi iớ l pậ trình theo Microsoft thì vi cệ l pậ trình trên desktop cho đến l pậ trình hệ phân tán hay trên web là những mảng đ cộ l p.ậ
K tế quả là năm 2001 Visual Studio.Net 2001 ra đ iờ đánh d uấ cho một môi
trườ l png ậ trình trên n nề .NET Framework 1.0 tiên ti nế m i.ớ
Năm 2003, sau 2 năm .NET Framework nâng c pấ thêm m tộ bậc v iớ phiên b nả 1.1 v iớ đ c điặ ểm ngoài các chươ trình Windows truyền th ngng ố – là các t pệ tin .exe giờ đây Windows còn t nồ t iạ những chươ trình khác – những chng ươ trình chạy ngtrên nền NET. Mu nố chạy chươ trình NET ta chỉ c nng ầ cài NET Framework là
đ ủ M tộ điểm lý thú và cũng là đi u ề mong đ iợ c aủ t tấ cả lập trình viên, từ phiên
b nả Windows 2003 NET Framework đượ cài đ tc ặ như m tộ ph nầ mặc đ nhị c aủ Windows. Song song đó, môi trườ phát tri nng ể Visual Studio .NET 2001 đượ cnâng c pấ thành Visual Studio .NET 2003 cho phép vi tế và chạy các ứng d ngụ trên
n nề .NET Framework 1.1
Cu iố năm 2005, Visual Studio 2005 v iớ n n ề NET Framework 2.0 m nhạ mẽ và
vượ trội hơn so v it ớ n nề NET Framwork 1.1 trướ đó. Ngay sau đó Microsoft ccông bố phiên b n ả Windows Vista, và toàn bộ Windows là .NET, t tấ cả các hàm API lõi trong những phiên b n ả Windows trướ đây đều đã đc ượ thay thế bằng các chàm hay thư vi nệ .NET. Microsoft đã vi tế l iạ hoàn toàn lõi API, không còn một l pớ API nào nữa
1.3 T ng ổ quan v Visual ề Studio.NET
Visual Studio.NET gồm 2 ph n:ầ Framework và Integrated Development Environment– IDE, cho phép l pậ trình viên khi xây dựng các ứng d ngụ có thể lựa chọn sử d ngụ nhi uề ngôn ng l pữ ậ trình khác nhau nh Viư sual C++.NET, Visual C#.NET, Visual J#.NET, Visual Basic.NET… trong cùng m tộ môi trườ phát ngtri nể IDE th ngố nh tấ trên ki nế trúc NET Framework
Trang 13Framework là thành ph nầ quan tr ngọ nh t,ấ là c tố lõi và tinh hoa c aủ môi
trường .NET, Framework giúp chúng ta biên d chị và thực thi các ứng dụng NET (c uấ trúc c a Frủ amework chúng ta s tẽ ìm hiểu ở các chươ sau c ang ủ giáo trình).IDE cung c pấ m tộ môi trườ phát tri nng ể trực quan, giúp các l pậ trình viên có thể dễ dàng và nhanh chóng xây dựng giao di nệ cũng như vi tế mã l nhệ cho các ứng
d ngụ dựa trên n nề tảng .NET. N uế không có IDE chúng ta cũng có thể dùng m tộ trình so nạ thảo văn b nả b tấ kỳ, ví dụ như Notepad để viết mã lệnh và sử d ngụ command line để biên d chị và thực thi ứng d ng.ụ Tuy nhiên vi cệ này m tấ r tấ nhi uề th iờ gian, t tố nh tấ là chúng ta nên dùng IDE để phát tri nể các ứng dụng, và
đó cũng là cách dễ sử d ngụ nh t.ấ
Ngoài ra trong Visual Studio.NET thì l pậ trình Winform và Webform là tươ ng
tự, ví dụ c Visualả C#.NET lẫn Visual Basic.NET đ uề hỗ trợ khả năng l pậ trình trên Win và Web…
1.4 Trình biên d ch và MSIL ị
Microsoft Intermediate Language (MSIL) hay Common Intermediate Language (CIL) là m t ngôn ng trung gian độ ữ ược t o ra sau quá trình biên d ch t các lo iạ ị ừ ạ ngôn ng khác trong .Net nh C#, C++, VB.Net, J#, …ữ ư
T t c mã ngu n .NET đ u đấ ả ồ ề ược biên d ch thành MSIL. Sau đó MSIL s đị ẽ ượ cchuy n thành mã máy khi ph n m m để ầ ề ượ cài đ tc ặ ho cặ khi ch y ạ (runtime) b iở trình biên d ch JIT (JustInTime).ị
2. Kh i đ ng Visual Basic.NET 2010 và giao di nở ộ ệ
Đ k ể h iở động Visual C# 2010 và giao diện: Vào Start/Programs/Microsoft Visual Studio 2010/Microsoft Visual Studio 2010, xuất hi nệ cửa sổ Start Page.
Trang 14Hình 1. C a s Start Pageử ổ+ New Project: T oạ đồ án m i.ớ
+ Open Project: Mở các đồ án có s n.ẵ
+ Recent Projects: Danh sách các đồ án g nầ đây nh t.ấ
Sau đó kích ch nọ m cụ New Project ho cặ vào File/New/Project ho cặ bấm phím
t tắ Ctrl+Shift+N s xu tẽ ấ hi nệ cửa sổ New Project.
Hình 2. C a s New Projectử ổ
Trang 16Hình 4. Môi trường phát tri n tích h p IDEể ợTitle Bar: Thanh tiêu đề chứa tên đồ án.
Menu Bar: Thanh Menu chứa đầy đủ các công cụ cần để phát tri n,ể thực thi
và cài đặt
ứng d ng…ụ
File: cho phép mở, thêm m iớ và l uư trữ đồ án…
Edit: gồm các thao tác hỗ trợ vi cệ so nạ th oả mã l nhệ nh :ư copy, c t,ắ dán
View: cho phép hi nể thị các công cụ hỗ trợ ngườ dùng trong quá trình xây idựng đ ánồ nh :ư
Trang 17Tools: cung c p ấ các công cụ cho phép kết n iố t iớ các thi tế bị ngoại vi như Pocket PC, Smartphone… ho cặ kết n iố tới các hệ qu nả trị cơ sở dữ li u ệ cũng như
k tế n iố t iớ máy chủ server…
Toolbar: thanh công cụ g mồ một t pậ h pợ các nút l nh,ệ m i nútỗ l nh cệ hứa m tộ biểu tượng icons và có chức năng tươ đng ươ v ing ớ chức năng c aủ m tộ m cụ lựa chọn trong thanh menu. Thanh công cụ r tấ hữu ích và trực quan, giúp ngườ dùng dễ idàng và nhanh chóng thực hiện một chức năng mong mu nố chỉ thông qua m tộ cái kích chu t.ộ
Visual Basic 2010 có tới 39 thanh công cụ khác nhau nh :ư Standard, Formatting, Debug, Build Ví dụ hình nhả thanh công cụ Standard:
Hình 5. Thanh công c Standardụ
Để g iọ các thanh công cụ ta vào View/Toolbars khi đó sẽ xu tấ hi nệ danh sách t tấ cả các thanh công c ụ Mu nố ẩn/hi nệ thanh công cụ nào ta kích ch nọ t iạ dòng chứa tên thanh công cụ đó
Toolbox: là h pộ công cụ chứa các đi uề khiển – controls đượ đ tc ặ lên Form khi thi tế k giaoế di nệ ngườ dùng.i
Để hi nể thị h pộ công cụ ta thực hi nệ m tộ trong các cách sau:
Vào View/Toolbox
Bấm tổ h pợ phím Ctrl+W+X
Kích chu tộ t iạ bi uể tượ Toolbox ng trên thanh công cụ Standard
Trang 18Hình 7. Các ch c năng làm vi c v i tab trong Toolboxứ ệ ớTrong m iỗ tab c aủ hộp Toolbox chứa danh sách các lo iạ đi uề khi nể khác nhau, các điều khi nể này có thể thêm m i,ớ lo iạ b ,ỏ thay đ iổ vị trí… Kích chuột
Trang 19ph iả tại một đi uề khi nể b t ấ kỳ trên tab, xu tấ hiện một menu ngữ c nhả cho phép lựa chọn các thao tác c nầ thực hi n.ệ
Ví dụ đ thể êm mới m t độ i uề khi nể vào trong tab Data, ta kích chu tộ phải t iạ vị trí b tấ kỳ trên tab Data, ch nọ Choose Items
Hình 8. Các ch c năng làm vi c v i t ng đi u khi n trong tabứ ệ ớ ừ ề ể
K t quế ả sẽ xu t hi n cấ ệ ửa sổ Choose Toolbox Items, kích ch nọ các đi u khề i nể mong mu nố r i bồ ấm OK đ k tể ế thúc
Hình 9. C a s Choose Toolbox Itemsử ổ
Trang 20Form Designer: cửa sổ thi tế kế dùng để thi tế kế giao diện cho chươ trình, ng
m iỗ dự án có thể có m tộ ho cặ nhiều Form
Hình 10. C a s Form Desigherử ổSolution Explorer: cửa sổ gi iả pháp đây là ph nầ cửa sổ giúp ta qu nả lý t tấ cả các tài nguyên và t pậ tin dự án
Solution Explorer đượ t chc ổ ức thành m tộ c u trúcấ cây bao gồm những m cụ khác nhau, nh : danhư sách các Form của đồ án, danh sách các l pớ Class, danh sách các tài nguyên cũng như danh sách cơ sở dữ liệu…
Để hi nể thị cửa sổ Solution Explorer ta thực hi nệ m tộ trong các cách sau:
Trang 21Trong cửa s Solutionổ Explorer có hai thành phần hay dùng là View Code và
View Designer
View Code: có tác dụng hi nể thị cửa s ổ so nạ thảo mã lệnh cho Form đang đượ c
ch n.ọ Ngoài ra, để hi nể thị cửa sổ so nạ th oả mã l nhệ ta còn có m tộ số cách khác như sau:
Vào View/Designer
Bấm phím t tắ Shift+F7.
Properties Window: cửa sổ này li tệ kê t tấ cả các thu cộ tính, sự ki nệ c aủ các
đi uề khiển trong form
Trang 22Mu nố hiển thị thu cộ tính c aủ đ iố tượ nào ta kích chu tng ộ ch nọ đ iố tượ đó ngtrong cửa s thi tổ ế kế giao di n, ho cệ ặ ch n tênọ đ iố tượ trong danh sách thả xuống ng
Bây gi đ làm quen v i giao di n, chúng ta t o ng d ng đ u tiên. Trong ngờ ể ớ ệ ạ ứ ụ ầ ứ
d ng này có s d ng các đi u khi n c b n nh t là Label, TextBox và Button đụ ử ụ ề ể ơ ả ấ ể thi t k form nh p vào hai s nguyên, tính t ng c a hai s và hi n k t qu ế ế ậ ố ổ ủ ố ệ ế ả
Trang 23Hình 14. Giao di n form c ng hai sệ ộ ố
Bước 1: Đ t tên cho các đi u khi nặ ề ể
Sau khi t o m t đ án m i nh ph n trên, thạ ộ ề ớ ư ầ ay đ iổ thu c tínhộ c aủ form Form1.vb và thay đ iổ thu cộ tính c aủ các đi uề khiển trên form như sau:
Điều khiển Thu cộ tính Giá trị
Form1.vb
StartPosition CenterScreen Text C ng hai s ộ ố Label1 Text Nh p s th nh t: ậ ố ứ ấ Label2 Text Nh p s th hai: ậ ố ứ
Label4
Text Tính t ng ổ
Bước 2: Vi t l nhế ệ
Nh p đôi chu t vào nút l nh btnTong và vi t đo n l nh sau:ắ ộ ệ ế ạ ệ
Private Sub btnTong_Click( ByVal sender As System Object , ByVal
e As System EventArgs ) Handles btnTong.Click
Dim tong As Integer = Convert ToInt32(txtSo1.Text) +
Convert ToInt32(txtSo2.Text)
lblKQ.Text = tong.ToString()
Trang 24End Sub
đo n l nh trên, dòng đ u tiên:
Private Sub btnTong_Click( ByVal sender As System Object , ByVal
e As System EventArgs ) Handles btnTong.Click
Là s ki n Click c a nút l nh, t đ ng sinh ra khi ngự ệ ủ ệ ự ộ ườ ậi l p trình nh p đôiắ chu t vào nút l nh btnTong. Đây cũng là s ki n m c đ nh c a nút l nh.ộ ệ ự ệ ặ ị ủ ệ
Dòng ti p theo là khai báo bi n tên tong (đ hi u rõ h n v cú pháp khai báoế ế ể ể ơ ề
bi n chúng ta s xem xét k bài 2 c a giáo trình này): ế ẽ ỹ ở ủ
Dim tong As Integer = Convert ToInt32(txtSo1.Text) +
Convert ToInt32(txtSo2.Text)
Có th thay th b ng dòng l nh:ể ế ằ ệ
Dim tong As Integer = Integer Parse(txtSo1.Text) +
Integer Parse(txtSo2.Text)
Dùng đ chuy n ki u giá tr chu i nh p vào hai đi u khi n TextBox thành ki uể ể ể ị ỗ ậ ề ể ể
s nguyên, sau đó c ng hai s và gán k t qu cu i cùng cho bi n tong.ố ộ ố ế ả ố ế
Dòng l nh:ệ
lblKQ.Text = tong.ToString()
Dùng đ hi n t ng c a hai s ra đi u khi n Label.ể ệ ổ ủ ố ề ể
4. C u trúc c a ng d ng Visual Basic.NETấ ủ ứ ụ
4.1 Namespaces là gì?
Namespaces giúp t ch c các đ i tổ ứ ố ượng c a m t Assembly thành m t c u trúcủ ộ ộ ấ
đ d hi u h n, chúng nể ễ ể ơ hóm các đ i tố ượng liên quan l i v i nhau đ d truy c pạ ớ ể ễ ậ
b ng code:ằ
+ Ví d namespace ụ SQLClient được đ nh ngĩa trong ị System.Data
Namespaces t o ph i đ y đ tên c a đ i tạ ả ầ ủ ủ ố ượng, tránh s nh p nh ng và các tênự ậ ằ xung đ t v i các class.ộ ớ
4.2 T o m t Namespace ạ ộ
Đ t o m t Namespace, chúng ta dùng câu l nh ể ạ ộ ệ Namespace … End Namespace
Ví d :ụ
Namespace KhachHang
Trang 25'T o các l p, module hay interface liên quan đ n thông tin khách hàngạ ớ ế
End Namespace
Assembly thường đ nh nghĩa Namespace g c cho Project, đị ố ược thi t l p trongế ậ
h p tho i Project Properties. Assemply có Namespace g c là ộ ạ ố MyAssembly.
Ví d :ụ
Namespace Top
'Tên đầy đủ là MyAssembly.Top
Public Class Inside
'Tên đầy đủ là MyAssembly.Top.Inside
.
End Class
Namespace InsideTop
'Tên đầy đủ là MyAssembly.Top.InsideTop
Public Class Inside
'Tên đầy đủ là MyAssembly.Top.InsideTop.Inside
Public Sub Perform( )
Dim x As New Top.Inside( )
Dim y As New Top.InsideTop.Inside( )
End Sub
Khi g i code ph i tham chi u đ y đ đ n tên c a Namespace, đi u này làm choọ ả ế ầ ủ ế ủ ề code khó đ c:ọ
Dim x As New MyAssembly.Top.InsideTop.Inside
Vì v y, chúng ta có th dùng câu l nh Imports đ code đ n gi n h n nh sau:ậ ể ệ ể ơ ả ơ ưImports MyAssembly.Top.InsideTop
…
Dim x As New Inside( )
Trang 26Chúng ta cũng có th Import m t tên bí danh cho m t Namespace ho c m tể ộ ộ ặ ộ
ki u.ể
Ví d :ụ
Imports IT = MyAssembly.Top.InsideTop
…
Dim x As New IT.Inside
* L u ý: Đ thi t l p các thu c tính thông thư ể ế ậ ộ ường cho m t Project, chúng ta vàoộ menu Project\<tên đ án> Properties… h p tho i Properties cho Project s xu t hi nề ộ ạ ẽ ấ ệ cho phép b n thay đ i các tham s m c đ nh.ạ ổ ố ặ ị
Hình 15. C a s Project Propertiesử ổ
Trang 275. Bài t pậ
Bài 1: C i ti n ng d ng “C ng hai s ” trên b ng cách b sung thêm các nútả ế ứ ụ ộ ố ở ằ ổ
l nh Tính Hi u, Tích, Thệ ệ ương c a hai s ủ ố
Bài 2: Thi t k form nh p vào h , tên c a m t ngế ế ậ ọ ủ ộ ười. Hi n thông báo ra mànệ hình đ chào ngể ười có h và tên đọ ược nh p.ậ
Hướng d n: ẫ
Đ n i hai chu i chúng ta s d ng phép n i &. ể ố ỗ ử ụ ố
Ví d : ụ “Nguyễn” & “ “ & “Bình” = “Nguyễn Văn Bình”
Trang 28BÀI 2. N N T NG C A NGÔN NG VB.NET Ề Ả Ủ Ữ
M c tiêu c a bài: ụ ủ
Hi u v các n n t ng c a VB.Net nh : ki u d li u, bi n, m ng, ;ể ề ề ả ủ ư ể ữ ệ ế ả
Hi u v cú pháp c u trúc đi u khi n trong VB.Net;ể ề ấ ề ể
Vi t ng d ng nh trên VB.net;ế ứ ụ ỏ
Nghiêm túc, t m trong quá trình ti p c n v i công c m i.ỉ ỉ ế ậ ớ ụ ớ
1. Các ki u d li uể ữ ệ
Dim Sg as Single
Sg = 899.99Double 64bit (d u ấ
ph y đ ng)ả ộ
1.797631348623E308 đ n ế1.797631348623E308
Dim D as DoubleD=3.1.4159265Decimal 128bit Trong kho ng +/ả
79,228x1024
Dim Dc as DecimalDc=7234734.5
Bl = TrueDate 64bit T 1/1/1 đ n 31/12/9999ừ ế Dim Da As Date
Da=#16/07/1984
Trang 29Object 32bit B t k ki u đ i tấ ỳ ể ố ượng nào Dim Obj As Object
2. Bi nế
2.1 Khái ni m ệ
M i ng d ng thỗ ứ ụ ường x lý nhi u d li u, ta dùng khái ni m "bi n" đ l u trử ề ữ ệ ệ ế ể ư ữ
d li u trong b nh máy tính, m i bi n l u tr m t d li u c a chữ ệ ộ ớ ỗ ế ư ữ ộ ữ ệ ủ ương trình
M c dù VB không đòi h i, nh ng ta nên đ nh nghĩa rõ ràng t ng bi n trặ ỏ ư ị ừ ế ước khi truy xu t nó đ code c a chấ ể ủ ương trình được trong sáng, d hi u, d b o trì và phátễ ể ễ ả tri n.ể
Bi n (Variable) là vùng l u tr đ ế ư ữ ượ c đ t tên đ ch a d li u t m th i trong ặ ể ứ ữ ệ ạ ờ quá trình tính toán, so sánh và các công vi c khác. ệ
Bi n thế ường có hai đăc đi m: ể
+ M i bi n có m t tên. ỗ ế ộ
+ M i bi n có th ch a duy nh t m t lo i d li u.ỗ ế ể ứ ấ ộ ạ ữ ệ
2.2 Khai báo bi n ế
Cú pháp đ n gi n c a l nh đ nh nghĩa bi n:ơ ả ủ ệ ị ế
[Static|Public|Private|Dim] <tên bi n> As <ki u d li u> ế ể ữ ệ [= <Biểu thức>]
Trong đó:
<tên bi n>: là m t tên đế ộ ược đ t gi ng quy t c đ t tên đi u khi n. N u c n khaiặ ố ắ ặ ề ể ế ầ báo nhi u bi n trên m t dòng thì m i khai báo cách nhau d u ph y (,). ề ế ộ ỗ ấ ẩ
<ki u d li u>: là m t trong các ki u d li u đã tìm hi u trên.ể ữ ệ ộ ể ữ ệ ể ở
N u khai báo bi n không xác đ nh ki u d li u thì bi n đó có ki u Variant. ế ế ị ể ữ ệ ế ểKhai báo ng m: Đây là hình th c không c n ph i khai báo m t bi n trầ ứ ầ ả ộ ế ước khi
s d ng. Cách dùng này có v thu n ti n nh ng s gây m t s sai sót, ch ng h nử ụ ẻ ậ ệ ư ẽ ộ ố ẳ ạ khi ta đánh nh m tên bi n, VB.NET s hi u đó là m t bi n m i d n đ n k t quầ ế ẽ ể ộ ế ớ ẫ ế ế ả
chương trình sai mà r t khó phát hi n. ấ ệ
Vì v y trong VB.NET b n c n khai báo bi n trậ ạ ầ ế ước khi s d ng nó.ử ụ
Vi c khai báo bi n có th đ t b t k đâu nh ng thệ ế ể ặ ở ấ ỳ ư ường được đ t đ u m iặ ở ầ ỗ
th t c, n i c n dùng bi n.ủ ụ ơ ầ ế
Bi n c c b : là bi n đế ụ ộ ế ược khai báo trong m t kh i l nh (Dim)ộ ố ệ
Ví d : Tìm giá tr ngh ch đ o c a xụ ị ị ả ủ
If x <> 0 Then
Trang 30Dim rec As Integer
Private: là bi n ch có hi u l c trong module đó (m c đ nh).ế ỉ ệ ự ặ ị
Friend: là bi n ch có hi u l c trong d án đó.ế ỉ ệ ự ự
Public: bi n có hi u l c không ch trong d án nó đế ệ ự ỉ ự ược khai báo mà còn trong các d án khác có tham chi u đ n d án này.ự ế ế ự
Ví d :ụ
Dim LastName As String
Phát bi u trên khai báo m t bi n tên là ể ộ ế LastName có ki u d li u là ể ữ ệ String. Sau khi đã khai báo bi n thì b n có th gán hay l u thông tin vào bi n.ế ạ ể ư ế
2.3 Kh i t o giá tr cho bi n ở ạ ị ế
Ví d sau đây v a khai báo v a kh i t o giá tr cho các bi n:ụ ừ ừ ở ạ ị ế
Có hai lo i bi n m ng: m ng có chi u dài c đ nh và m ng có chi u dài thayạ ế ả ả ề ố ị ả ề
đ i lúc thi hành. ổ
Trang 313.2.1 M ng có chi u dài c đ nh: ả ề ố ị
Dim <Tên bi n m ng>(<Kích th ế ả ướ c>) [As <Ki u d li u>] ể ữ ệ
Lúc này ph n t đ u tiên có ch s là 0 & ph n t cu i cùng có ch s là ầ ử ầ ỉ ố ầ ử ố ỉ ố <Kích
thước >.
Ho c:ặ
Dim <Tên bi n m ng>(<Ch s đ u> To <Ch s cu i>) [As <Ki u>] ế ả ỉ ố ầ ỉ ố ố ể
Ví d : ụ
' Khai báo một biến mảng 15 phần tử kiểu Integer
Dim Counters(14) As Integer
' Khai báo một biến mảng 21 phần tử kiểu Double
' Khai báo một biến mảng 10 phần tử kiểu chuỗi ký tự
Dim List (1 To 10) As String * 12
Hàm UBound tr v biên trên c a m t m ng. ả ề ủ ộ ả
Đây là m ng có kích thả ước thay đ i, đó là m t trong nh ng u đi m c a m ngổ ộ ữ ư ể ủ ả
đ ng vì nó giúp ta ti t ki m tài nguyên h th ng. Ta có th s d ng m t m ng cóộ ế ệ ệ ố ể ử ụ ộ ả kích thướ ớc l n trong m t th i gian nào đó r i xoá b đ tr l i vùng nh cho h th ng.ộ ờ ồ ỏ ể ả ạ ớ ệ ố Khai báo m t m ng đ ng b ng cách cho nó m t danh sách không theo chi u ộ ả ộ ằ ộ ề nào
Trang 32ReDim dùng đ xác đ nh hay thay đ i kích thể ị ổ ước c a m t m ng đ ng. Ta ủ ộ ả ộ có thể dùng ReDim đ thay đ i s ph n t , s chi u c a m t m ng nhi u l n nh ng ể ổ ố ầ ử ố ề ủ ộ ả ề ầ ư không
th thay đ i ki u d li u c a m ng ngo i tr ki u m ng là ki u Variant. ể ổ ể ữ ệ ủ ả ạ ừ ể ả ể
M i l n g i ReDim t t c các giá tr ch a trong m ng s b m t. VB.NET kh iỗ ầ ọ ấ ả ị ứ ả ẽ ị ấ ở
t o l i giá tr cho chúng (Empty đ i v i m ng Variant, 0 cho m ng ki u s , chu iạ ạ ị ố ớ ả ả ể ố ỗ
r ng cho m ng chu i ho c Nothing cho m ng các đ i tỗ ả ổ ặ ả ố ượng). Nh ng đôi khi taư
mu n tăng kích c c a m ng nh ng không mu n làm m t d li u, ta dùng ReDim ố ỡ ủ ả ư ố ấ ữ ệ đi kèm v i t khoá Preserve. Ta xem ví d dớ ừ ụ ưới đây:
Tuy nhiên ch có biên trên c a chi u cu i cùng trong m ng đỉ ủ ề ố ả ược thay đ i ổ khi ta dùng Preserve. N u ta c tình thay đ i chi u khác ho c biên dế ố ổ ề ặ ưới thì VB.NET s ẽ báo
l i. ỗ
3.2 M t s thao tác trên m ng ộ ố ả
Truy xu t t ng ph n t trong m ng: <Tên m ng>(<V trí>) ấ ừ ầ ử ả ả ị
Sao chép m ng: ả Ta có th gán m t m ng cho m t m ng khác, ho c ể ộ ả ộ ả ặ k t qu trế ả ả
và quy lu t v kích thậ ề ước và s chi u c a m ng.ố ề ủ ả
L i khi gán m ng có th x y ra lúc biên d ch ho c khi thi hành. Ta có th thêmỗ ả ể ả ị ặ ể
b y l i đ đ m b o r ng hai m ng là tẫ ỗ ể ả ả ằ ả ương thích trước khi gán.
Trang 33Khi g i hàm tr v m ng, bi n gi giá tr tr v ph i là m t m ng và có ki uọ ả ề ả ế ữ ị ả ề ả ộ ả ể
nh ki u c a hàm, n u không nó s báo l i "ư ể ủ ế ẽ ỗ không t ươ ng thích ki u ể ".
4. Toán tử
4.1 Khái ni m ệ
Toán t hay phép toán (Operator): là t hay ký hi u nh m th c hi n phép tính vàử ừ ệ ằ ự ệ
x lý d li u. ử ữ ệ
Toán h ng: là giá tr d li u (bi n, h ng…). ạ ị ữ ệ ế ằ
Bi u th c: là t p h p các toán h ng và các toán t k t h p l i v i nhau theo quyể ứ ậ ợ ạ ử ế ợ ạ ớ
t c nh t đ nh đ tính toán ra m t giá tr nào đó. ắ ấ ị ể ộ ị
4.2 Các lo i phép toán ạ
Các phép toán s h c: thao tác trên các giá tr có ki u d li u s ố ọ ị ể ữ ệ ố
Phép l y sô đôiấ Ki u s (Integer, Single…)ể ố Nh ki u đ i sư ể ố ố+ Phép c ng hai sộ ố Ki u s (Integer, Single…)ể ố Nh ki u đ i sư ể ố ố
Phép tr hai sừ ố Ki u s (Integer, Single…)ể ố Nh ki u đ i sư ể ố ố
* Phép nhân hai số Ki u s (Integer, Single…)ể ố Nh ki u đ i sư ể ố ố/ Phép chia hai số Ki u s (Integer, Single…)ể ố Single hay Double
\ Phép chia l y ph n nguyênấ ầ Integer, Long Integer, LongMod Phép chia l y ph n dấ ầ ư Integer, Long Integer, Long
^ Tính lũy th aừ Ki u s (Integer, Single…)ể ố Nh ki u đ i sư ể ố ốCác phép toán quan h : ệ là các phép toán mà giá tr tr v c a chúng là m t giáị ả ề ủ ộ
tr ki u ị ể Boolean (TRUE hay FALSE).
Trang 34Các phép toán Logic: là các phép toán tác đ ng trên ki u Boolean và cho k t ộ ể ế quả
là ki u Boolean. Các phép toán này bao g m AND (và), OR (ho c), NOT (ph ể ồ ặ ủđ nh).ị Sau đây là b ng giá tr c a các phép toán: ả ị ủ
TRUE FALSE FALSE TRUE FALSE
FALSE FALSE FALSE FALSE TRUE
5. Câu l nh đi u khi nệ ề ể
M t câu l nh (statement) xác đ nh m t công vi c mà chộ ệ ị ộ ệ ương trình ph i th cả ự
hi n đ x lý d li u đã đệ ể ử ữ ệ ược mô t và khai báo. Các câu l nh đả ệ ược ngăn cách v iớ nhau b i ký t xu ng dòng.ở ự ố Ký t xu ng dòng báo hi u k t thúc m t câu l nh ự ố ệ ế ộ ệ
Dim TodayTemp As Single , MinAge As Integer
Dim Sales As Single , NewSales As Single , FullName As StringCác l nh sau gán giá tr cho các bi n trên: ệ ị ế
FullName = txtName.Text
* L u ý: Ki u d li u c a bi u th c (v ph i c a l nh gán) ph i phù h p v iư ể ữ ệ ủ ể ứ ế ả ủ ệ ả ợ ớ
bi n ế ta c n gán tr ầ ị
Trang 35Ý nghĩa câu l nh:ệ Các dòng l nh ệ hay dòng l nh ệ s đẽ ược thi hành n u nh ế ư đi uề
ki n là đúng. Còn n u nh đi u ki n là sai thì câu l nh ti p theo sau c u trúc If ệ ế ư ề ệ ệ ế ấ Then được thi hành.
D ng đ y đ :ạ ầ ủ If Then Else
If <đi u ki n 1>ề ệ Then
[Kh i l nh 1] ố ệElseIf <đi u ki n 2>ề ệ Then
[Kh i l nh 2]ố ệ
[Else
[Kh i l nh n]] ố ệEnd If
Đúng
Các câu lệnh
Trang 36VB.NET s ki m tra các đi u ki n, n u đi u ki n nào đúng thì kh i l nh tẽ ể ề ệ ế ề ệ ố ệ ương
ng s đ c thi hành. Ng c l i n u không có đi u ki n nào đúng thì kh i l nh sau
t ừ khóa Else s đẽ ược thi hành.
Ví d : ụ
If (TheColorYouLike = Color.Red) Then
MsgBox( "Bạn là người may mắn" )
ElseIf (TheColorYouLike = Color.Green) Then
MsgBox( "Bạn là người có nhiều hi vọng" )
ElseIf (TheColorYouLike = Color.Blue) Then
MsgBox( "Bạn là người dũng cảm" )
ElseIf (TheColorYouLike = Color.Magenta) Then
MsgBox( "Bạn là người hay u sầu" )
Else
MsgBox( "Bạn là người bình thường" )
End If
5.3 Câu l nh l a ch n Select Case ệ ự ọ
Trong trường h p có quá nhi u các đi u ki n c n ph i ki m tra, n u ta dùngợ ề ề ệ ầ ả ể ế
c u trúc r nhánhấ ẽ If…Then thì đo n l nh không đạ ệ ược trong sáng, khó ki m tra, s aể ử
đ i khi ổ có sai sót. Ngượ ạ ớ ấc l i v i c u trúc Select…Case, bi u th c đi u ki n s để ứ ề ệ ẽ ượ ctính toán m t l n vào đ u c u trúc, sau đó VB s so sánh k t qu v i t ng trộ ầ ầ ấ ẽ ế ả ớ ừ ường
h p (ợ Case). N u b ng nó thi hành kh i l nh trong trế ằ ố ệ ường h p (ợ Case) đó.
Select Case <bi u th c ki m tra> ể ứ ể
Case <Danh sách k t qu bi u th c 1> ế ả ể ứ
M i danh sách k t qu bi u th c s ch a m t ho c nhi u giá tr Trong trỗ ế ả ể ứ ẽ ứ ộ ặ ề ị ường
h p có nhi u giá tr thì m i giá tr cách nhau b i d u ph y (ợ ề ị ỗ ị ở ấ ẩ ,). N u có nhi u Caseế ề cùng th a đi u ki n thì kh i l nh c a Case đ u tiên s đỏ ề ệ ố ệ ủ ầ ẽ ược th c hi n. ự ệ
Ví d c a l nh r nhánhụ ủ ệ ẽ If…Then trên có th vi t nh sau: ở ể ế ư
Trang 37Select Case TheColorYouLike
Trang 385.5 C u trúc l p ấ ặ
5.5.1 L p không bi t tr ặ ế ướ c s l n l p ố ầ ặ
5.5.1.1 Câu l nh Do Loop ệ
Đây là c u trúc l p không xác đ nh trấ ặ ị ước s l n l p, trong đó, ố ầ ặ s l n l p số ầ ặ ẽ
được quy t đ nh b i m t bi u th c đi u ki n. Bi u th c đi u ki n ph i có ế ị ở ộ ể ứ ề ệ ể ứ ề ệ ả k t quế ả
là True ho c False. C u trúc này có 4 ki u: ặ ấ ể
Ki u 1: ể
Do While <đi u ki n> ề ệ
<kh i l nh> ố ệ
Loop
Kh i l nh s đố ệ ẽ ược thi hành đ n khi nào đi u ki n không còn đúng n a. ế ề ệ ữ
Do bi u th c đi u ki n để ứ ề ệ ược ki m tra trể ước khi thi hành kh i l nh, do đó cóố ệ
th kh i ể ố l nh s không đệ ẽ ược th c hi n m t l n nào c ự ệ ộ ầ ả
Ki u 2: ể
Do
<kh i l nh> ố ệ
Loop While <đi u ki n> ề ệ
Kh i l nh s đố ệ ẽ ược th c hi n, sau đó bi u th c đi u ki n đự ệ ể ứ ề ệ ược ki m tra, n uể ế
đi u ki n còn đúng thì, kh i l nh s đề ệ ố ệ ẽ ược th c hi n ti p t c. Do bi u th c đi uự ệ ế ụ ể ứ ề
ki n đệ ược ki m tra sau, do đó kh i l nh s để ố ệ ẽ ược th c hi n ít nh t m t l n. ự ệ ấ ộ ầ
Trang 39Cũng tương t nh c u trúc Do While Loop nh ng khác bi t ch là ự ư ấ ư ệ ở ỗ
kh i l nh s đố ệ ẽ ược thi hành khi đi u ki n còn sai. ề ệ
Ki u 4: ể
Do
<kh i l nh> ố ệ
Loop Until <đi u ki n> ề ệ
Kh i l nh đố ệ ược thi hành trong khi đi u ki n còn sai và có ít nh t là m t ề ệ ấ ộ l n l p. ầ ặ
Ví d :ụ Đo n l nh dạ ệ ưới đây cho phép ki m tra m t s nguyên N có ph i ể ộ ố ả là số nguyên t hay không? ố
Dim i As Integer = 2
Do While i < Math.Sqrt(N) And (N Mod i = 0)
i = i + 1
Loop
If i > Math.Sqrt(N) And N <> 1 Then
MsgBox(N & " là số nguyên tố" )
5.5.2 L p bi t tr ặ ế ướ c s l n l p ố ầ ặ v i câu l nh For…Next ớ ệ
Đây là c u trúc bi t trấ ế ước s l n l p, ta dùng bi n đ m tăng d n ho c ố ầ ặ ế ế ầ ặ gi mả
d n đ xác đ nh s l n l p. ầ ể ị ố ầ ặ
Cú pháp:
For <bi n đ m> = <đi m đ u>ế ế ể ầ To <đi m cu i> [ể ố Step <bước nh y>] ả
[kh i l nh] ố ệ
Trang 40Bi n đ m, đi m đ u, đi m cu i, bế ế ể ầ ể ố ước nh y là nh ng giá tr s (Integer, ả ữ ị ố Single,
…). Bước nh y có th là âm ho c dả ể ặ ương. N u bế ước nh y là s âm thì đi m đ u ả ố ể ầ ph iả
l n h n đi m cu i, n u không kh i l nh s không đớ ơ ể ố ế ố ệ ẽ ược thi hành.
Khi Step không được ch ra, VB.NET s dùng bỉ ẽ ước nh y m c đ nh là m t. ả ặ ị ộ
Ví d : Đo n l nh sau đây s tính t ng dãy các s nguyên t 1 đ n N.ụ ạ ệ ẽ ổ ố ừ ế
Dim tong As Integer = 0
Dim i As Integer
For i = 1 To N
tong = tong + i
Next
For Each Next: Tương t vòng l p For Next, nh ng nó l p kh i l nh theoự ặ ư ặ ố ệ
s ph n ố ầ t c a m t t p các đ i tử ủ ộ ậ ố ượng hay m t m ng thay vì theo s l n l p xácộ ả ố ầ ặ
đ nh. Vòng l p ị ặ này ti n l i khi ta không bi t chính xác bao nhiêu ph n t trong t pệ ợ ế ầ ử ậ
Ph n t trong m ng ch có th là bi n Variant. ầ ử ả ỉ ể ế
Không dùng For Each Next v i m ng ch a ki u t đ nh nghĩa vì ớ ả ứ ể ự ị Variant không ch a ki u t đ nh nghĩa. ứ ể ự ị
6. X lý l iử ỗ
L i có th phát sinh b t c lúc nào. Ví d nh khi b n n p m t file mà khôngỗ ể ấ ứ ụ ư ạ ạ ộ
có th c trong đĩa thì chự ương trình s g p l i. VB.NET có kh năng x lý nh ngẽ ặ ỗ ả ử ư nhi m v c a b n là ph i thông báo cho VB.NET bi t. Chính vì th kh i l nhệ ụ ủ ạ ả ế ế ố ệ
Try…Catch s bao b c đo n mã l nh có kh năng gây ra l i cho chẽ ọ ạ ệ ả ỗ ương trình. Thông thường có các l i x y ra do nh p xu t d li u, phép chia cho 0, thi t bỗ ả ậ ấ ữ ệ ế ị ngo i vi không s n sàng. ạ ẵ