Tải bản đầy đủ (.doc) (103 trang)

Xây dựng chương trình thi trắc nghiệm bằ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 (810.69 KB, 103 trang )

Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
PHẦN I. TÌM HIỂU NGÔN NGỮ
CHƯƠNG 1 : TÌM HIỂU NGÔN NGỮ VISUAL BASIC.NET
I. TỔNG QUAN VỀ VISUAL BASIC.NET :
1. Giới thiệu VISUAL BASIC.NET :
Sự phát triển của công nghệ thông tin chủ yếu dựa trên các phát triển về
công nghệ phần cứng và phân mềm . Trong những năm gần đây , các linh kiện
máy tính ngày càng mạnh , tốc độ xử lý ngày càng cao , giá thành ngày càng
rẽ. Công nghệ phần mềm đáp ứng các phát triển đó một cách tích cực , các
trình ứng dụng cung cấp nhiều tính năng mới , đặc biệt là tính tin cậy , tính dễ
sử dụng và năng lực xử lý cao .
Sự phát triển phần mềm dựa trên nền tảng ngôn ngữ lập trình . Lập trình
hướng đối tượng là một trong những hướng phát triển mới , bao quát các trình
ứng dụng thực tiển trên máy tính và trên mạng . Nhiều khái niệm , kỹ thuật và
tính năng mới xuất hiện trong ngôn ngữ lập trình hướng đối tượng .
Một trong những ngôn ngữ lập trình hướng đối tượng hiện nay là Visual
Basic .NET của Microsoft . Đặc điểm nổi bậc của ngôn ngữ lập trình này là
khả năng xây dựng các đối tượng có tính tương thích cao . Đối tượng được xây
dựng trong VB.NET có thể được dùng một cách dễ dàng trong mọi ngôn ngữ
hướng đối tượng khác và ngược lại . Đối tượng không chỉ được dùng cho trình
ứng dụng tại chổ mà còn có thể được dùng trên mạng một cách rộng rãi . Các
đối tượng được xây dựng dựa trên các đơn vò mã tiêu chuẩn , được viết sẳn .
Các đơn vò mã đó sắp xếp theo module . Với các module bạn có thể lắp ghép
và chỉnh sửa để có trình ứng dụng theo các yêu cầu cụ thể . Bạn có thể lắp ráp
máy tính cá nhân từ các linh kiện rời và với OOP bạn có thể viết trình ứng
dụng từ các module rời .
Với phiên bản của Visual Basic.NET , bạn có thể sử dụng các hàm , thuộc
tính và các công cụ khi tạo một ứng dụng , ngay cả khi bạn đã sử dụng Visual
Basic 5 hoặc Visual Basic 6 thì phiên bản Visual Basic mới cũng có khá nhiều
khác biệt nhỏ . Tuy nhiên , Microsoft đã tăng thêm cho bạn nhiều điều khiển ,
thêm vào một vài lệnh mới và giới thiệu mô hình thiết kế mới tạo các chương


trình ứng dụng trên Web hoặc Windows từ ngay trong môi trường Visual
Basic.NET
Thay đổi lớn nhất diễn ra chủ yếu trong lónh vực truy cập trên Web và khả
năng chuyển ứng dụng trên Windows sang Internet . Bạn có thể làm điều này
bằng cách sử dụng cơ cấu .NET. Visual Basic.NET cung cấp cho bạn nhiều
GVHD : Nguyễn Chánh Thành Trang 1
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
công cụ để tạo những ứng dụng có thể chạy được trên Web cùng với xây dựng
những ứng dụng chuẩn cũ của Windows .
Cứ mỗi phiên bản mới của Visual Basic ta lại phát hiện ra được những cách
mới và tốt hơn của việc thể hiện các phương thức căn bản hoặc thêm những
phương thức mới vào ứng dụng . Visual Basic.NET có nhiều thuộc tính hơn ,
thậm chí có thể phát triển ứng dụng dễ dàng hơn . Một thay đổi là việc hổ trợ
thiết kế form . Bạn có thể sử dụng hai loại form khác nhau : một form cho ứng
dụng căn bản trên windows và một form cho ứng dụng cơ bản trên web. Thay
đổi chủ yếu khác của ngôn ngữ Visual Basic là khả năng tạo điều khiển xử lý
lỗi , sử dụng phương thức mới để kiểm tra lỗi .
2. Những nét mới trong VISUAL BASIC.NET
Visual Basic.NET là phiên bản mới tiếp của Visual Basic . Microsoft đã
thiết kế lại các sản phẩm nhằm tạo sự dễ dàng hơn trước đây trong việc viết
các ứng dụng phân tán , như Web . Visual Basic.NET có hai phần hổ trợ cho
việc tạo form ( Windows forms và Web form) và một phiên bản mới của ADO
về truy cập nguồn dữ liệu . Hơn nữa , nóù thể hiện đa ngôn ngữ lập trình , loại
bỏ những cái cũ , vô hiệu hóa các từ khóa không hữu ích cùng với rất nhiều
những thay đổi khác .
Các thuộc tính mới này sẽ cho phép bạn tạo cả ứng dụng Client/Sever và
ứng dụng Internet . Với Web Form và ADO.NET , bây giờ bạn có thể nhanh
chóng phát triển các Web Site . Với việc thêm vào các khả năng kế thừa , ngôn
ngữ Visual Basic giờ đây là môi trường lập trình hướng đối tượng : Các giao
diện trên Windows hỗ trợ các khả năng truy cập và kế thừa rất hiệu quả . Cuối

cùng việc cài đặt và thực thi không cần phải đăng ký với Registry gì cả .
Visual Basic.NET tích hợp đầy đủ với những ngôn ngữ Microsoft Visual
Studio .NET . Bạn không chỉ có thể phát triển các thành phần của ứng dụng
bằng các ngôn ngữ lập trình khác , các lớp của bạn cũng có thể thừa hưởng từ
các lớp được viết bằng các ngôn ngữ khác sử dụng tính năng kế thừa đa ngôn
ngữ . Với trình bắt lỗi , bạn có thể bắt lỗi nhiều ứng dụng với các ngôn ngữ
khác nhau cho chương trình đang thi hành cục bộ hoặc từ các máy truy cập từ
xa . Bất cứ ngôn ngữ nào bạn sử dụng , cơ cấu Microsoft .NET cũng cung cấp
một tập hợp API cho việc sử dụng trên Windows và cả trên Internet .
2.1Những thay đổi với bản thân ngôn ngữ Visual Basic :
Những phiên bản trước đây của Visual Basic hướng đến những ứng dụng
Client chuẩn , trọng tâm của Visual Basic.NET với việc tạo các ứng dụng dòch
vụ Web cũng tốt như các ứng dụng Client chuẩn trên Windows . Việc này được
thực hiện bởi các chương trình quản lý mã chung cho cơ cấu .NET Framework
GVHD : Nguyễn Chánh Thành Trang 2
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
và bộ diễn dòch ngôn ngữ thông dụng – Common Language Runtime . Đương
nhiên , nó yêu cầu phải có những thay đổi lớn đối với ngôn ngữ Visual Basic.
Với những thay đổi chính đòi hỏi phải tạo ra một bộ khung .NET Framework
và thư viện Runtime mới , Microsoft nghó rằng đây cũng chính là cơ hội tốt để
xóa sạch những khía cạnh lỗi thời của ngôn ngữ Visual Basic . Microsoft có ý
đònh thay đổi để thực hiện những điều sau đây :
+ Đơn giản hóa ngôn ngữ và làm cho chúng phù hợp hơn .
+ Thêm vào những tính năng mới theo yêu cầu .
+ Tạo ra những chương trình nguồn dễ đọc và dễ bảo vệ hơn .
+ Phát triển những tiến trình xử lý lỗi .
+ Tạo các ứng dụng dễ bắt và gỡ lỗi .
2.2Giao diện Windows Forms mới :
Windows Forms là một phần của cơ cấu .NET Framework với nhiều kỹ
thuật mới bao gồm một cơ cấu ứng dụng thường , quản lý môi trường thực thi ,

