Tải bản đầy đủ (.pdf) (55 trang)

bài giảng visual basic .net

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.21 MB, 55 trang )

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Chương I: Tổng Quan Về Visual Basic .NET

Mục tiêu:
 Giới thiệu về môi trường phát triển Visua Basic .NET, giúp cho sinh viên
có cái nhìn tổng quan về VB .NET

Kết thúc chương này sinh viên cần phải nắm bắt các vấn đề sau:
 Sử dụng môi trường VB .NET để phát triển một số ứng dụng cơ bản
 Cách tạo dự án mới trong VB .NET

1. Cài đặt Visual Studio .Net
Bạn nên có CPU Pentium III, 500MHz trở lên, với 256 MB RAM và ít nhất 10GB
Harddisk. Về OS bạn nên dùng Windows 2000 (Professional hay Server) hay Windows
XP. Lý do chính là các versions Windows nầy hổ trợ Unicode và có Internet Information
Server (IIS) hổ trợ ASPX để ta dùng cho ASP.NET.
Visual Studio.NET nằm trong 3 CDs, gồm có 4 files:
• EN_VS_NET_BETA2_WINCUP.exe
• EN_VS_NET_BETA2_CD1.exe
• EN_VS_NET_BETA2_CD2.exe
• EN_VS_NET_BETA2_CD3.exe
Chạy EN_VS_NET_BETA2_WINCUP.exe để Unzip nó vào một folder trong một
harddisk (eg: E:\CD\WINCUP) .
Lần lượt chạy EN_VS_NET_BETA2_CD1.exe, EN_VS_NET_BETA2_CD2.exe và
EN_VS_NET_BETA2_CD3.exe để Unzip chúng vào chung một folder trong một
harddisk (eg: E:\CD ).
Việc Unzip files có thể rất lâu, bạn phải kiên nhẫn chờ cho đến khi nó kết thúc. Nếu
không, khi cài đặt có thể bị báo lỗi là thiếu files.
Kế đó, trước hết chạy Setup.exe của Windows Component Update như dưới đây,
click No khi Warning dialog
hiện ra:




Tiếp theo, chạy Setup.exe của Visual Studio.NET để cài đặt. Đây là Visual
Studio .Net 2003
Cài đặt Visua Studio .Net 2005. Phiên bản này có 3 đĩa CD. Ta cũng chạy các file
trên 3 đĩa để giải nén vào một thư mục trên ổ đĩa cứng. Sau khi giải nén xong sẽ có hai
thư mục chính: thư mục VS (chứa các file cài đặt bộ Visual Studio .Net 1.17GB) và thư
mục MSDN (chứa các thư viện hỗ trợ cho việc sử dụng Visual Studio .Net 1.55GB).
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Để cài đặt ta vào thư mục VS chạy file Setup.exe để cài đặt, quá trình cài chiếm một
khoảng thời gian tùy vào cấu hình máy (trung bình từ 15 – 20 phút).
Ở đây chúng ta nên
cài đặt bộ Visual Studio 2005





Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET

2. .NET Framework
.NET được developed từ đầu năm 1998, lúc đầu có tên là Next Generation
Windows Services (NGWS). Nó được thiết kế hoàn toàn từ con số không để dùng cho
Internet.
.NET đại diện cho toàn bộ các công nghệ và các khái niệm cấu thành một nền tảng
để người lập trình xây dựng các ứng dụng trên nó.
Có thể hiểu .NET là một lớp tồn tại bên dưới các ứng dụng và cung cấp một tập các
chức năng và dịch vụ cơ bản.
.NET framework cung cấp 2 thành phần chính: các lớp cơ sở (NET. Framework
base class) và sử dụng ngôn ngữ chung (Common Language Runtime). .NET framework

cũng cung cấp một tập các hàm API của riêng nó để giúp cho lập trình tận dụng được hết
khả năng của nó.

• Giới hạn của VB 6.0




Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
• Các thành phần chính của .Net FrameWork



Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET


.NET application được chia ra làm hai loại: cho Internet gọi là ASP.NET, gồm có
Web Forms và Web Services và cho desktop gọi là Windows Forms. Windows Forms
giống như Forms của VB6. Nó hổ trợ Unicode hoàn toàn, rất tiện cho chữ Việt và thật sự
Object Oriented. Web Forms có những Server Controls làm việc giống như các Controls
trong Windows Forms, nhất là có thể dùng codes để xử lý Events y hệt như của Windows
Forms. Điểm khác biệt chánh giữa ASP (Active Server Pages) và ASP.NET là trong
ASP.NET, phần đại diện visual components và code nằm riêng nhau, không lộn xộn như
trong ASP. Ngoài ra ASP.NET code hoàn toàn Object Oriented. Web Services giống như
những Functions mà ta có thể gọi dùng từ các URL trên Internet, thí dụ như Credit Card
authorisation. ADO.NET là một loại cache database nho nhỏ (gọi là disconnected
database) để thay thế ADO. Thay vì application connects vĩnh viễn với database mẹ qua
ADO, application trong .NET làm việc với portable 9 database chỉ chứa một hai tables, là
copy từ database mẹ. Khi nào cần, portable database nầy (ADO.NET) sẽ được reconciled
với database mẹ để update các thay đổi. Hai tables trong ADO.NET có thể được related

