1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Lập trình windows (VB.net)

132 59 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Lập Trình Windows (VB.Net)
Định dạng
Số trang 132
Dung lượng 2,93 MB

Nội dung

Giáo trình lập trình windows (VB.net) có nội dung gồm 4 bài trình bày về: giới thiệu Microsoft Visual Studio .NET; nền tảng của ngôn ngữ VB.NET; lập trình hướng đối tượng trong Visual Basic .NET; làm việc với dự án có nhiều form;... Mời các bạn cùng tham khảo chi tiết nội dung giáo trình!

Trang 1

M C L C Ụ Ụ

M C L C 1 Ụ Ụ

BÀI 1. GI I THI U MICROSOFT VISUAL STUDIO .NET 6 Ớ Ệ

1. Gi i thi u Microsoft .NET 2010 6 ớ ệ

1.1.  Tình hình trước khi Visual Studio.NET ra đ i 6ờ

1.2.  S  ra đ i c a Visual Studio.NET 7ự ờ ủ

BÀI 2. N N T NG C A NGÔN NG  VB.NET 23 Ề Ả Ủ Ữ

1. Các ki u d  li u 23 ể ữ ệ

Trang 2

5.5 C u trúc l p  33ấ ặ

5.5.1 Lặp không biết trước số lần lặp 33

5.5.1.1 Câu lệnh Do Loop 33

5.5.1.2 Câu lệnh While End While 34

5.5.2 Lặp biết trước số lần lặp với câu lệnh For…Next 34

2.3  Constructor (Th  t c kh i t o) 53ủ ụ ở ạ

2.4 Destructors(Th  t c kh i h y) 54ủ ụ ở ủ

2.5 Phương th c (Methods) 55ứ

2.6 Trường (Fields) và thu c tính (Properties) 55ộ

2.7 Khai báo s  ki n (Event) 56ự ệ

2.8 T  khóa Me, MyBase, MyClass 57ừ

2.8.1 Từ khóa Me 57

2.8.2 Từ khóa MyBase 58

Trang 3

3.1.2 Business Logic Layer 63

3.1.3 Data Access Layer 64

1.2.3 Đặt tên và thuộc tính cho menu 74

1.3 Vi t l nh cho s  ki n c a menu 75ế ệ ự ệ ủ

2. Thi t k  các d ng form 76 ế ế ạ

2.1 Form cha 76

2.2 Form con 77

3. S  d ng các đi u khi n c  b n 80 ử ụ ề ể ơ ả

3.1 M i quan h  gi a thu c tính, phố ệ ữ ộ ương th c và s  ki n 80ứ ự ệ

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 80ứ ự ệ ủ ộ ố ề ể ơ ả

Trang 4

3.3 Các h p tho i thông d ng 88ộ ạ ụ

3.3.1 Hộp thoại mở tập tin (OpenFileDialog) 88

3.3.2 Hộp thoại lưu tập tin (SaveFileDialog) 89

4.2.1 Làm việc với các biến Public (biến toàn cục) 94

4.2.2 Biến Public ở phạm vi form 96

5.1.1 Thuật ngữ về cơ sở dữ liệu (CSDL) 103

5.1.2 Làm việc với cơ sở dữ liệu Access 104

5.1.3 Tạo bộ điều phối dữ liệu Data Adapter 107

5.1.4 Sử dụng đối tượng điều khiển OleDbDataAdapter 107 5.1.5 Làm việc với DataSet 111

5.2 S  d ng các đi u khi n ràng bu c d  li u 113ử ụ ề ể ộ ữ ệ

5.3 T o các đi u khi n duy t xem d  li u 116ạ ề ể ệ ữ ệ

5.4. Hi n th  v  trí c a b n ghi hi n hành 118ể ị ị ủ ả ệ

 5.5 Trình di n d  li u s  d ng đi u khi n DataGrid 120ễ ữ ệ ử ụ ề ể

5.5.1 Sử dụng DataGrid để hiển thị dữ liệu trong bảng: 120 5.5.2 Định dạng các ô lưới trong DataGrid 127

5.5.3 Cập nhật cơ sở dữ liệu trở lại bảng 128

6. Bài t p 129

Tài li u tham kh o: 132 ệ ả

Trang 6

BÀI 1. GI I THI U MICROSOFT VISUAL STUDIO .NET Ớ Ệ

do không t ngươ   thích về  m tặ  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ẽ đ cượ  gửi th ngẳ  t iớ  trình duyệt, còn nếu là các đo nạ  script thì s  ẽ đ cượ   chuy n thànhể  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 ngươ  trình thành ActiveX và đưa nó vào Web Server. Tuy nhiê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. 