bảo mật và hướng đối tượng . Windows Forms cũng đưa ra đầy đủ những hổ trợ
cho việc nhanh chóng và dễ dàng để kết nối với dòch vụ Web XML , xây dựng
nên những ứng dụng nhận biết dữ liệu được tạo cơ bản trên ADO.NET . Với
môi trường phát triển chia xẻ với Visual Studio , các nhà phát triển có thể tạo
ra các ứng dụng Windows Forms bằng bất kỳ ngôn ngữ nào có hổ trợ nền .NET
.
Bạn có thể tạo một ứng dụng Windows Forms như cách bạn đã làm trong
phiên bản trước của Visual Basic : Đặt các điều khiển ở một vò trí trên form
thay đổi thuộc tính cho chúng và nhấp đúp vào điều khiển để mở Source Editor
.
2.3Visual Inheritance :
Visual Inheritance là một tính năng mới của Windows Forms sẽ thúc đẩy
các nhà phát triển hoàn thành sản phẩm và dễ dàng sử dụng lại các chương
trình nguồn ( source code ) cũ . Chẳng hạn , bạn có thể đònh nghóa một giao
diện chuẩn có chứa các phần tử như trình đơn ( menu ) hay là thanh công cụ
(toolbar) Bạn có thể sử dụng form này trong những ứng dụng khác thông qua
kế thừa và mở rộng nó đáp ứng các yêu cầu của những ứng dụng đặc biệt ,
hãy chú trọng đến giao diện cho người dùng thông thường và giảm bớt công
sức làm việc không phải tạo lại các form tương tự .
2.4Thiết kế một form chính xác :
Với Windows Forms mới , những tính năng như Menu Designer , Anchoring ,
Docking và nhiều điều khiển khác có thể mạnh hơn và hợp cho các nhà phát
triển xây dựng giao diện người dùng trên Windows hơn . Windows Forms cung
GVHD : Nguyễn Chánh Thành Trang 3
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
cấp cho bạn tập hợp các kỹ thuật xây dựng ứng dụng cơ bản trên Windows . Có
những điều khiển và thuộc tính mới tốt cho việc hòa hợp các giao diện người
dùng ; Windows Forms cũng cung cấp thuộc tính bảo mật .
2.5Giao diện Web ( Web form ) :
Web Form được tạo để chỉ đònh sự khác biệt giữa những kỹ thuật được sử

dụng để xây dựng một ứng dụng trên Windows và chúng được sử dụng để tạo
một ứng dụng trên Web . Với Visual Basic .NET , bạn có thể nhanh chóng phát
triển ứng dụng để chạy được trên Internet bằng những kỹ thuật tương tự mà
bạn đã được học ở Visual Basic . Để tạo một ứng dụng trên Web , bạn thêm
một Web Form vào dự án , kéo thả các điều khiển (control) cần thiết vào
trang . Dấu mã chương trình tách biệt khỏi mã HTML.
Các phiên bản trước đây của công cụ Visual Studio đã cố gắng đơn giản hóa
công việc phát triển trên Web . Ví dụ , Visual Basic đã cung cấp hỗ trợ cho
DHTML Client và WebClasses ; Visual InterDev phục vụ cho phát triển ASP
(Active Server Pages ). Web Form đưa ra những giải pháp làm việc hữu dụng
hơn để xây dựng ứng dụng Web với Visual Basic .NET . Web Form mô tả sự
biến đổi của ASP và Web Classes , cung cấp cách tốt nhất cho cả hai mô hình .
2.6Chuyển biến từ Visual Basic 6 :
Tên thì gần gũi với Visual Basic 6.0 (VB6.0), nhưng Visual Basic.NET
(VB.NET) lại là phiên bản có nhiều thiết kế mới về kiểu dữ liệu , phương thức
truy cập dữ liệu , tính hướng đối tượng …
Tại sao lại phải thay đổi thiết kế của ngôn ngữ Visual Basic – một trong
những ngôn ngữ được sử dụng rộng rãi nhất hiện nay ? VB 6.0 được hàng triệu
thảo chương viên trên khắp thế giới sử dụng nhờ cú pháp dễ hiểu và khả năng
phát triển nhanh . VB 6.0 và các công cụ khác của Microsoft tích hợp trong
phiên bản đầu tiên của bộ Visual Studio đã được thiết kế không tính đến Web .
Do chậm chân trong lónh vực công nghệ Internet và ứng dụng phân tán ,
Microsoft đã phải bổ sung”chắp vá” cho bộ công cụ Visual Studio để hổ trợ
môi trường phát triển mới . Khả năng phát triển ứng dụng Web của các công cụ
Visual Studio rất hạn chế , phải dùng nhiều kỹ thuật khác nhau để tạo ứng
dụng phân tán , không tối ưu cho môi trường Web.
VB.NET giải quyết tất cả các vấn đề trên . Bộ công cụ này đã được thiết kế
lại từ đầu để hổ trợ phát triển dễ dàng ứng dụng Web và Client/Server trong
môi trường phân tán và không kết nối . Khác biệt giữa VB 6.0 và VB.NET có
thể phân thành hai nhóm ( như bảng 1 ) :

+ Thay đổi về kỹ thuật cải thiện hiệu suất ứng dụng .
+ Thay đổi trong cú pháp và cách thức lập trình.
GVHD : Nguyễn Chánh Thành Trang 4
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Bảng 1
VB 6.0 > < VB. NET
Tính năng VB 6.0 VB.NET
Tính kế
thừa đầy đủ
Thực hiện phương pháp kế
thừa giả .
Thực hiện kế thừa đầy đủ các lớp
con riêng dẫn xuất các thuộc tính
và phương thức từ lớp cơ bản được
viết bằng ngôn ngữ .NET C++ hay
C#.
Khả năng
tương tác
Dùng các biến khác với C+
+ và Java , làm cho các
ứng dụng viết bằng VB và
C++ khó tương tác với
nhau
Các kiểu biến nhất quán với C++
và C# trên nền CLR.
Tạo ứng
dụng
Tạo tập tin .EXE nhưng lệ
thuộc vào các thư viện
DLL hỗ trợ . Việc triển

khai khó khăn vì phải phân
phối không chỉ tập tin
.EXE mà cả các thư viện
DLL.
Tạo tập tin .EXE có thể chạy không
cần đến các thư viện DLL hỗ trợ .
Phân luồng Không thể tận dụng hết
các tính năng phân luồng
có trong .COM
Cho phép phân luồng linh động ,
tăng tính khả mở cho ứng dụng .
2.6.1 Thay đổi về kỹ thuật :
Thay đổi kỹ thuật trong VB.NET là yếu tố dẫn đến thay đổi cú pháp và
cách thức lập trình ; xuất phát từ mục tiêu kỹ thuật mà Microsoft hướng đến
trong phiên bản của VB . Để VB thống nhất về mặt kỹ thuật với C++ và C# ,
Microsoft đã phát triển CLR (Common Language Runtime) thành nền tảng
chung . VB không còn là công cụ sinh mã giả nữa , CLR làm cho nó trở thành
ngôn ngữ hướng đối tượng thực sự và đặt nó ngang cấp với C++ và C# . Về mặt
kỹ thuật , một ứng dụng được tạo bởi VB.NET không có gì khác biệt so với ứng
dụng tạo bằng C++ và C#.
2.6.2 Thay đổi về cú pháp :
Tuy những thay đổi về mặt kỹ thuật trong VB.NET cực kỳ quan trọng ( và
rất được hoan nghênh ) nhưng lại không dễ nhận biết như những thay đổi trong
cú pháp và cách thức lập trình . Chúng ảnh hưởng nhiều đến khả năng chuyển
GVHD : Nguyễn Chánh Thành Trang 5
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
đổi ứng dụng VB 6.0 sang VB.NET . Trong bộ công cụ Studio.NET , Microsoft
có cung cấp tiện ích Upgrade Winzard để chuyển đổi ứng dụng VB 6.0 sang
VB.NET.
2.6.3 Thay đổi về kiểu dữ liệu :

VB.NET đã nói lời chia tay với kiểu dữ liệu Variant , Short và Long .
VB.NET kết hợp kiểu dữ liệu Object và Variant thành kiểu dữ liệu Object duy
nhất . Variant là kiểu dữ liệu mặc đònh của VB 6.0 được gán cho tất cả các
biến không được khai báo kiểu dữ liệu . Kiểu Variant còn được gán cho các
biến ngoài biến đầu tiên trên cùng một dòng khai báo . Khai báo biến ipCount
là Integer và ipNumber là Variant . Khai báo dữ liệu Integer giờ đây là Short
(16 bit) và kiểu dữ liệu Long là Integer (32 bit) . Kiểu Long giờ đây là số 64 bit
. Tiện ích Upgrade Winzard thực hiện rất tốt việc thay các dữ liệu này .
2.6.4 Cú pháp cũ bò loại bỏ :
Để đảm bảo tính tương thích ngược , các phiên bản VB trước đây có chứa cú
pháp cũ thể hiện các kỹ thuật lập trình xa xưa . Các từ khóa trong bảng 2 đã bò
loại bỏ khỏi VB.NET.
Def < data type > ( DefInt , DefBool , DefByte , … )
GoTo
GoSub
Option Base 0 | 1
VarPtr , ObjPtr , StrPtr
Lset
Bảng 2 : Các từ khóa VB 6.0 không còn được hỗ trợ trong VB.NET.
2.6.5 Chuyển biến từ Visual Basic 6 :
Visual Basic .NET là nền tảng cơ bản , từ việc phát triển ứng dụng Windows
đến việc xây dựng ứng trên Web . Vì lý do này , chương trình của bạn cần được
nâng cấp để khai thác hết những thuận lợi của Visual Basic .NET . Microsoft
cung cấp công cụ Upgrade Winzard ( nâng cấp theo sự hướng dẫn từng bước )
để giúp bạn thi hành tác vụ này . Khi bạn mở một dự án của Visual Basic 6
trong Visual Basic .NET , Upgrade Wizard sẽ chạy tự động và tạo ra một dự án
mới của Visual Basic .NET được lấy từ dự án đang có của bạn . Khi dự án của
bạn đã nâng cấp , ngôn ngữ được chỉnh sửa lại vì những thay đổi cú pháp và
các form Visual Basic 6 được chuyển thành Windows Forms . Trong hầu hết
các trường hợp bạn sẽ phải tự làm một số thay đổi trong mã của bạn mỗi khi