nhau trong Master/Details relationship. Vì ADO.NET có chứa original data lẫn data
mới nhất nên Rollback trong ADO.NET rất dễ dàng và nhẹ ký. XML được yểm trợ tối
đa. Nằm phía sau ADO.NET là XML. XML có thể là Table of records trong ADO.NET
hay Tree of nodes trong DOM (Document Object Model). IO được hổ trợ bằng toàn bộ
Stream kể cả Memory Stream và StreamReader/StreamWriter. Thêm vào là
DataFormatting cho Serialisation để chứa Object xuống binary file hay text file. TCP/IP
và http là hai protocols thông dụng nhất trong .NET, nhưng chúng làm việc phía sau sân
khấu giúp ta gọi một remote procedure (nằm trên computer khác) dễ dàng như một local
procedure. Kỹ thuật ấy gọi là Remoting. Security hổ trợ Cryptography, Permissions và
Policy. Diagnostics cho ta Debug và Trace. Threading rất tiện và đơn giản để
implement Lightweight Process. Vấn đề Timing trong .NET program rất linh động, hiệu
quả và chính xác. Việc thiết kế Common Language Runtime nhắm vào các mục tiêu
chính sau đây:
• Việc triển khai đơn giản và nhanh hơn: developers sẽ dành thì giờ quyết định ráp
những software components nào lại với nhau nhiều hơn là lập trình thật sự.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
• Các công tác thiết yếu ("plumbing") như memory management, process
communication .v.v. được lo liệu tự động.
• Các công cụ hổ trợ rất đầy đủ (no more API): .NET Framework Base classes rất
phong phú cho file, network, serialisation, mã hóa, XML, database, v.v
• Cài đặt đơn giản và an toàn (no more DLL "hell"): chỉ cần xcopy files, giống như
thời vàng son của DOS. Lý do là .NET application chạy trên .NET framework, một khi ta
đã cài .NET framework vào máy rồi thì có đầy đủ mọi .DLL cần thiết. Có lẽ trong tương
lai Microsoft cài .NET framework chung với Windows.

3. Bắt đầu dự án mới:



Vào Start => Programs => Microsoft Visual Studio 2005 => Microsoft Visual

Studio 2005 (như hình trên). Visual Studio sẽ khởi động, nếu là lần đầu tiên khởi động thì
chương trình sẽ hỏi bạn sử dụng ngôn ngữ gì (ở đây chọn Visual Basic). Nếu là lần thứ 2
trở đi thì sẽ xuất hiện giao diện như hình dưới.



Vào File = > New Project. Xuất hiện hộp thoại sau:

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET


Chọn Visual Basic => Windows => chọn Windows Application trong cửa sổ bên
phải => đặt tên cho Project mới (tên mặc định là WindowsApplication1) => OK


Hộp công cụ (toolbox): chứa các biểu tượng tương ứng với những đối tượng điều
khiển chuNn bao gồm nhãn (label), hộp văn bản (textbox), nút lệnh (button)… Để bật tắt
hộp công cụ ta vào Menu View => Toolbox (Ctrl + Alt + X)
Thực đơn (Menu Bar): cho phép truy cập đến hầu hết các lệnh dùng điều khiển môi
trường phát triển. Menu và các lệnh trên menu làm việc tương ứng như hầu hết nhưng
chương trình Windows thông thường khác.
Thiết kế chương trình (Form Designer): Đây là đối tượng xây các màn hình giao
tiếp của ứng dụng. Khi vừa tạo mới, màn hình giao tiếp sẽ có tên mặc định là Form1.vb
và không chứa đối tượng điểu khiển nào cả, nhiệm vụ của người lập trình là thiết kế các
chọn loại ứng
d

ng
s


vi
ế
t

đặt tê
n cho
d


án

Các component
trong T
oo
lb
ox

Form Designer dùng để
thiết kế chương trình
Cửa sổ Solution
chứa các file
chươn trình trình

Cửa sổ
Propertive của
các đối tượng
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
đối tượng điều khiển trên màn hình giao tiếp và sử dụng các dòng lệnh để xử lý các sự
kiện thích hợp cho các đối tượng điều khiển đó.
Solution Explorer: Quản lý các ứng dụng hiển thị các màn hình giao tiếp (Forms),

các Reports và các Module … hiện có của ứng dụng. Ngoài ra, còn cho phép người lập
trình thực hiện nhanh những thao tác như thêm, xóa các đối tượng này khỏi ứng dụng.
Cửa sổ thuộc tính (Propertives): Cho phép định thuộc tính ban đầu cho các đối
tượng bao gồm màn hình giao tiếp (Forms) và các điều khiển (Control)
Cửa sổ lệnh (Code window): Đây là cửa sổ cho phép khai báo các dòng lệnh xử lý
biến cố cho màn hình giao tiếp và các đối tượng trên màn hình giao tiếp. Mặc nhiên cửa
sổ này không được hiển thị, người lập trình có thể nhân nút chuột phải lên màn hình giao
tiếp và chọn View Code để hiển thị khi cần



Lưu chương trình: File => Save All (Click vào biểu tượng 3 đĩa mềm đè lên nhau).
Xuất hiện cửa sổ sau:



Đặt tên cho dự án trong ô Name, chọn đường dẫn lưu dự án trong ô Location, đặt
tên cho Solution (mặc định tên Solution là tên của dự án). Chọn Save để lưu lại
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
4. Mở một dự án đã tồn tại:
Khởi động Visual Studio 2005
Vào menu File => Open Project
Chọn Project muốn mở trong hộp thoại dialog Open => chọn OK.

5. Viết chương trình Visual Basic đầu tay:



Ứng dụng mà chúng ta sắp xây dựng dưới đây mang tên Lucky Seven (số 7 may
mắn), một chương trình mô phỏng máy chơi lô tô.

Giao diện người dùng gồm:
Nút Spin (quay số) khi nhấn vào nút này thì chương trình sẽ chọn ngẫu nhiên 3 số.
Nút End (Kết thúc) khi nhấn nút này thì sẽ thoát khỏi ứng dụng.
Ba đối tượng nhãn (label) có tên lblSoThu1, lblSoThu2, lblSoThu3 dùng để chứa ba
số ngẫu nhiên khi nhấn nút Spin
Một nhãn mang nội dung “Lucky Seven”
Một nhãn dùng để thông báo.
Và một hình (picture) được gán thuộc tính Visible = False (tức là Nn)
Khi nhấn nút Spin sẽ chọn 3 số ngẫu nhiên gán vào 3 nhãn lblSoThu1, lblSoThu2,
lblSoThu3 nếu một trong 3 nhãn này có chứa số 7 thì thông báo “YOU WIN”, cho hiện
hình lên và phát ra một tiếng bíp. Ngược lại, không cho hiện hình và thông báo “YOU
LOSE”

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
6. Chạy chương trình ứng dụng Visual Basic .NET
6.1 Chạy chương trình:
Nhấp chuột vào nút Start  (hoặc nhấn F5) trên thanh công cụ chuNn
6.2 File thực thi .exe
Khi chạy chương trình bằng cách nhấn nút Start  (hoặc nhấn F5) thì chương trình
sẽ tự động tạo file thực thi .exe trong thư mục Debug chứa trong dự án đã tạo
Hoặc vào menu Build => Build + TênDựÁn để dịch thử chương trình vừa tạo
• Lưu ý: Khi chạy chương trình hoặc Build mà còn có lỗi khi viết code (mã lệnh)
thì chương trình sẽ báo lỗi và chỉ ra dòng lệnh có chứa lỗi. Đến khi nào không còn
lỗi thì chương trình mới có thể chạy hoặc Build
• Câu hỏi: Khi tạo ra một file thực thi .exe đem qua một máy khác thì có thể chạy
file .exe này không

7. Bài tập:
a. Thiết kế giao diện




b. Yêu cầu chức năng:
Chương trình gồm 1 ô nhập liệu (textbox) và 3 nút lệnh (button)
khi nhấn nút:
 Display: ô nhập liệu hiện lên câu: “Welcome to VB.NET”
 Clear: xóa nội dung trong ô nhập liệu
 Exit: thoát chương trình.

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Chương II: Biểu Mẫu Và Một Số Điều Khiển
Thông Dụng

Mục tiêu:
Chương này giới thiệu về một số điều khiển cơ bản để tạo nên giao diện
cho các ứng dụng cũng như một số khái niệm trong lập trình với VB.NET, những
yêu cầu tối thiểu cần có trong việc “lập trình sự kiện” với VB.NET
Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau:
• Khái niệm về điều khiển, thuộc tính, phương thức, sự kiện.
• Quy tắc đặt tên danh biểu trong VB.
• Sử dụng biểu mẫu trong thiết kế giao diện.
• Sử dụng điều khiển ô nhập liệu, nút nhấn, nhãn, khung.
I. Các khái niệm:
 Điều khiển: Các thành phần có sẵn để người lập trình tạo giao diện tương tác với
người dùng. Mỗi điều khiển thực chất là một đối tượng, do vậy nó sẽ có một số điểm đặc
trưng cho đối tượng, chẳng hạn như các thuộc tính, các phương thức & các sự kiện.
 Thuộc tính: Các đặc trưng của một điều khiển tạo nên dáng vẻ riêng của mỗi điều
khiển đó.
 Phương thức: Các điều khiển có thể thực thi một số tác vụ nào đó, các tác vụ này
được định nghĩa sẵn bên trong các phương thức (còn gọi là chương trình con: hàm & thủ

tục), người lập trình có thể gọi thực thi các phương thức này nếu cần.
 Sự kiện: là hành động của người dùng tác động lên ứng dụng đang thực thi.
Thí dụ: - Nhấn phím bất kỳ trên bàn phím.
- Nhấp chuột.
Các thành phần giao diện có khả năng đáp ứng lại sự kiện. Chẳng hạn khi chúng ta
nhấp chuột vào button, lúc đó button nhận biết được sự kiện này; hay như textbox nhận
biết được sự kiện bàn phím tác động lên nó. Một ứng dụng trên Windows thường được
thực hiện nhờ vào việc đáp ứng lại các sự kiện của người dùng.
 Lập trình sự kiện: Các thành phần giao diện có khả năng nhận biết được các sự
kiện từ phía người dùng. Tuy nhiên khả năng đáp ứng lại các sự kiện được thực hiện bởi
người lập trình.
Khi một thành phần giao diện được sử dụng, người lập trình phải xác định chính xác
hành động của thành phần giao diện đó để đáp ứng lại một sự kiện cụ thể. Lúc đó người
lập trình phải viết đoạn mã lệnh mà đoạn mã lệnh này sẽ được thực thi khi sự kiện xảy ra.
Chẳng hạn, trong ứng dụng Paint của Windows; khi người sử dụng nhấp chuột vào
nút vẽ hình elip sau đó dùng chuột vẽ nó trên cửa sổ vẽ, một hình elip được vẽ ra.
Trong lập trình sự kiện, một ứng dụng được xây dựng là một chuỗi các đáp ứng lại
sự kiện. Tất cả các hành động của ứng dụng là đáp ứng lại các sự kiện. Do vậy người lập
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
trình cần phải xác định các hành động cần thiết của ứng dụng; phân loại chúng; sau đó
viết các đoạn mã lệnh tương ứng.
 Cách xác lập các thuộc tính & các phương thức trong chương trình