Trang 7

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ạ  chế  là  Visual  Basic  không  ph iả   ngôn  ngữ  hướng đ iố  t ngượ  và không h  trỗ ợ 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 ngườ  l pậ  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 ngươ  trình Windows truyền th ngố  – là các t pệ  tin .exe giờ đây Windows còn t nồ  t iạ  những ch ngươ  trình khác – những ch ngươ   trình chạy trên  nền  NET.  Mu nố   chạy ch ngươ   trình  NET  ta  chỉ  c nầ   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ượ   cài đ tặ   như m tộ   ph nầ   mặc  đ nhị   c aủ  Windows.  Song  song  đó,  môi  tr ngườ   phát  tri nể   Visual Studio .NET  2001  đ cượ  nâ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 tượ  trội hơn so  v iớ   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

Trang 8

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

Framework  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 ngươ  sau c aủ  giáo trình).IDE cung c pấ  m tộ   môi tr ngườ   phát tri nể  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  ạ (run­time) b iở  trình biên d ch JIT (Just­In­Time).ị

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 9

Hì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.

Trang 11

Hì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 iườ   dùng trong quá trình xây dựng đ  ánồ  nh :ư

Trang 12

 Debug: cho phép chạy và gỡ r iố  ch ngươ  trình

 Data: cho phép thêm m iớ  và hi nể  thị cơ sở d  li uữ ệ  c aủ  đồ án

 Tools: 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ươ   đ ngươ   v iớ   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 iườ  dùng dễ dà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 iườ  dùng

Để 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 ngượ  Toolbox   trên thanh công cụ Standard

Hình 6. H p công c  Toolboxộ ụ

Trang 13

M cặ   đ nhị   h p côngộ   cụ  đ cượ   chia thành  11  tab  khác  nhau  nh :ư   All  Windows  Forms, Common Controls

Ta có thể thêm m i,ớ  loại b ,ỏ  đ iổ  tên  các tab b ngằ  cách kích chu tộ  ph iả  t iạ  vị trí 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.ệ

Hì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 

ph 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

Trang 14

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ử ổForm Designer: cửa sổ thi tế  kế dùng để thi tế  kế giao diện cho ch ngươ   trình, 

m iỗ  dự án có thể có m tộ  ho cặ  nhiều Form

Trang 15

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  đ cượ   t  chổ ứ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:

Vào View/Solution Explorer

Bấm tổ h pợ  phím Ctrl+W+S

Kích  chu tộ   t iạ   bi uể   t ngượ   Solution 

Hình 11. C a s  Solution Explorerử ổTrong  cửa  s  Solutionổ   Explorer  có hai  thành  phần  hay  dùng  là  View  Code  và  View Designer.

View Code View Designer

Trang 16

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 17

Mu 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 ngượ  trong danh sách thả xuố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 18

Hì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 CenterScreenText C ng hai sộ ốLabel1 Text Nh p s  th  nh t:ậ ố ứ ấLabel2 Text Nh p s  th  hai:ậ ố ứ

Label4 NameText lblKQ0

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()

End Sub

Trang 19

 đ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.ộ ớ

Trang 20

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 21

Chú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 22

5. 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 23

BÀ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ể ữ ệ

2,147,483,647

Dim I as Integer

S = 4000Long 64­bit ­9,233,372,036,854,775,808 

đ n ế9,233,372,036,854,775,807

Dim Sg as Single

Sg = 899.99Double 64­bit (d u ấ

ph y đ ng)ả ộ

­1.797631348623E308 đ n ế1.797631348623E308

Dim D as DoubleD=3.1.4159265Decimal 128­bit Trong kho ng +/­ả

79,228x1024

Dim Dc as DecimalDc=7234734.5

Bl = TrueDate 64­bit T  1/1/1 đ n 31/12/9999ừ ế Dim Da As Date

Da=#16/07/1984

Trang 24

Object 32­bit 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 25

Dim 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 26

3.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

Public Sums(20)As 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 27

ReDim 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: ớ ừ ụ ướ

ReDim Preserve DynArray (UBound(DynArray) +10)

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 28

Khi 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 toán Ý nghĩa Ki u c a đ i sể ủ ố ố Ki u k t quể ế ả

­ 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 29

Cá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  TRUE       TRUE         TRUE       FALSE 

TRUE  FALSE       FALSE         TRUE       FALSE 

FALSE   TRUE        FALSE         TRUE       TRUE 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 30

Ý 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 

ĐK SaiĐúng

Các câu lệnh

Trang 31

VB.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  đ cể ứ ề ệ ẽ ượ  tí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. ỏ ề ệ ố ệ ủ ầ ẽ ượ ự ệ

Trang 32

Ví d  c a l nh r  nhánhụ ủ ệ ẽ  If…Then   trên có th  vi t nh  sau: ở ể ế ư

Select Case TheColorYouLike

Trang 33