nâng cấp vì các đối tượng và các thuộc tính ngôn ngữ hoặc không có sự tương
đương trong Visual Basic .NET . Sau khi nâng cấp , có thể bạn cũng muốn hiệu
chỉnh ứng dụng của mình để khai thác các mặt thuận lợi của một số tính năng
GVHD : Nguyễn Chánh Thành Trang 6
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
mới hơn trong Visual Basic .NET . Upgrade Wizard bắt đầu khi bạn mở một
ứng dụng VB 6 . Nó sẽ hỏi bạn về kiểu của dự án và tập hợp các chọn lựa cho
ứng dụng .
Bước tiếp theo là chỉ ra nơi bạn muốn lưu trữ dự án .NET mới . Nên nhớ rằng
dự án nguyên bản của bạn sẽ không được hiệu chỉnh . Mỗi lần hoàn thành , dự
án mới sẽ được mở lại trong cửa sổ Solution Explorer . Bạn có thể cho hiển thò
Upgrade Report để xem những gì hữu dụng mà bạn cần trong quá trình nâng
cấp dự án .
1. Làm việc với các bộ xử lý lỗi :
Không có gì tốt đẹp mãi mãi , chương trình của bạn sẽ đến lúc phát sinh lỗi
chẳng hạn chương trình bò treo , ỗ đóa sẽ ngưng hoạt động các tập tin sẽ bò xóa
… Những vấn đề như thế chính là lỗi khi chạy chương trình . Lỗi trong lúc chạy
chương trình được chia làm hai loại : một là những lỗi được nhận dạng và sửa
ngay trước khi ứng dụng được đưa đến người sử dụng và một là những lỗi phải
được xử lý trong khi chương trình đang chạy .
3.1Tìm hiểu các kiểu lỗi :
3.1.1 Tổng quan về lỗi :
Lỗi là các vấn đề về lập trình xảy ra trong khi thiết kế , tạo và kiểm tra qua
từng giai đoạn phát triển ứng dụng . Có bốn kiểu lỗi khác nhau :
a. Lỗi cú pháp :
Lỗi cú pháp được giải quyết trong trình soạn thảo (Code Editor) . Nếu đoạn
mã của bạn có một dòng không đúng , Code Editor sẽ báo cho bạn trước khi
bạn tiếp tục và sau đó thậm chí sẽ hiển thò cú pháp của câu lệnh mà bạn đang
sử dụng với các thuộc tính , phương thức hoặc sự kiện giúp bạn có thể sử dụng
trên dòng đó . Điều này cho phép bạn tập trung nhiều vào tính logic của ứng

dụng hơn là bạn phải tự nhớ và đánh vào lệnh . Tuy nhiên , khi bạn đã sửa
xong một lỗi cú pháp , thì nó sẽ không xuất hiện nữa .
b. Lỗi biên dòch :
Lỗi này sẽ xuất hiện khi đoạn mã của bạn không hợp với cấu trúc lệnh chuẩn
của VB. Hơn nữa , lỗi biên dòch được hiển thò khi bạn biên dòch ứng dụng , cho
phép bạn sửa chữa và sau đó bỏ qua .
c. Lỗi logic
Là lỗi khó tìm nhất trong ứng dụng vì khi ứng dụng thực thi sẽ không báo lỗi
gì cả . Tuy nhiên , ứng dụng có thể sẽ không xử lý và cho kết quả như mong
muốn .
d. Lỗi khi chạy chương trình :
Thường xuất hiện rơi vào một trong những vấn đề sau :
GVHD : Nguyễn Chánh Thành Trang 7
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
+ Lỗi tập tin : Lỗi tập tin thường xảy ra vì thông số tập tin không thích hợp
khi được xử lý bởi ứng dụng . Thông thường người sử dụng có thể sửa những lỗi
này và ứng dụng có thể tiếp tục từ khi lỗi được sửa. Dưới đây là bảng mã lỗi về
tập tin .
52 Bad filename or number
53 File not found
54 Bad fiel mode
55 File already open
58 File already exists
59 Bad record length
61 Disk full
62 Input pas end of file
63 Bad record number
64 Bad filename
67 Too many files
74 Can’t rename with different drive

75 Path/File access error
76 Path not found
+ Lỗi vật lý : Nhóm lỗi thông thường này được gây ra bởi môi trường vật lý
hoặc phần cứng của máy tính . Người dùng có thể hoặc không thể sửa những
lỗi này một cách nhanh chóng .
+ Lỗi đoạn mã : Người sử dụng không thể sửa lỗi của đoạn mã . Cách tốt
nhất để giải quyết những lỗi này là tạo một thông báo cho người dùng và thoát
khỏi chương trình . Sau khi bạn có thông tin này bạn phải tìm ra vấn đề trong
đoạn mã ứng dụng , sửa nó , biên dòch lại và sau đó thực thi lại ứng dụng .
+ Lỗi CSDL : Lỗi này xảy ra khi quan hệ đến dữ liệu , bao gồm những lỗi
có quan hệ đến kiểu dữ liệu hoặc kích thước file : sự hạn chế truy cập bảng dữ
liệu, nhân bản hoặc không cho phép sửa dữ liệu được thêm vào CSDL . Những
lỗi liên quan đến SQL hoặc một mẩu tin trắng mà đúng ra là không được rỗng .
3.1.2 Tiến trình xử lý lỗi :
Khi bạn bắt đầu nghó về việc tạo một chương trình xử lý lỗi cho ứng dụng
của mình , hãy hiểu rằng các điều khiển lỗi trong VB không dễ hiểu như trong
phiên bản cũ , được viết bởi nhiều ngôn ngữ như COBOL , BASIC . Điều đó
đúng so với một số nguyên nhân sau :
+ Visual Basic là mô hình hướng sự kiện , nghóa là mỗi sự kiện xảy ra sẽ triệu
gọi một tác vụ thực thi nào đó .
GVHD : Nguyễn Chánh Thành Trang 8
Mã lỗi Thông báo lỗi
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
+ Visual Basic sử dụng ngăn xếp để theo dõi chương trình đang được xử lý và
để tách những biến cục bộ trong chương trình . Khi ứng dụng của bạn có một
chương trình con , nó có thể làm mất giá trò của biến cục bộ . Điều này sẽ làm
cho quá trình thực thi rất khó tiếp tục lại sau khi lỗi được giải quyết xong.
+ Tất cả các lỗi đều là cục bộ . Nếu một lỗi phát sinh , nó nên được xử lý trong
chương trình con nơi mà lỗi xảy ra , nghóa là bạn phải viết một điều khiển lỗi
cho chương trình xử lý mà bạn cần thêm vào ứng dụng của mình .

3.1.3 Quá trình xử lý lỗi không cấu trúc :
Quá trình xử lý lỗi không có cấu trúc là cách gọi mới của tiến trình cũ .
Phương pháp cũ của việc kiểm tra lỗi trong VB là sử dụng câu lệnh On Error
and Resume . Câu lệnh On Error bật chế độ kiểm tra lỗi cho một procedure
hoặc một module và sau đó chuyển sự thực thi của chương trình đến đoạn lỗi
được xác đònh trong câu lệnh On Error . Đoạn lỗi sau đó kiểm tra xem lỗi gì
xảy ra để xử lý cho phù hợp .
 Câu lệnh On Error :
Với câu lệnh On Error bạn có thể kích hoạt và vô hiệu hóa các bẫy lỗi trong
ứng dụng , chỉ đònh vò trí của chương trình xử lý lỗi để thực thi cho một chương
trình hoặc một form đã cho. Câu lệnh On Error bao gồm 3 phân loại khác
nhau :
+ On Error Goto (Label) kích hoạt chương trình xử lý lỗi tại vò trí một nhãn
(label) chỉ đònh trong câu lệnh . Nếu một lỗi xuất hiện trong khi chương trình xử
lý lỗi được kích hoạt , điều khiển sẽ nhảy đến dòng đầu tiên của đoạn mã trong
chương trình xử lý lỗi . Đây là cách chung nhất khi sử dụng câu lệnh On Error.
+ On Error Resume Next gởi điều khiển đến câu lệnh ngay chổ xảy ra lỗi .
Với phương pháp này bạn có thể bẫy một lỗi và ứng dụng có thể bỏ qua nó một
cách đơn giản .
+ On Error Goto 0 làm mất hiệu lực chương trình điều khiển lỗi trong thủ tục
procedure hiện hành . Bạn có thể sử dụng câu lệnh này để tạm thời làm cho
chương trình xử lý lỗi trong procedure không hoạt động . Sau đó bạn cần phải
thực thi bản đầu tiên hoặc thứ hai của câu lệnh để kích hoạt lại chương trình xử
lý lỗi . Khi bạn thêm một chương trình xử lý lỗi vào một procedure xử lý sự
kiện hoặc vào chương trình con hoặc function mà bạn tạo ra , nó nên được đặt
vào cuối của chương trình . Bạn cũng cần đặt một câu lệnh Exit Sub để thoát
khỏi chương trình nếu điều khiển thực thi đến dòng cuối của chương trình .
 Câu lệnh Resume :