<Name của điều khiển>.<Tên thuộc tính>
<Name của điều khiển>.<Tên phương thức>[(<Các tham số>)]
 Tên điều khiển (thuộc tính Name)
Đây là thuộc tính xác định tên của điều khiển trong ứng dụng. Tên này được đặt
theo quy tắc:
o Tên có thể dài từ 1 - 256 ký tự.
o Tên phải bắt đầu với ký tự chữ, có thể chữ hoa hay thường.
o Sau ký tự đầu tiên, tên có thể chứa ký tự, số hay dấu gạch dưới.

Ví dụ: Num, StudentCode, Class12A2 là những tên hợp lệ. 345, 7Class là nhữg tên không
hợp lệ.
• Gợi ý cách đặt tên: nên đặt tên theo từng nhóm đối tượng ví dụ textbox thì đặt tên
bắt đầu là txtTenCanDat, label là lblTen, buttom là bttnTen, ComboBox là cboTen, Form
là frmTenForm … để dễ phân biệt khi lập trình.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
II. Biểu mẫu (Form)
II.1. Khái niệm:
Chương trình ứng dụng giao tiếp với người dùng thông qua các biểu mẫu (hay còn
gọi là cửa sổ, xuất phát từ chữ Form hay Windows); các điều khiển (Control) được đặt
lên bên trên giúp cho biểu mẫu thực hiện được công việc đó. Biểu mẫu là các cửa số được
lập trình nhằm hiển thị dữ liệu và nhận thông tin từ phía người dùng.
II.2. Thuộc tính
o Name: thuộc tính này như là một định danh nhằm xác định tên của biểu mẫu là
gì? Ta sẽ sử dụng thuộc tính này để truy xuất đến các thuộc tính khác cùng với phương
thức có thể thao tác được trên biểu mẫu.
o

Icon: hình icon được dùng trong thanh tiêu đề của form, nhất là khi form thu
nhỏ lại.
o

StartPosition: xác định vị trí ban đầu của form trên màn hình khi form vừa nạp
(Manual, CenterScreen, WindowsDefaultLocation, WindowsDefaultBounds,
CenterParent).
o

WindowState: xác định trạng thái ban đầu của form (Normal, Minimized,
Maximized ).
o


Text: Văn bản hiển thị trên thanh tiêu đề của form (tương ứng với thuộc tính
cation trong VB6)
o

BackgroundImage: xác định tập tin làm hình nền cho form (tương ứng thuộc
tính picture trong VB6).
o

BackColor: Màu nền form.
o

FormBorderStyle: Kiểu đường viền form.
o

Opacity: Cho phép thay đổi độ sáng tối của form, có thể làm mờ form khi hiển
thị. Giá trị mặc định là 100%. Đây là thuộc tính mới so với VB6.
o

ControlBox: Cho phép bật/tắt hộp điều khiển thu nhỏ, phóng lớn và đóng. Mặc
định có giá trị là True.
o

Cursor: Kiểu con trỏ khi thao tác trên form.
o

Font: Chọn Font chữ cho form.
o

ForceColor: Chọn màu cho font chữ.

o

KeyPreview: Mặc định có thuộc tính là False. Cho phép form nhận các giá trị
nhấn từ bàn phím.
o

MaximizeBox: Cho phép bật/tắt nút phóng to trên ControlBox.
o

MinimizeBox: Cho phép bật/tắt nút thu nhỏ trên ControlBox.
o

Size: thay đổi kích thước form.

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
II.3. Phương thức
o Location: di chuyển biểu mẫu đến tọa độ X,Y: Location = new point(X, Y)
II.4. Sự kiện
o

Form_Load: Sự kiện này xảy ra mỗi lần ta gọi thể hiện một biểu mẫu. Ta
dùng sự kiện Form_Load để khởi tạo các biến, điều khiển cho các thể hiện của biểu mẫu
này.
o

Form_Activate: Mỗi lần một biểu mẫu được kích hoạt (active) thì một sự kiện
Activate phát sinh. Ta thường dùng sự kiện này để cập nhật lại giá trị các điều khiển trên
biểu mẫu.
o


Form_FormClosing: Mỗi lần form đóng lại thì sự kiện FormClosing sẽ được
phát sinh. Ta thường dùng sự kiện này để thao tác đến các thành phần khác đang mở
trước khi form được đóng lại.
o

Form_Resize: Sự kiện này xảy ra mỗi khi form thay đổi kích thước.
o