5.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. ệ ượ ể ố ệ ẽ ượ ự ệ ấ ộ ầ

Khối lệnh

Trang 34

Cũ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 35

Bi 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. 

Trang 36

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. ạ ẵ

Trong đó Finally là tùy ch n, các t  khóa còn l i là b t bu c.ọ ừ ạ ắ ộ

Ví d  sau  ụ DiskDriverError  s  minh h a tình hu ng x  lý l i runtime thẽ ọ ố ử ỗ ườ  ng

th y nh t. Chúng ta t o m t form có nút nh n và m t ô  nh PictureBox. Khi clickấ ấ ạ ộ ấ ộ ả  vào nút thì  nh trong m t đĩa m m có tên 6_82MELINH.ico s  load vào ô  nh. N uả ộ ề ẽ ả ế  

b  đĩa m m ra kh i   m m thì ch y chỏ ề ỏ ổ ề ạ ương trình s  báo l i không tìm th y đĩaẽ ỗ ấ  trong   A:\ ngay.ổ

Đ  minh h a cho vi c này, chúng ta m  m i m t d  án và thi t k  form nhể ọ ệ ở ớ ộ ự ế ế ư hình:

Hình 16

Trang 37

Trong s  ki n Button1_Click, gõ mã nh  sau:ự ệ ư

Trang 38

6.2 S  d ng m nh đ  Finally ử ụ ệ ề

M nh đ  này s  cho phép dùng các phát bi u sau nó dù có hay không có l i x yệ ề ẽ ể ỗ ả  

ra. Nó thu n ti n khi b n mu n d n d p l i, giá tr  c a bi n, thu c tính khi b nậ ệ ạ ố ọ ẹ ỗ ị ủ ế ộ ạ  

th c thi đo n mã b o v  xong. Tr  l i ví d  trên, ta thêm vào đo n mã nh  sau:ự ạ ả ệ ở ạ ụ ạ ư Try

Và ch y l i chạ ạ ương trình, lúc này thay vì phát sinh l i không mong mu n tỗ ố ừ 

chương trình chúng ta s  nh n đẽ ậ ược thông báo l i do mình ki m soát.ỗ ể

Trang 39

6.3 Cài đ t Try…Catch ph c t p h n ặ ứ ạ ơ

Khi chương trình ph c t p thì vi c b t l i cũng tr  nên ph c t p h n. V iứ ạ ệ ắ ỗ ở ứ ạ ơ ớ  Try…Catch b n có th :ạ ể

­ Đ t m t kh i hay nhi u kh i phát bi u gi a các t  khóa.ặ ộ ố ề ố ể ữ ừ

­ Cho phép s  d ng m nh đ  l c l i ử ụ ệ ề ọ ỗ Catch When

­ Cho phép s  d ng kh i ử ụ ố Try…Catch l ng nhau

­ Cùng v i đ i tớ ố ượng Err cho phép xác đ nh l i phát sinhị ỗ

Err là đ i t ng đ c bi t cung c p chi ti t thông tin l i phát sinh. Các thu cố ượ ặ ệ ấ ế ỗ ộ  tính thông d ng Err.Number, Err.Description ch a thông tin mã l i, mô t  chi ti tụ ứ ỗ ả ế  

l i. Phỗ ương th c Err.Clear cho phép xóa b  l i hi n hành. B ng sau đây li t kê cácứ ỏ ỗ ệ ả ệ  

l i Runtime thỗ ường g p trong VB.NET:ặ

75 Truy c p đậ ường d n và file không đúngẫ

91 Bi n đ i tế ố ượng thi u t  khóa truy xu t ế ừ ấ With

Trang 40

423 Thu c tính hay phộ ương th c không cóứ

424 Yêu c u v  đ i tầ ề ố ượng

429 Không th  t o đ i tể ạ ố ượng ActiveX

430 L p đ i tớ ố ượng không h  tr  Automationỗ ợ

440 Không th  t o đ i tể ạ ố ượng Automation

Bây gi  v n dùng ví d  trên nh ng ta thêm thu c tính Err.Number, Err.Descriptionờ ẫ ụ ư ộ  

đ ng th i ta cũng tìm hi u thêm v  m nh đ  đ c l i ồ ờ ể ề ệ ề ọ ỗ Catch When.

B n s a l i th  t c Button1_Click nh  sau:ạ ử ạ ủ ụ ư

Try

PictureBox1.Image = System.Drawing.Image.FromFile _

("A:\6_82MELINH.ico")

Catch When Err.Number = 53 'nếu không thấy file

MsgBox("Kiểm tra lại đường dẫn và tên file")

Catch When Err.Number = 7 'Hết bộ nhớ

MsgBox("File ảnh quá lớn - hết bộ nhớ", ,

Ngày đăng: 12/04/2022, 10:28

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w