GVHD : Nguyễn Chánh Thành Trang 9
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET

Nếu có một lỗi được bẫy bằng một chương trình xử lý lỗi và điều khiển được
gởi đến chương trình xử lý lỗi , cách duy nhất để làm mất hoạt động và quay lại
từ chương trình là thực thi một trong ba dạng câu lệnh Resume :
+ Resume (Label): xác đònh vò trí nhãn (label) nơi bạn muốn điều khiển của
ứng dụng quay trở lại .
+ Resume Next: thực thi tiếp tục câu lệnh ngay sau câu lệnh xảy ra lỗi .
+ Resume(0): thực thi lại câu lệnh có lỗi .
Nếu chương trình xử lý lỗi giải quyết nguyên nhân lỗi xảy ra , bạn có thể sử
dụng Resume(0) để xử lý lại các thao tác .
3.1.4 Các đối tượng xử lý lỗi ERR được cài đặt sẳn :
Đối tượng Err có thể được truy cập bất kỳ ở đâu trong ứng dụng VB . Phương
thức và thuộc tính của đối tượng Err :
Number Mã số lỗi.
Source Tên của file Visual Basic đang xảy ra lỗi .
Description Diễn giải mã số lỗi được tìm thấy trong thuộc tính Number.
HelpFile Đường dẫn và tên file đầy đủ của file hướng dẫn hỗ trợ
thông báo lỗi .
HelpContext Chỉ số help trong file hướng dẫn Help.
LastDLLError Đoạn mã lỗi của lời gọi thực thi cuối cùng đến DLL.
Clear Xóa tất cả các thiết lập thuộc tính của đối tượng Err.
Đối tượng Error và những tập hợp lỗi liên quan có sẳn chỉ khi ứng dụng đang
sử dụng một trong những thư viện DAO . Các đối tượng Error là lớp con của đối
tượng Connection được sử dụng để duy trì các thông tin về lỗi CSDL có thể xảy
ra trong ứng dụng . Thuận lợi của đối tượng Error bao gồm cả đối tượng Err là
nó chứa nhiều thuộc tính có quan hệ trực tiếp với CSDL , để nó có thể kết nối
khi cần . Đối tượng Err chỉ trả về lỗi xảy ra cuối cùng .
3.1.5 Giới thiệu về điều khiển xử lý ngoại lệ ( Exception) có cấu trúc :
Điều khiển ngoại lệ (exception) có cấu trúc cho phép bạn đònh nghóa các
khối mã được tạo ở dạng bảo vệ . Một đoạn mã ở dạng bảo vệ là một phần
hoặc một khối đang được kiểm tra bởi một hoặc nhiều chương trình điều khiển