Form_KeyPress: Sự kiện này xảy ra khi ta nhấn một phím bất kỳ. Ta thường
dùng để kiểm tra các phím vừa nhấn từ bàn phím

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
III. Nhãn (Label)
III.1. Khái niệm:
Nhãn là điều khiển dạng đồ họa cho phép người sử dụng hiển thị chuỗi ký tự trên
biểu mẫu nhưng họ không thể thay đổi chuỗi ký tự đó một cách trực tiếp.
III.2. Thuộc tính:
o Name: Đây là một tên xác định một định danh, người lập trình có thể thay đổi
tên này theo cách của mình để tiện sử dụng.
o Text: Thuộc tính quy định chuỗi ký tự hiển thị khi ta tạo một điều khiển nhãn.
Khi ta tạo mới một điều khiển thì thuộc tính text có giá trị mặc nhiên là “Label…”.
Ví dụ: Ta muốn tạo một nhãn là “Chào mừng bạn đến với Visual Basic”, ta thay đổi
giá trị của thuộc tính text thành “Chào mừng bạn đến với Visual Basic”.
Ta có thể thay đổi giá trị của thuôc tính text tại thời điểm ứng dụng đang chạy nhờ
vào đoạn mã lệnh đơn giản như sau:
lblThongBao.text = "Đã đổi giá trị text" với lblThongBao là tên
của điều khiển nhãn mà ta muốn đổi.
o TextAlign: Vị trí hiển thị chuỗi trên nút.
o BorderStyle: Xác định kiểu đường viền cho nhãn (none, fixsingle, fix3d)
o Font, Fore Color: Quy định kiểu chữ, kích thước, màu hiển thị.

o BackColor: Quy định màu nền của nhãn trong trường hợp không trong suốt.
Chọn backcolor là Transparent trong tab Web của cửa sổ chọn màu để có màu nền giống
với màu đối tượng hoặc đang chứa label.
o Image: Chọn hình cho nhãn.
o Visible: Có giá trị mặc định là True, dùng để Nn hiện khung.
o TabIndex: Số thứ tự của đối tượng trên Form. Ta có thể nhấn phím Tab trên
bàn phím để chuyến đổi qua lại giữa các đối tượng bằng chỉ số Tabindex. Chỉ số nào
được tự động tạo ra khi ta thêm một đối tượng vào Form.
III.3. Phương thức:
o Location: di chuyển nhãn đến tọa độ X,Y: Location = new point( X, Y)
III.4. Sự kiện:
o TextChanged: Xảy ra mỗi khi nhãn thay đổi giá trị.
o Click: Mỗi khi nhãn được chuột nhấp lên, sự kiện này xảy ra.
o DoubleClick: Xảy ra khi người sử dụng nhấp đúp chuột lên điều khiển nhãn.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
IV. Khung (GroupBox)
IV.1. Khái niệm:
Khung là một điều khiển dùng trong việc bố trí giao diện của biểu mẫu một cách
trong sáng và rõ nét. Thông thường các điều khiển cùng phục vụ cho một công việc nào
đó sẽ được đặt trong một khung nhằm làm nổi bật vai trò của chúng.
Khi chúng ta tạo mới một khung để chứa các điều khiển khác, ta có hai cách thực
hiện:
- Tạo khung chứa trước, sau đó đưa các điều khiển vào trong khung chứa. Đây là
cách đơn giản nhất.
- Tạo khung chứa sau khi đã tạo mới các điều khiển, khi đó khung chứa sẽ che mất
các điều khiển, vì vậy ta cần phải đưa khung chứa ra sau các điều khiển bằng cách nhấp
chuột phải và chọn Send to Back. Nhưng đối với cách này, các điều khiển khác không
nằm trên khung chứa. Do vậy ta có thể giải quyết bằng cách cắt (Cut) các điều khiển này
đi, sau đó dán (Paste) vào trong khung chứa.


Hình II.1: Ví dụ về khung chứa Groupbox
IV.2. Thuộc tính:
Khung cũng có các thuộc tính thông dụng như của điều khiển nhãn chẳng hạn như:
Name, Caption,
o Name: Đây là một tên xác định một định danh, người lập trình có thể thay đổi
tên này theo cách của mình để tiện sử dụng.
o Text: Chuỗi ký tự hiển thị khi ta tạo một điều khiển khung. Khi ta tạo mới một
điều khiển thì thuộc tính text có giá trị mặc nhiên là “GroupBox…”.
o Font, Fore Color: Quy định kiểu chữ, kích thước, màu hiển thị.
o BackColor: Quy định màu nền của khung trong trường hợp không trong suốt.
Chọn backcolor là Transparent trong tab Web của cửa sổ chọn màu để có màu nền giống
với màu đối tượng hoặc đang chứa khung.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
o BackgroundImage: Chọn hình nền cho khung.
o Enable: có giá trị mặc định là True, cho phép hoặc không cho phép kích hoạt
vào khung.
o Visible: có giá trị mặc định là True, dùng để Nn hiện khung.
o TabIndex: Số thứ tự của đối tượng trên Form. Ta có thể nhấn phím Tab trên
bàn phím để chuyến đổi qua lại giữa các đối tượng bằng chỉ số Tabindex. Chỉ số nào
được tự động tạo ra khi ta thêm một đối tượng vào Form.
IV.3. Phương thức:
o Location: di chuyển khung đến tọa độ X,Y: location = new point(X, Y)
IV.4. Sự kiện:
o Click, DblClick: xảy ra khi khung nhận được một thao tác nhấp (nhấp đúp)
chuột.
V. Nút lệnh (Command Button)
V.1. Khái niệm:
Nút lệnh là một điều khiển dùng để bắt đầu, ngắt hoặc kết thúc một quá trình. Khi
nút lệnh được chọn thì nó trông như được nhấn xuống, do đó nút lệnh còn được gọi là nút
nhấn (Push Button). Người sử dụng luôn có thể chọn một nút lệnh nào đó bằng cách nhấn

chuột trên nút lệnh đó.
V.2. Thuộc tính:
o Name: sử dụng như một định danh nhằm xác định tên của nút lệnh.
o Text: Dùng văn bản hiển thị trên nút lệnh.
o TextAlign: Canh vị trí hiển thị chuỗi trên nút.
o BackColor: Định màu nền cho nút.
o Enabled: Trong một biểu mẫu, có thể có nhiều nút lệnh để thực hiện nhiều
công việc khác nhau và tại một thời điểm nào đó ta chỉ được phép thực hiện một số công
việc. Nếu giá trị thuộc tính Enabled là False thì nút lệnh đó không có tác dụng. Giá trị
mặc định của thuộc tính này là True. Ta có thể thay đổi giá trị của thuộc tính tại thời điểm
chạy ứng dụng.
o TabIndex: Số thứ tự của đối tượng trên Form. Ta có thể nhấn phím Tab trên
bàn phím để chuyến đổi qua lại giữa các đối tượng bằng chỉ số Tabindex. Chỉ số nào
được tự động tạo ra khi ta thêm một đối tượng vào Form.
o Font, Fore Color: Quy định kiểu chữ, kích thước, màu hiển thị.
o Image: Chọn hình icon cho nút.
o ImageAlign: Vị trí hiển thị hình trên nút.
o Locked: Khóa hay không khóa điều khiển Button.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
o BackgroundImage: Chọn hình nền cho nút.
o Visible: có giá trị mặc định là True, dùng để Nn hiện nút.
V.3. Phương thức
o Location: di chuyển khung đến tọa độ X,Y: location = new point(X, Y)
V.4. Phương thức
o Click: đây là sự kiện thường xảy ra với nút lệnh. Mỗi khi một nút lệnh được
chọn, sự kiện này được kích hoạt. Do đó, người sử dụng sẽ viết mã các lệnh để đáp ứng
lại sự kiện này.
Ví dụ: Tạo một biểu mẫu có một ô nhập liệu với nhãn là họ tên và một nút lệnh cho
phép đưa ra câu chào người dùng đó.
Private Sub bttnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles bttnOK.Click
MsgBox("Chào mừng bạn " & Trim(txtHoTen.Text) & " đến với VB.Net 2005")
End Sub



Hình II.2: Sử dụng nút lệnh

VI. Ô nhập liệu (TextBox)
VI.1. Khái niệm:
Ô nhập liệu là một điều khiển cho phép nhận thông tin do người dùng nhập vào. Đối
với ô nhập liệu ta cũng có thể dùng để hiển thị thông tin, thông tin này được đưa vào tại
thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng. Còn thao tác nhận thông
tin do người dùng nhập vào dĩ nhiên là được thực hiện tại thời điểm chạy ứng dụng.
VI.2. Thuộc tính:
o Name: Tên điều khiển textbox.
o BackColor: Định màu nền cho nút.
o Font, Fore Color: Quy định kiểu chữ, kích thước, màu hiển thị.

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
o Text: Dùng văn bản hiển thị trên textbox.
o Wordwrap: giá trị True cho phép văn bản dài tự động xuống dòng.
o ReadOnly: Giá trị True chỉ có thể xem văn bản mà không được chỉnh sửa.
o PasswordChar: Ký tự thay thế cho những ký tự được nhập vào textbox.
Thường để nhập mật khNu.
o CharacterCasing: Normal (mặc định), Upper (tự động đổi thành chữ hoa),
Lower (tự động đổi thành chữ thường).
o Multiline: Giá trị True cho phép nhập, hiển thị văn bản trên nhiều dòng.
o Scrollbars: None (mặc định), Horizontal (thanh cuộn ngang) và Vertical (thanh
cuộn dọc), both (cả hai thanh cuộn).

o BorderStyle: Xác định kiểu đường viền bao quanh textbox.
VI.3. Phương thức
o Location: di chuyển khung đến tọa độ X,Y: location = new point(X, Y)
o Focus: Phương thức này nhằm mục đích thiết lập cho điều khiển ô nhập liệu
nhận được Focus, nghĩa là nó sẵn sàng được tương tác bởi người sử dụng.
VI.4. Sự kiện
:
o KeyPress: xảy ra khi người sử dụng chương trình nhấn một phím. Đối với điều
khiển TextBox, ta thường dùng nó để lọc (filter out) các phím không chấp nhận. Sự kiện
KeyPress cho ta một mã Ascii, một số có giá trị từ 0 đến 255, của phím vừa nhấn. Trong
ví dụ dưới đây, TextBox Text1 sẽ chỉ nhận biết các phím là số (0 - 9), không nhận biết
các phím khác:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If (e.KeyChar < ChrW(48) Or e.KeyChar > ChrW(57)) Then
e.KeyChar = ChrW(0)
End If
End Sub
o KeyDown, KeyUp: mỗi sự kiện KeyPress lại cho ta một cặp sự kiện
KeyDown/KeyUp. Sự kiện này cho phép ta nhận biết được các phím đặc biệt trên bàn
phím. Trong ví dụ dưới đây, ta hiển thị tên các phím chức năng mà người sử dụng
chương trình nhấn vào:
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode >= Keys.F1 And e.KeyCode <= Keys.F12 Then
MsgBox("Bạn vừa nhấn phím chức năng: F" & e.KeyCode - 111)
End If
End Sub

Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET

CHƯƠNG 3: LẬP TRÌNH CẤU TRÚC TRONG
VISUAL BASIC
Mục tiêu:
Chương này giới thiệu về các cấu trúc lập trình trong VB; đây là các cấu
trúc cốt lõi để xây dựng nên một chương trình VB.
Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau:
- Sử dụng môi trường lập trình VB để viết mã lệnh.
- Các kiểu dữ liệu trong VB.
- Cách khai báo hằng, biến trong VB.
- Biểu thức trong VB.
- Các câu lệnh đơn cũng như các câu lệnh có cấu trúc.
- Chương trình con trong VB.
- Bẫy lỗi trong VB.
Kiến thức có liên quan:
- Cách sử dụng môi trường phát triển của VB.
I. Môi trường lập trình
I.1. Soạn thảo chương trình:
Trong lập trình Visual Basic .NET, cửa sổ mã lệnh (Code) cho phép soạn thảo
chương trình. Cửa sổ này có một số chức năng nổi bật:
o Đánh dấu (Bookmarks): Chức năng này cho phép đánh dấu các dòng lệnh của
chương trình trong cửa sổ mã lệnh để dễ dàng xem lại về sau này. Để bật tắt khả năng
này, chọn Bookmarks từ menu Edit, hoặc chọn từ thanh công cụ Edit.
o Các phím tắt trong cửa sổ mã lệnh:
Chöùc naêng Phím taét
Xem cửa sổ Code
F7
Xem cửa sổ Object Browser

F2
Tìm kiếm

CTRL+F
Thay thế
CTRL+H
Tìm tiếp
SHIFT+F4
Tìm ngược
SHIFT+F3
Chuyển đến thủ tục kế tiếp
CTRL+DOWN ARROW

Chuyển đến thủ tục trước đó

CTRL+UP ARROW
Xem định nghĩa
SHIFT+F2
Cuộn xuống một màn hình
CTRL+PAGE DOWN
Cuộn lên một màn hình
CTRL+PAGE UP
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Nhảy về vị trí trước đó
CTRL+SHIFT+F2
Trở về đầu của mô-đun
CTRL+HOME
Đến cuối mô-đun
CTRL+END
I.2. Các chức năng tự động:
o Tự động kiểm tra cú pháp (Auto Syntax Check)
Nếu chức năng này không được bật thì khi ta viết một dòng mã có chứa lỗi, VB chỉ
hiển thị dòng chương trình sai với màu đỏ nhưng không kèm theo chú thích gì và tất

nhiên ta có thể viết tiếp các dòng lệnh khác. Còn khi chức năng này được bật, VB sẽ cho
ta biết một số thông tin về lỗi và hiển thị con trỏ ngay dòng chương trình lỗi để chờ ta sửa.
o Gợi nhớ mã lệnh (Code):
Khả năng Auto List Members: Tự động hiển thị danh sách các thuộc tính và phương
thức của 1 điều khiển hay một đối tượng khi ta gõ vào tên của chúng. Chọn thuộc tính
hay phương thức cần thao tác và nhấn phím Tab hoặc Space để đưa nó vào chương trình.

II. Kiểu

dữ

liệu
II.1. Khái

niệm
:
Kiểu dữ liệu là một tập hợp các giá trị mà một biến của kiểu có thể nhận và một tập
hợp các phép toán có thể áp dụng trên các giá trị đó.
II.2. Các kiểu dữ liệu cơ sở trong Visual Basic
Kiểu dữ
liệu
Mô tả
Boolean Gồm 2 giá trị: TRUE & FALSE.
Byte Các giá trị số nguyên từ 0 đến 255
Short Các giá trị số nguyên từ -32.678 đến 32.767
Integer Các giá trị số nguyên từ -2.147.483.648 đến 2.147.483.647
Long Các giá trị số nguyên từ -9.223.372.036.854.775.808 đến
9.223.372.036.854.775.807 . Kiểu dữ liệu này thường được gọi là số
nguyên dài.
Single Các giá trị số thực từ -3,402823E+38 đến 1,401298E-45 cho số âm.

1,401298E-45 đến 3,402823E+38 cho các số dương.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Double Các giá trị số thực từ -1.79769313486232E+308 đến
1.79769313486232E+308. Kiểu dữ liệu này được gọi là độ chính xác
kép.
Char Lưu trữ một ký tự.
String Lưu trữ các chuỗi văn bản, lên đến 2 tỉ ký tự.
Date Dữ liệu kiểu ngày tháng, có giá trị từ 01/01/100 đến 31/12/9999.

III. Hằng số
III.1. Khái niệm
Hằng số (Constant) là giá trị dữ liệu không thay đổi trong chương trình vào bất cứ
thời điểm nào. Người lập trình có thể định nghĩa một giá trị là một hằng khi khai báo nó.
III.2. Khai báo hằng
Const <tên hằng> [As <kiểu dữ liệu>] = <biểu thức>
Trong đó, tên hằng được đặt giống theo quy tắc đặt tên của điều khiển.
Ví dụ:
Const g = 9.8
Const Num As Integer = 4*5
III) Biến
III.1. Khái niệm
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 có 2 đăc điểm:
o Mỗi biến có một tên.
o Mỗi biến có thể chứa duy nhất một loại dữ liệu.
III.2. Khai báo
[Public|Private|Static|Dim] <tên biến> [ As <kiểu dữ liệu> ]
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 phNy (,).

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 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.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
Ví dụ:
Dim Num As Long, a As Single
Dim Age As Integer
Khai báo tường minh: Để tránh rắc rối như đã nêu ở trên, ta nên quy định rằng VB
sẽ báo lỗi khi gặp biến chưa được khai báo bằng dòng lệnh:
IV. Biểu thức
IV.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 đó.
IV.2. Các loại phép toán
a. 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 của 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, Long
Mod 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ố