lỗi kết hợp với nhau . Mỗi bộ điều khiển lỗi xác đònh những dạng điều khiển
ngoại lệ xử lý khác nhau . Khi một ngoại lệ Exception được phát sinh bởi đoạn
mã trong khối ở dạng bảo vệ thì tập hợp các trình điều khiển thích hợp sẽ được
tìm kiếm theo thứ tự và cái đầu tiên có điều kiện thích hợp được thực thi . Bạn
có thể thêm điều khiển ngoại lệ có cấu trúc vào ứng dụng bằng cách sử dụng
phát biểu Try … Catch … Finally .
GVHD : Nguyễn Chánh Thành Trang 10
Kiểu Diễn giải
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
3.2Tiến trình xử lý TRY… CATCH … FINALLY:
3.2.1 Tìm hiểu tiến trình :
Cú pháp Try … Catch … Finally tương tự với cấu trúc mà bạn cảm thấy quen
thuộc với câu lệnh Select Case hoặc câu lệnh While . Trước khi bạn hiểu cách
sử dụng của tiến trình xử lý lỗi mới này , xem kỹ cú pháp của câu lệnh , cú
pháp đầy đủ như sau :
Try
TryStatements
[Catch
1
[exception [As type]] [when expression]
CatchStatements
1
[Exit Try]
[Catch
2
[exception [As type]] [when expression]
CatchStatements
2
[Exit Try]
[Catch

n
[exception [As type]] [when expression]
CatchStatements
n
[Exit Try]
[Finally Try]
FinallyStatements
End Try
Đối số của câu lệnh Try … Catch … Finally được mô tả như sau :
TryStatements Khối của đoạn mã có lỗi xảy ra.
Exception Tên biến . Giá trò khởi tạo là giá trò của lỗi xảy ra .
Type Xác đònh kiểu của điều kiện.
Expression Biểu thức có điều kiện.
CatchStatements Khối của đoạn mã sẽ xử lý lỗi đã xảy ra trong khối Try.
Exit Try Câu lệnh thoát khỏi tiến trình Try … Catch … Finally
FinallyStatements Khối đoạn mã được thực thi sau khi tất cả tiến trình xử lý
lỗi khác được làm .
+ Khối Try : Khối Try chứa phần đoạn mã bạn muốn trình điều khiển lỗi hiển
thò lên màn hình . Nếu một lỗi xuất hiện trong khi thực thi bất kỳ đoạn mã nào ,
VB tìm mỗi câu lệnh CatchStatements trong đoạn Try Catch … Finally cho
GVHD : Nguyễn Chánh Thành Trang 11
Đối số Diễn giải
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
đến khi tìm thấy một mã điều kiện của nó tương ứng với lỗi . Nếu có một điều
kiện được tìm thấy, điều khiển sẽ chuyển đến dòng đầu tiên của đoạn mã trong
khối Catch . Tiến trình này tiếp tục qua tất cả các câu lệnh catch cho đến khi
một khối catch thích hợp được tìm thấy . Nếu không tìm được gì cả thì VB sẽ
phát sinh một lỗi .
+ Khối Catch : Nếu có ngoại lệ exception xảy ra trong quá trình xử lý của
khối Try , mỗi câu lệnh Catch được xem xét theo thứ tự để xác đònh nó có xử lý

exception xảy ra không . Các xác đònh trong câu lệnh Catch là biểu thò cho
exception bò ném ra .
+ Khối Finally : Khối Finally được thực thi khi quyền thực thi không còn là
một phần của câu lệnh Try . Không có thao tác rõ ràng nào được yêu cầu để
thực thi khối Finally . Khi quyền thực thi của đoạn mã thoát khỏi câu lệnh Try ,
hệ thống sẽ tự động thực thi khối Finally và chuyển quyền thực thi đến đích
cuối cùng đã đònh trước .
3.2.2 Phát sinh Exception:
Một chương trình cho biết lỗi ngoại lệ exception phát sinh bằng cách sử dụng
phát biểu Throw .
3.2.3 Chuyển đổi từ On Error Goto … Resume:
Do không có sự tương đương về câu lệnh Resume trong câu lệnh Try Catch
Finally , việc chuyển đổi đoạn mã của bạn từ On Error chuẩn với Resume hơi
phức tạp .
3.3Tìm lỗi trong chương trình
Bạn có thể thực hiện tiến trình kiểm tra và sửa chữa một cách đơn giản hơn
bằng cách bám vào những khái niệm và những phương pháp sau :
+ Phải chắc chắn rằng thông số Explicit được thiết lập (thường là mặc đònh)
để tránh ghi sai tên biến và tên các đối tượng .
+ Chứa những thủ tục bẫy lỗi được thiết kế tốt (bằng cách dùng Try … Catch) .
+ Giữ cho nội dung cài đặt của thủ tục ngắn và dễ kiểm soát .
+ Bật chế độ cho VB.NET đònh dạng mã nguồn một cách tự động , viết thụt
vào những nơi cần thiết .
+ Đặt tên gợi nhớ cho form , đối tượng và biến để bạn có thể biết chúng là gì
và chúng làm những gì .
Những gợi ý trên sẽ giúp bạn giải quyết những vấn đề có thể xảy ra bất ngờ
liên quan đến cú pháp , biên dòch hoặc những lỗi khi chạy .
3.4Môi trường Debugging :
GVHD : Nguyễn Chánh Thành Trang 12
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET

Để kiểm tra và sửa lỗi ứng dụng bạn phải hiểu ba chế độ mà bạn sẽ làm việc
trong ứng dụng . Bảng dưới đây mô tả các chế độ và những hành động có thể
áp dụng trong từng chế độ .
Design Hầu hết công việc tạo một ứng dụng được thực hiện trong chế độ
thiết kế. Bạn có thể thiết kế các form , vẽ các điều khiển , viết
mã và dùng cửa sổ Property để thiết lập hoặc hiển thò bất kỳ
thuộc tính nào . Tuy nhiên bạn không thể thực thi đoạn mã hoặc
sử dụng những công cụ sửa chữa lỗi , ngoại trừ việc thiết lập điểm
dừng và tạo các biểu thức watch .
Run Khi bạn chạy ứng dụng , bạn tiếp xúc với ứng dụng giống như với
người sử dụng . Bạn vẫn có thể xem được mã nguồn nhưng không
thể thay đổi được nó .
Break Sự thực thi ứng dụng bò gián đoạn , bạn có thể xem và chỉnh sửa
được mã nguồn , kiểm tra hoặc sửa dữ liệu , khởi động lại ứng
dụng , dừng sự thực thi hoặc tiếp tục thực thi từ điểm dừng .
2. Làm việc với CRYSTAL REPORTS :
Một trong những đặc điểm quan trọng mà bạn có thể thêm vào ứng dụng là
khả năng in ra dữ liệu trong cơ sở dữ liệu của ứng dụng . Trong phần này ,
người sử dụng sẽ có thể có một cái nhìn chuyên nghiệp , dễ dàng tạo và sử
dụng các report (báo cáo) từ ứng dụng mà họ đang dùng . Trong VB 3 ,
Microsoft đưa vào phiên bản của Crystal Reports cùng với sản phẩm phát
triển . Tuy nhiên nó không bao giờ hòa hợp một cách đầy đủ với Visual Studio
IDE . Bạn luôn phải chạy một công cụ thiết kế riêng biệt độc lập của Visual
Basic . Trong VB.NET Crystal Reports là một thành phần được sát nhập một
cách đầy đủ vào môi trường phát triển . Crystal Reports cung cấp cơ chế tạo và
thiết kế report hoàn chỉnh , bạn có thể dùng trong Visual Basic và những
chương trình Windows cùng với các ứng dụng Web.
4.1CRYSTAL REPORTS Là gì ?
Crystal Report là một ứng dụng mạnh cho phép bạn tạo các report , các danh
sách và các nhãn có sẳn từ dữ liệu trong ứng dụng cơ sở dữ liệu . Khi Crystal

Reports liên kết với cơ sở dữ liệu , nó đọc các giá trò từ các field mà bạn chọn
và đặt chúng vào report , các field có thể đứng một mình hoặc là một phần của
công thức dùng phát sinh những giá trò phức tạp hơn .
GVHD : Nguyễn Chánh Thành Trang 13
Chế độ Mô tả
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Bạn có thể dùng rất nhiều các công cụ có sẳn để điều khiển dữ liệu phù hợp
với yêu cầu của report . Các công cụ đó cho phép bạn :
+ Tạo các phép tính từ đơn giản đến phức tạp .
+ Tính toán tổng lớn và nhỏ .
+ Tính tổng cộng các mẩu tin trong một hoặc nhiều câu truy vấn.
+ Tính trung bình .
+ Kiểm tra sự hiện diện của các giá trò xác đònh.
+ Lọc các mẩu tin của cơ sở dữ liệu .
Dữ liệu có thể được cài đặt và được đònh dạng một cách chính xác ở những
nơi mà bạn cần khi thiết kế report . Bằng cách sử dụng Crystal Reports , report
của bạn có thể phức tạp hoặc là đơn giản tùy theo yêu cầu của chương trình .
Sau khi thiết kế xong report cho ứng dụng bạn có thể sử dụng nó trong ứng
dụng hoặc làm theo mẫu để tạo các report tương tự khác .
Mặc dù hầu hết các cơ sở dữ liệu đều chứa phần cho phép sinh ra các report ,
nhưng chúng thường quá khó đối với những người lập trình không chuyên
nghiệp sử dụng , và thường yêu cầu bạn phải hiểu biết về cách làm việc của
chương trình . Crystal Reports là công cụ dành cho cả hai đối tượng : người
dùng cuối (end user) và nhà phát triển chương trình .
Cùng với khái niệm thiết kế của Visual Basic , Crystal Reports có thể kết
nối với bất kỳ cơ sở dữ liệu nào . Bạn làm điều này bằng cách sử dụng một
trong các phương thức sau :
+ OLE DB (ADO) , ADO.NET , ODBC (RDO or RDS) , File cơ sở dữ liệu
(các file cục bộ , dBASE).
Chú ý : Mặc dù ODBC và OLE DB được dùng để kết nối với nhiều cơ sở dữ

liệu phức tạp như SQL Server 2000 và Oracle nhưng chúng cũng có thể dùng
cho Paradox và Microsof Access.
4.2Thêm điều khiển vào CRYSTAL REPORTS:
a. Crystal Report Viewer:
Bước đầu tiên trong việc hiển thò một Crystal Reports trong ứng dụng là thêm
Crystal Report Viewer vào form mới trong dự án . Qua việc hiển thò này , người
sử dụng có thể chọn report từ form chính . Form sẽ chứa một nút cho phép
người sử dụng đóng form khi hoàn thành xong report . Crystal Report Viewer
cung cấp khả năng sau :
+ Đi tới trang đầu tiên , lùi một trang , tới một trang , tới trang cuối cùng , tới
một trang đã được xác đònh , đóng cửa sổ hiện hành , in , làm tươi lại report ,
xuất report sang dạng khác , chuyển đổi giữa việc hiển thò nhóm , phóng to/ thu
nhỏ report , tìm kiếm .
GVHD : Nguyễn Chánh Thành Trang 14
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
b. Group Tree:
Group Tree hiển thò trong Crystal Report Viewer giúp bạn điều khiển report
dựa vào nhóm được đònh nghóa trước trong report. Bạn có thể thấy , khi nhấn
vào một nhóm giá trò riêng biệt , một phần của report hiển thò thay đổi để phản
ánh sự chọn lựa đó . Tùy chọn Keep Group Together buộc một trang gián đoạn
để chỉ một nhóm riêng biệt bắt đầu xuất hiện trong Viewer.
3. Trình duyệt INTERNET :
Điều khiển trình duyệt Internet cho phép bạn nối Internet bằng cách sử dụng
sự kết nối Internet mặc đònh trên máy PC của bạn . Nó đóng vai trò tương tự
như trình duyệt Web Internet Explorer hiện có trên máy bạn .
Các điều khiển trình duyệt không có gì lạ ngoài một khung cửa sổ được để
xem và hiển thò nội dung các trang Web . Mặc dù nó chứa các phương thức ,
thuộc tính và sự kiện cần để thực hiện tất cả các chức năng trình duyệt theo
yêu cầu , nhưng nó không đưa những thành phần giao diện người dùng vào
chung . Vì thế bạn phải có nhiệm vụ thiết kế và tạo ra giao diện cần thiết tùy

biến cho chính ứng dụng để người dùng tương tác .
Bảng dưới đây là danh sách của các thuộc tính , phương thức , sự kiện mà
điều khiển Internet Browser cung cấp .
Location Chứa URL cho trang Web được yêu cầu hoặc được hiển
thò.
LocationName Tên được xác đònh của trang Web.
Busy Trở về nếu dụng cụ Trình duyệt đang bận truy lục một
trang Web .
Sự kiện
DownloadComplete Phát sinh khi tiến trình tải trang Web kết thúc.
NavigateComplete Phát sinh khi thêm vào một chuỗi đòa chỉ URL mới.
Phương thức:
Navigate Thông báo cho trình duyệt mở trang Web theo đòa chỉ
URL đã đònh trước .
Stop Dừng hành động của Trình duyệt hiện tại .
Goback Điều hướng tới trang Web hiển thò liền trước đó .
GoForward Điều hướng tới trang Web kế tiếp đã hiển thò trước đó .
GoHome Điều hướng tới trang Web chủ được cấu hình sẳn trong
Internet Explorer .
GVHD : Nguyễn Chánh Thành Trang 15
Tên Phần mô tả
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
GoSearch Sử dụng công cụ tìm kiếm Microsoft để bắt đầu một
phiên tìm kiếm trên Internet .
ReFresh Làm tươi trang Web hiện tại đang được hiển thò.
 Viết mã trong trang HTML :
Mặc dù VB cung cấp cho bạn mọi thứ để truy cập Internet . Để hiểu đầy đủ
và sử dụng Internet thành thạo , bạn nên viết một vài ngôn ngữ khác nhau như :
ngôn ngữ đánh dấu siêu văn bản (HTML) và VBScript . HTML , ngôn ngữ đònh
dạng trang Web , được thiết kế nhằm hai mục đích :

+ Đònh dạng trang Web với bảng , hình ảnh đồ họa kết hợp với văn bản , âm
thanh .
+ Cho phép tích hợp với các chương trình phục vụ Internet như các tài liệu
ActiveX và Java (một ngôn ngữ lập trình làm các trang Web thay đổi động ).
HTML được biết đến như một ngôn ngữ kòch bản , nó không được biên dòch
như các chương trình VB . HTML đònh dạng các trang Web , chỉ ra vò trí của
ảnh đồ họa và các khung để chưa văn bản , cho phép bạn nhúng các trang web
động , như các tài liệu ActiveX và các chương trình Java.
VBScript là một ngôn ngữ kòch bản được thiết kế bởi Microsoft , là một tập
hợp con của ngôn ngữ lập trình VB . Điều đó có nghóa là bạn sẽ cảm thấy rất
quen thuộc khi làm việc với VBScript . Ngôn ngữ này rất hữu ích khi bạn cần
thêm các thuộc tính của VB vào một trang Web , như bẫy thông điệp , sử dụng
các câu lệnh điều khiển nhập liệu , tính toán bằng các vòng lặp . . .
4. Tạo ứng dụng WEB :
6.1Các thành phần của ứng dụng Web :
Những tập tin thêm vào dự án của bạn là những tập tin chuẩn trong hầu hết
các ứng dụng Web , bao gồm :
+ Các tham chiếu Namespace .
+ Web.config
+ Global.asax
+ Trang Web Form .aspx mặc đònh .
Những tập tin khác nhau được sử dụng bởi một ứng dụng Web được liệt kê
trong Solution Explorer .
Một dự án ứng dụng đầy đủ sẽ tạo ra một cấu trúc tập tin dự án cả trên máy
tính của bạn và máy chủ Web server , nơi mà bạn đang thi hành ứng dụng
Web. Trái lại , nếu bạn tạo một dự án Web rỗng , những tập tin này sẽ không
được thêm vào dự án . Tạo một dự án Web rỗng hữu dụng khi :
GVHD : Nguyễn Chánh Thành Trang 16
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
+ Bạn chỉ làm việc với những tập tin HTML , và có thể ASP , thay cho những

tập tin ASP.NET .
+ Dự án ứng dụng sẽ chỉ cần một vài tập tin thông thường .
+ Bạn đònh thêm vào những tập tin mới bằng tay .
Khi một dự án được tạo mới , VB.NET sẽ tạo những file sau trên máy server :
+ Một cấu trúc đường dẫn vật lý dưới Web Site mặc đònh (như
Inetput/wwwroot) của máy tính phục vụ Web bạn chỉ đònh .
+ Một dạng đường dẫn ảo (virtual path) quản lý bởi ứng dụng IIS .
Dự án của bạn sẽ bao gồm những file sau :
WebForm1.aspx Hai tập tin cùng nhau cấu thành một .
WebForm1.aspx.vp Web Form , tập tin aspx chứa các phần tử trực quan của
trang , tập tin asp.vb là một tập tin ẩn chứa mã kết hợp
với biểu mẩu Web.
AssemblyInfo.vb Tập tin thông tin dự án .
Web.Config Một tập tin cơ bản XML chứa dữ liệu cấu hình trên mỗi
tài nguyên URL được sử dụng trong dự án .
Global.asax Chứa các cấu hình và biến toàn cục
Global.vb của dự án .
Styles.css Hỗ trợ các tập tin những kiểu css được sử dụng bên
trong dự án .
.vsdisco Một tập tin cơ bản XML chứa các liên kết với tài
nguyên dùng khám phá thông tin cho một dòch vụ Web.
6.2Làm việc với Web Forms :
Biểu mẫu Web chia giao diện người dùng của một ứng dụng Web làm hai
phần riệng biệt :
+ Các phần tử giao diện : Gồm có một tập tin chứa các điều khiển HTML
server và điều kiển Web hoạt động phía server .
+ Logic giao diện : Gồm có mã mà bạn tạo ra tương tác với các biểu mẫu
form Mã chương trình này nằm trong một tập tin tách biệt với tập tin giao diện
người dùng và thường được gọi với tên là code-behind .
Trang Web Form chứa văn bản tónh và các điều khiển bạn muốn hiển thò . Sử

dụng Visual Studio HTML Editor với các điều khiển Web Forms , bạn có thể
thiết kế biểu mẫu giống như bất cứ ứng dụng Visual Studio nào khác .
6.3Thiết kế Web Form :
GVHD : Nguyễn Chánh Thành Trang 17
File Mô tả
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Để tạo một ứng dụng Web bạn thêm Web Form vào dự án , kéo các điều
khiển Web Form đặt vào trang , sau đó nhấp đúp vào thành phần điều khiển để
thêm mã cần cho sự kiện , tương tự như khi xây dựng mã cho ứng dụng
Window Desktop.
6.4Giới thiệu các điều khiển Web Form
Khi thiết kế một Web Form , bạn có thể sử dụng các điều khiển xử lý phía
server , những kiểu điều khiển server bao gồm :
+ HTML server controls là các phần tử HTML được đặt xử lý trên server bạn
có thể lập trình chúng .
+ Web Server controls chứa nhiều tính năng xây dựng sẳn (built-in) hơn là các
điều khiển server HTML . Chúng không chỉ bao gồm các điều khiển kiểu form
như các điều khiển nút nhấn và ô văn bản textbox , mà còn có các điều khiển
phục vụ cho mục đích đặc biệt lòch biểu (calendar).
+ Validation controls kết hợp logic chặc chẽ cho phép bạn kiểm tra người
dùng nhập thông tin vào .
+ User controls là những điều khiển tùy chỉnh bạn có thể tạo để sử dụng trên
một Web Form .
5. WEB SERVICE :
Web Service là một module chương trình cung cấp chức năng của ứng dụng
cho phép triệu gọi và truy cập từ xa thông qua Internet . Web Service sử dụng
các chuẩn của Internet như XML và HTTP . Việc sử dụng Web Service phụ
thuộc nhiều vào sự chấp nhận của XML , một ngôn ngữ mô tả dữ liệu mới
dùng để truyền tải dữ liệu thông qua Web .
7.1Ứng dụng Web Service :

Web Service được thiết kế nhằm cung cấp một cơ chế cho phép các loại
chương trình giao tiếp qua Internet (sử dụng các giao thức Internet như HTTP
GET , HTP POST và SOAP – Simple Object Access Protocol).
Web Service có thể được sử dụng trên Internet ở các dạng :
+ Bảng giá chứng khoán , dự báo thời tiết , bán hàng trên mạng , thông tin về
nhân viên , thông tin về các sản phẩm bán , thông báo tỷ giá hối đoái .
7.2Tìm hiểu SOAP :
SOAP (Simple Object Access Protocol – Giao thức truy cập đối tượng giản
đơn ) là một tiêu chuẩn truyền thông cơ bản dựa trên XML sử dụng giao thức
HTTP. Do giao thức này được xây dựng trên nền tảng XML nên nó có thể
chuyển dữ liệu và đi qua hầu hết các bức tường lửa firewall.
GVHD : Nguyễn Chánh Thành Trang 18
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Giai đoạn đầu tiên của việc liên lạc thông qua dòch vụ Web được gọi là giai
đoạn tìm kiếm (discovery phase) .Trong suốt giai đoạn này , Web Service
chuyển thông tin về những thành phần có sẳn sử dụng một giao thức con của
SOAP được gọi là Service Contract Language (SCI) . Sau khi giai đoạn này
được hoàn thành , những lời gọi giao diện thành phần thông thường được thực
hiện . Những lời gọi này thực hiện tương tự như lời gọi đến thành phần đối
tượng trên máy cục bộ , ngoại trừ thông tin được chuyển qua Web bằng XML .
Giai đoạn cuối cùng của lời gọi một Web Service là Web Service sẽ trả về một
tài liệu XML chứa tất cả các thông tin kết . Chương trình gọi sẽ dòch tài liệu
XML và trích ra những thông tin cần thiết .
6. Xây dựng HELP ONLINE :
8.1Thiết kế một hệ thống HELP SYSTEM :
Một Help System thường là những file trợ giúp có thể hiển thò bởi chính nó
hoặc trong một chương trình khác . Những file trợ giúp này là những file văn
bản chứa chứa thông tin hướng dẫn sử dụng chương trình . Ngày nay , Help
System có thể phức tạp hơn bằng cách cho phép thêm vào hình ảnh , âm thanh
và liên kết chúng với những Web site thay vì chỉ thuần văn bản như trước đây .

Một Help System bao gồm nhiều file trợ giúp khác nhau được tạo bởi những
file text hoặc những file phân theo chủ đề (topic) khác nhau . Một số file này
chứa văn bản , hình ảnh đồ họa , những file khác sẽ chứa những thông tin
hướng dẫn cách hiển thò Help System và Hepl System làm việc như thế nào .
Để tạo một Hepl System của chính bạn , bạn cần phải theo những bước sau :
+ Tạo những file chủ đề trợ giúp dưới dạng HTML bằng cách sử dụng
Microsoft Word hoặc bất kỳ chương trình soạn thảo nào bạn có .
+ Tạo một dự án Help System .
+ Tạo file Content để hiển thò những mục lục trợ giúp .
+ Nối Help System hoàn chỉnh vào ứng dụng Visual basic .
Các file trợ giúp có thể đơn giản hoặc phức tạp tùy theo bạn muốn . Để tạo
những file topic bạn cần thực hiện những bước sau :
+ Lưu các file dưới dạng HTML.
+ Thêm vào nối kết HTML .
+ Thêm vào hình ảnh âm thanh trong tài liệu .
8.2Đònh nghóa của các FILE trợ giúp :
Một file topic chứa những dòng văn bản và hình ảnh tạo nên file trợ giúp . Để
tạo hầu hết những file topic bạn cần theo các bước sau :
+ Soạn thảo nội dung cho những chủ đề .
+ Thêm vào hình ảnh .
GVHD : Nguyễn Chánh Thành Trang 19
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
+ Đònh dạng ký tự .
Khi soạn thảo nội dung cho một file topic (file chủ đề ) , liên kết hypertext
được thêm vào để xác đònh kết nối đến chủ đề khác .
 Tìm hiểu cơ cấu .NET :
7. Tham khảo sơ lược về .NET FRAMEWORK :
Microsoft .NET sẽ có trên Internet để trở thành nền tảng của một hệ điều
hành mới . Nó không ràng buộc chúng ta về phần cứng bởi người dùng có khả
năng lấy dữ liệu từ Internet . .NET quan trọng đối với người dùng vì nó tạo ra

các thông tin được truy cập qua các thiết bò . Nó cũng thay đổi cách mà các kỹ
thuật viên phát triển ứng dụng bằng cách cho phép sử dụng các dòch vụ Web .
Cơ cấu này cung cấp một nền tảng mà dựa trên đó bạn xây dựng và chạy ứng
dụng . Nền tảng này cho phép bạn tạo ứng dụng dễ dàng hơn . Cơ cấu này bao
gồm một nhóm các kỹ thuật thể hiện cơ bản của .NET . Hình dưới đây chỉ rõ
các thành phần chính của bộ khung .NET Framework.
Thư viện Runtime cho chương trình có khả năng đáp ứng việc quản lý các
chương trình và các dòch vụ cung cấp trong quá trình thực thi . Nó tương tự như
Visual Basic 6 DLL trong Runtime . Ngôn ngữ lập trình .NET , như Visual
Basic .NET , sử dụng các dòch vụ và tính năng .NET thông qua một tập các lớp
được hợp nhất với nhau . Cơ cấu .NET cũng cho phép bạn phát triển ứng dụng
Visual Basic .NETmà không lo lắng gì về sự phụ thuộc trong ứng dụng của bạn
như bạn đã làm đối với Visual Basic 6 .

GVHD : Nguyễn Chánh Thành Trang 20
.NET Framework
Web Services
Web Windows Forms
Data and XML classes
( ADO.NET , SQL , XML , ect )
Framework Base Classes
( IO , string , security , threading , reffection , ect )
Common Language Runtime
( Debug , exception , type checking , JIT compler )
Windos Platform ( Desktop hoặc thiết bò cầm tay handheld )
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
8. Tìm hiểu COMMON LANGUAGE RUNTIME (CLR) :
.NET Framework cung cấp một môi trường thực thi chương trình được gọi là
Common Language Runtime ( CLR ), đây là môi trường quản lý sự thực hiện
của chương trình nguồn và cung cấp các dòch vụ đònh dạng quá trình phát triển

mã cho ứng dụng .
CLR được tạo ra hoàn toàn mới , nghóa là Microsoft không bắt đầu bằng cách
sử dụng VB Runtime hoặc Visual C++ Runtime . Microsoft xây dựng môi
trường cho phép một ứng dụng được viết tách ra thành những module , mỗi
module có thể được viết bằng một ngôn ngữ khác nhau . Ngôn ngữ lập trình
được sử dụng để tạo ứng dụng .NET biên dòch ra file thực thi .NET Portable
Executable (PE). Các file PE có thể là file .exe hoặc file .dll mà bạn đã quen
thuộc trong các phiên bản trước đây của VB . CLR bao gồm các chức năng sau
đây :
+ Tải hay nạp các lớp được yêu cầu .
+ Thực hiện biên dòch tức thời ( Just – In – Time hay JIT) các lớp đối tượng
theo yêu cầu .
+ Thực hiện bảo mật .
+ Thực hiện các chức năng động khác trong khi chạy chương trình .
Sau đây là một số thuận lợi của CLR là :
+ Tích hợp đa ngôn ngữ .
+ Tăng việc bảo mật .
+ Quản lý phiên bản của chương trình .
+ Hổ trợ đóng gói và cài đặt .
CLR điều khiển quản lý các đối tượng tự động , quản lý các tham chiếu đối
tượng , bao gồm cả việc giải phóng chúng khi đối tượng không được sử dụng
đến nữa . CLR cung cấp cơ chế quản lý bộ nhớ tự động , loại trừ lỗi rò rỉ nhỏ
giống như những lỗi lập trình thông thường .
CLR tạo sự dễ dàng khi thiết kế các thành phần và các ứng dụng mà những
đối tượng đa ngôn ngữ . Các đối tượng được viết bằng những ngôn ngữ khác
nhau có thể truyền cho nhau dễ dàng tựa như chúng được viết ra từ cùng một
ngôn ngữ . Ví dụ , bạn có thể đònh nghóa một lớp bằng ngôn ngữ C++ , sau đó
sử dụng lớp đối tượng này ngay trong ngôn ngữ Visual Basic .
9. Siêu dữ kiện METADATA :
Metadata (siêu dữ kiện) là thông tin mã máy có thể đọc được (machine-

readable) về tài nguyên , hoặc có thể xem Metadata là dữ liệu dùng “mô tả dữ
liệu “.
GVHD : Nguyễn Chánh Thành Trang 21
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Metadata bao gồm các mô tả của một bộ phận hoặc các module , các lớp ,
các giao diện , các thuộc tính , các trường (field) , sự kiện , phương thức chung ,
v.v… Thông tin đầy đủ được cung cấp bởi metadata hỗ trợ cho chương trình khi
thực thi , hoặc cho công cụ và các chương trình khác tìm ra hầu hết những gì
cần thiết để tích hợp các đối tượng thành phần với nhau . Sau đây là các mục
đích sử dụng của metadata trong .NET
+ CLR sử dụng metadata cho việc kiểm tra , bảo mật , cách trình bày của bộ
nhớ , và thông tin thực thi của chương trình .
+ Class Loader là một thành phần của CLR sử dụng metadata để tìm và tải
các lớp trong .NET.
+ Trình biên dòch Just-In-Time (JIT) sử dụng metadata để biên dòch đoạn mã
của Microsoft Intermediate Language (IL) .NET JIT biên dòch IL thành đoạn
mã lệnh được lưu trữ bên trong trước khi thực thi .
+ Các công cụ khác nhau bao gồm (Trong đó có cả môi trường phát triển
.NET Framework) sử dụng metadata để truyền thông tin mô tả về đối tượng .
10. Quá trình thực thi của CLR :
CLR cung cấp cách thức quản lý và thực thi ứng dụng . Hình ở trên hiển thò
các thành phần và yêu cầu của CLR khi chương trình được .NET tải vào biên
dòch và thực thi . Sau đây là các thành phần chính của CLR :
4.1Class Loader ( Bộ nạp lớn ) :
Mỗi khi một chương trình ứng dụng trên Windows được thực thi , bộ tải
chương trình của hệ điều hành (OS Loader) được gọi để nạp chương trình vào
bộ nhớ trước khi chương trình có thể thực hiện từng dòng lệnh nhò phân . Nếu
OS Loader nhận biết chương trình đang được nạp là một ứng dụng .NET , nó sẽ
gởi điều khiển đến CLR để tìm “ điểm vào “ ( thường là hàm Main( ) ) của
chương trình và gọi hàm này để nhảy đến điểm bắt đầu của ứng dụng . Trước

khi ứng dụng có thể thực sự được thực thi, bộ nạp lớp Class Loader phải tìm
thấy được lớp có chứa hàm Main( ) và tải lớp này lên .
Khi chương trình Main( ) gọi bất kỳ một đối tượng nào của một lớp chỉ đònh
(như textbox trong VB) , Class Loader nhận được quyền điều khiển để thực
hiện công việc của mình khi có một kiểu được lần đầu tiên tham chiếu đến .
Sau đó , Class Loader sẽ tải các lớp .NET vào bộ nhớ và chuẩn bò thực thi . Khi
thực hiện tác vụ này, Class Loader đònh vò và chỉ tải các lớp chủ yếu cho ứng
dụng .NET , sau đó sẽ giữ lại các thông tin của lớp để nó không phải nạp lại
trong suốt khoảng thời gian ứng dụng thực thi . Cuối cùng , Class Loader sử
dụng các thông tin metadata thích hợp để khởi tạo các biến tónh cho ứng dụng .
4.2Verifier ( Bộ chứng thực ) :
GVHD : Nguyễn Chánh Thành Trang 22
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
Sau khi Class Loader nạp vào một lớp và trước khi một phần của đoạn mã
có thể thực thi , Verifier bắt đầu kiểm tra đoạn mã lệnh đó để đảm bảo :
+ Thông tin mô tả của metadata là hợp lệ .
+ Các đoạn mã trung gian IL là an toàn về kiểu .
Cả hai điều kiện trên trên cần phải thỏa mãn trước khi trình biên dòch JIT tiếp
tục quá trình xử lý mã .
4.3Trình biên dòch JIT (JIT compiler) :
Trình biên dòch JIT (Just-In-Time) sẽ chuyển đổi đoạn mã lệnh trung gian
sang đoạn mã lệnh máy (native) để nó có thể thực thi trên bất kỳ hệ điều hành
nào . Điểm thuận lợi mà các trình biên dòch JIT cung cấp là chúng có thể biên
dòch động đoạn mã lệnh trong khi chạy chương trình . Nếu bạn lấy một tập tin
PE .NET tương tự từ một máy tính với một CPU sang một máy tính với hai CPU
hoặc nhiều hơn , JIT có thể biên dòch đoạn mã lệnh tận dụng tính năng của các
CPU phụ .
4.4Các hỗ trợ khác :
Bây giờ bạn đã hiểu mỗi thành phần trong CLR sử dụng metadata và đoạn mã
lệnh trung gian phối hợp thực thi ứng dụng .NET . Rất nhiều tác vụ khác được

thực hiện trong hoặc sau khi mã của ứng dụng .NET thực thi xong . Các tác vụ
này được thực hiện bởi một trong những thành phần sau đây :
+ Code Manager điều khiển việc thực thi đoạn mã lệnh .
+ CLR dò tìm và phát hiện xem khi nào các đối tượng trong ứng dụng của bạn
không còn được tham chiếu đến nữa và thực hiện việc gom rác để lấy lại vùng
bộ nhớ không sử dụng .
+ Điều khiển xử lý các lỗi ngoại lệ bên trong CLR .
+ CLR thực hiện các thao tác kiểm tra bảo mật khác nhau trong thời điểm
chạy chương trình để đảm bảo rằng đoạn mã lệnh an toàn khi thực thi và không
làm gián đoạn bất kỳ một yêu cầu nào .
+ CLR cung cấp khả năng gỡ rối (debug)cho chương trình ở dạng mã IL .
+ CLR cung cấp khả năng tương tác cho phép thực thi các đoạn mã lệnh CLR
và đoạn mã lệnh COM chung với nhau trong ứng dụng .
11. Lập trình trong môi trường .NET :
.NET Framework cung cấp một mô hình lập trình chung (Common
Programming Model) là mô hình bao gồm ngôn ngữ lập trình và rất nhiều các
tính năng . Nếu bạn đã biết về các ngôn ngữ khác như C++ thì cơ cấu này sẽ
giúp bạn thấy được khả năng tham chiếu mã lệnh của bạn đến những ngôn ngữ
khác . Điều này hoàn toàn có thể thực hiện được dựa vào không gian tên
(namespace) , phương thức và các lớp tương thích với tất cả các ngôn ngữ
GVHD : Nguyễn Chánh Thành Trang 23
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
được .NET hỗ trợ . Nghóa là khi sử dụng VB.NET bạn có thể viết một chuổi
hiển thò sử dụng phương thức WriteLine( ) của đối tượng . Mỗi ngôn ngữ .NET
sẽ sử dụng phương thức giống nhau từ đối tượng giống nhau .
 Đònh nghóa các namespace chính :
Namespace hay không gian tên được dùng để nhận dạng một nhóm các đối
tượng , chẳng hạn như điều khiển Listbox , Textbox , những điều khiển là các
thành phần của hệ thống . Windows Forms namespace , Microsoft tạo
namespace để tránh sự trùng tên giữa các Assembly khác nhau hoặc các thư

viện class khác nhau . Namespace có thể chứa các namespace khác . Khi đó sẽ
tạo ra cấu trúc thứ bậc , cho phép sắp xếp các đối tượng liên quan với mức chi
tiết cao hơn . Bảng sau là một danh sách các namespace và các lớp quan trọng
trong .NET Framework .
System Bao gồm các lớp cơ bản mà các chương trình đều sử
dụng , như Object , Char , String .
System.IO Cung cấp các lớp cho phép đồng thời và không đồng
thời viết và đọc trên dòng dữ liệu và tập tin .
System.Drawing Cung cấp cơ chế truy cập đến lớp đồ họa cơ bản GDI
System.Collection Chứa các lớp đònh nghóa các tập hợp đối tượng khác
nhau như danh sách , hàng đợi và mảng .
System.Threading Cung cấp các lớp và các giao diện có khả năng lập
trình đa tuyến hay đa tiểu trình .
System.Reflection Chứa các tập hợp của các lớp và các giao diện cung
cấp chủ yếu về điều kiểu , phương thức và các
trường
System.Security Chứa các tập hợp của các lớp và namspace cung cấp
sự hỗ trợ bảo mật đối với một ứng dụng , như
Permissions and Policy .
System.Net Cung cấp các lớp và các namspacevề lập trình
mạng như Connection and IP Address .
System.Data Chứa các lớp và namspace cấu tạo nên kiến trúc của
ADO.NET.
System.Data.OleDb Cung cấp các lớp về hệ quản trò CSDL , cho phép
truy cập đến nguồn dữ liệu OLE DB .
GVHD : Nguyễn Chánh Thành Trang 24
Namespace Diễn giải
Luận Văn Tốt Nghiệp : Xây Dựng Chương Trình Thi Trắc Nghiệm Bằng VB.NET
System.Data.SqlClient Cung cấp các lớp về hệ quản trò CSDL SQL , cho
phép truy cập đến nguồn dữ liệu của SQL Server .

System.Web.Services Cung cấp các lớp hỗ trợ sự phát triển của dòch vụ
Web XML .
System.Web.UI Cung cấp các lớp và các namspace hỗ trợ sự phát
triển trong môi trường Web.
System.Windows.Forms Cung cấp các lớp và namespace hỗ trợ sự phát triển
trong môi trường Windows .
12. Làm việc với các công cụ .NET :
Khi cài đặt các thành phần của Visual Studio .NET , .NET Framework SDK
sẽ cài đặt các nhóm công cụ sau đây : Công cụ về cấu hình và phát triển ,
công cụ gỡ rối (bebug) , công cụ bảo mật, các công cụ hỗ trợ khác .
Những công cụ này được thiết kế nhằm tạo sự dễ dàng hơn cho bạn khi tạo ,
hiển thò và quản lý các ứng dụng và các thành phần của .NET Framework .
Chúng được liệt kê và trình bày trong tài liệu của .NET Framework SDK .
 KIỂU DỮ LIỆU :
3. Đối tượng (OBJECT) và tập hợp (COLLECTION) :
1.1Object :
Trong các phiên bản VB cũ , kiểu biến Variant được dùng cho kiểu dữ liệu
động hoặc chưa biết . VB.NET , không còn sử dụng kiểu dữ liệu Variant , .NET
Framework cung cấp kiểu dữ liệu tổng quát Object , từ đó có thể rút ra mọi dữ
liệu còn lại . Cửa sổ Form , các điều khiển và đối tượng cơ sở dữ liệu tất cả
đều được xem như là những Object . Mặc khác bất cứ chỗ nào mà bạn nhìn
thấy trong VB đều có thể xem đó chính là đối tượng .
Một đối tượng giống một túi rổng , mọi thứ nó cần để thi hành công việc
được chứa trong đối tượng . Tất cả các phương thức , những sự kiện và những
thuộc tính của đối tượng được đònh nghóa hoặc được viết trong mã chính nó .
Tất cả những đối tượng chia sẽ những đặc tính giống nhau được mô tả trong
một lớp đối tượng gọi là class .
Một đối tượng thật sự là một thể hiện (còn gọi là instance) của các đònh
nghóa lớp đối tượng . Mỗi lần bạn thêm vào một điều khiển mới vào form , bạn
thật sự đang tạo một instance mới xuất phát từ lớp đối tượng đó .

1.2Collection :
Collection là một đối tượng đặc biệt giúp bạn lưu trữ và truy xuất tất cả
những đối tượng khác trong ứng dụng . Collection là một cách để nhóm một tập
hợp những mục có liên hệ với nhau . Bằng cách dùng lớp COLLECTION chung
GVHD : Nguyễn Chánh Thành Trang 25

×