b. Các phép toán quan hệ
Đây 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).

Phép toán

Ý nghĩa
=
So sánh bằng nhau

<> So sánh khác nhau
> So sánh lớn hơn
< So sánh nhỏ hơn
>= So sánh lớn hơn hoặc bằng

<= So sánh nhỏ hơn hoặc bằng


Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
c. 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:

X Y X AND Y

X OR Y

NOT X

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE

FALSE TRUE FALSE

FALSE

TRUE FALSE TRUE TRUE
FALSE


FALSE

FALSE FALSE TRUE

IV.3. Các hàm xây dựng sẵn:
a. Hàm chuyển đổi:
Hàm Mô tả
Cbool Chuyển đổi thành một giá trị Boolean. Tất cả các giá trị là False hay 0
sẽ được chuyển thành False; Các giá trị khác sẽ chuyển thành True
Cbyte Chuyển thành một byte. Tất cả các giá trị lớn hơn 255, hay phần thập
phân sẽ bị mất.
Cchar Chuyển thành một ký tự đơn. Nếu giá trị lớn hơn 65.535 thì nó sẽ bị
mất. Nếu chuyển một chuỗi, thì chỉ có ký tự đầu tiên được chuyển.
Cdate Chuyển thành một ngày.
CDbl Chuyển thành giá trị Double.
Cint Chuyển thành một số Interger. Phần thập phân được làm tròn.
CLng Chuyển thành một số Long. Phần thập phân được làm tròn.
CSht Chuyển thành một số Short. Phần thập phân được làm tròn.
CStr Chuyển thành một chuỗi. Nếu giá trị là Date thì kết quả là chuỗi định
dạng là Short Date.
Ctype Chuyển thành bất kỳ kiểu nào. Cú pháp của hàm này hơi khác so với
các hàm trên.
NewVariable = Ctype(OldVariable, NewType)
OldVariable là biến chứa giá trị cần chuyển, NewVariable là biến lưu
giá trị sau khi chuyển đổi, NewType là kiễu dữ liệu mới cần chuyển.
b. Hàm toán học
Các hàm này được cung cấp trong lớp System.Math. Để sử dụng được lớp này ta phải
khai báo phía trên đầu của cửa sổ Code Editor, bên trên phát biểu Public Class TênForm
dòng lệnh sau:
Imports System.Math

ABS(n) : Trả về trị tuyệt đối của n.
Atan(n) : Trả về Artang của n (n tính bằng radian).
Cos(n) : Trả về cos của góc n (n tính bằng radian).
Sin(n) : Trả về sin của góc n (n tính bằng radian).
Tan(n) : Trả về tan của góc n (n tính bằng radian).
Exp(n) : Trả về e mũ n.
Sign(n) : Trả về -1 nếu n<0, 1 nếu n>0 và 0 nếu n=0.
Sqrt(n) : Trả về căn bậc 2 của n.
Biên soạn: Nguyễn Vũ Duy Quang Visual Basic .NET
c. Hàm xử lý chuỗi:
Len(S) : Trả về độ dài của chuỗi S. N = len(“Hello”) => N =5.
Chr(N) : Trả về ký tự có giá trị ASCII hay Unicode là N. S = chr(65) => S=“A”
Asc(Ch) : Trả về giá trị ASCII hay Unicode của ký tự Ch. N=Asc(“A”) => N=65
Lcase(S) : Chuyển tất cả các ký tự trong chuỗi thành chữ thường.
Ucase(S) : Chuyển tất cá các ký tự trong chuỗi thành chữ in hoa.
Ltrim(S) : Bỏ tất cả các khoản trắng đứng trước chuỗi.
S = Ltrim(“ Hello ”) => S = “Hello ”
Rtrim(S) : Bỏ tất cả các khoản trắng đứng sau chuỗi.
S = Rtrim(“ Hello ”) => S = “ Hello”
Trim(S) : Bỏ tất cả các khoản trắng đứng trước và sau chuỗi.
S = Trim(“ Hello ”) => S = “Hello”
d. Các hàm hữu dụng khác:
IsArray : Trả về True nếu tham số truyền vào là một mảng
N = IsArray(a) => N = True nếu a là mảng.
IsDate : Trả về True nếu thám số truyền vào là một ngày.
IsNumeric : Trả về True nếu tham số truyền vào là một số.
IsObject : Trả vể True nếu tham số truyền vào là một kiểu đối tượng.
TypeName : Trả về tên kiểu dữ liệu của tham số.
Now : Trả về ngày giờ hiện tại.
Today : Trả về ngày hiện tại với thời gian là 0:00:00 am.

V. Câu lệnh
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.
V.1. Lệnh gán
Cú pháp:
<Tên biến> = <Biểu thức>
Ví dụ:
Giả sử ta có khai báo sau:
Dim TodayTemp As Single, MinAge As Integer
Dim Sales, NewSales As Single, FullName As String
Các lệnh sau gán giá trị cho các biến trên:
TodayTemp = 30.5
MinAge = 18
Sales = 200000
NewSales = Sales * 1.2
Giả sử người dùng cần nhập họ và tên vào ô nhập liệu TextBox có thuộc tính Name
là txtName, câu lệnh dưới đây sẽ lưu giá trị của ô nhập liệu vào trong biến FullName:
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ị.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×