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

Đồ án tốt nghiệp xây dựng chương trình thi trắc nghiệm bằng VB NET

99 920 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

Định dạng
Số trang 99
Dung lượng 333 KB

Nội dung

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 .

Trang 1

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áttriể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ươngthí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êucầ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ả khibạ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

Trang 2

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 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 ứngdụ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

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 VisualBasic.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ả

Trang 3

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ácthà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.1 Nhữ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 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.2 Giao 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

Trang 4

ứ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.3 Visual 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.4 Thiế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 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.5 Giao 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

Trang 5

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.6 Chuyể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

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

Bảng 1

Trang 6

VB 6.0 > < VB NET

Tính kế thừa đầy đủ Thực hiện phương pháp kế thừa giả Thựchiệ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#

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

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ợ

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 đổ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

Trang 7

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 , … )

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

Trang 8

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ặckhô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 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 để xemnhững gì hữu dụng mà bạn cần trong quá trình nâng cấp dự án

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 khichạ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.1 Tì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 :

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ụnghơ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

Trang 9

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úclệ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

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

Thường xuất hiện rơi vào một trong những vấn đề sau :

+ 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

+ 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

Trang 10

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ồmnhững lỗi có quan hệ đến kiểu dữ liệu hoặc kích thước file : sự hạnchế 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 đó

+ 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

Trang 11

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âulệ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

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 :

Trang 12

Đố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 :

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

LastDLLError Đoạn mã lỗi của lời gọi thực thi cuối cùng đến DLL

Đố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

Trang 13

3.2 Tiế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[Catch1 [exception [As type]] [when expression]

CatchStatements1[Exit Try]

[Catch2 [exception [As type]] [when expression]

CatchStatements2

[Exit Try]

[Catchn [exception [As type]] [when expression]

CatchStatementsn[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

CatchStatementsKhối của đoạn mã sẽ xử lý lỗi đã xảy ra trong khối Try

Finally

tiến trình xử lý lỗi khác được làm

Trang 14

+ 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 đế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 thicủ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.3 Tì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

Trang 15

+ 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.4 Môi trường Debugging :

Để 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ế độ

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ó

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

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ừ ứngdụ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

Trang 16

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ùngvới các ứng dụng Web.

4.1 CRYSTAL 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

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

Trang 17

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ằngcá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.2 Thêm điều khiển vào CRYSTAL REPORTS:

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ốicù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

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

Trang 18

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

Stop Dừng hành động của Trình duyệt hiện tại

Trang 19

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ănbản , âm thanh

+ Cho phép tích hợp với các chương trình phục vụ Internet như cáctà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

+ 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 đangthi hành ứng dụng Web Trái lại , nếu bạn tạo một dự án Web

Trang 20

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 :

+ 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

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

trên mỗi tài nguyên URL được sử dụng trong dự án

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

nguyên dùng khám phá thông tin cho một dịch vụ Web

6.2 Là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ểnHTML server và điều kiển Web hoạt động phía server

Trang 21

+ 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ốnhiể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.3 Thiết kế Web Form :

Để 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.4 Giớ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ênserver 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 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)

(built-+ 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

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ấpnhậ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

Trang 22

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.2 Tì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

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ữnglờ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

8.1 Thiế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

Trang 23

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ữngfile 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ữngbướ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

+ 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

+ Đị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

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

Trang 24

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ácthiết bị Nó cũng thay đổi cách mà các kỹ thuật viên phát triển ứngdụ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

Trang 25

2 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

+ 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

Trang 26

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

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 “

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

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.1 Class 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

Trang 27

đế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.2 Verifier ( Bộ chứng thực ) :

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.3 Trì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.4 Cá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

Trang 28

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

.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ậptrì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 thamchiế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ữ

đượ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

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 Formsnamespace , 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

Trang 29

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

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

bản GDI

tượng khác nhau như danh sách , hàng đợi và mảng

năng lập trình đa tuyến hay đa tiểu trình

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

mạng như Connection and IP Address

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

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

Trang 30

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

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

III KIỂU DỮ LIỆU :

1.1 Object :

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.2 Collection :

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

Trang 31

Bằng cách dùng lớp COLLECTION chung bạn có thể tạo nhiều thểhiện instance khác nhau của đối tượng Collection khi cần trong ứng dụng

Lợi ích của việc dùng một tập hợp Collection so với mảng là Collection cho phép thêm những phần tử mới mà không yêu cầu bạn viết mã định nghĩa lại kích thước như vơí mảng Một

Collection cũng có thể chứa bất kỳ sự kết hợp nào của các đối tượng ; mặc dù nếu bạn sử dụng Collection thì thường chỉ để chứa những đối tượng có cùng kiểu Đối tượng Collection có ba phươngthức và một thuộc tính mà bạn có thể dùng để thêm vào , loại bỏ đối tượng khỏi tập hoặc truy cập vào những đối tượng chứa trong tập hợp Collection :

+ Phương thức Add dùng để thêm các mục (item) vào Collection + Phương thức Remove xóa các item khỏi Collection bằng cách

Hầu hết thông tin đối tượng App cung cấp liên quan đến phiên bản đã được thay thế bởi thuộc tính Assembly Thông tin về phiênbản được đặt trong hộp thoại Project Properties Một trong những đặc điểm nổi bật của App là khả năng định nghĩa một chuỗi tiêu đềbất cứ nơi nào trong ứng dụng

Trong phiên bản cũ của VB , đối tượng Screen cung cấp những thông tin toàn cục về ứng dụng và trong một vài trường hợp nó chophép bạn thiết lập những thuộc tính toàn cục tác động lên màn hình Trong VB.NET không có đối tượng tương đương ; tuy nhiên hầu hết các chức năng của Screen có thể được thay thế bằng cách sử dụng các đặc điểm trong NET Framework Bảng sau là danh sách

Trang 32

các thuộc tính của đối tượng Screen trong phiên bảng VB cũ được thay thế bằng những đối tượng mới trong VB.NET

Clipboard cung cấp cho người sử dụng chức năng sao chép và dán chuẩn của Windows Khi đang tạo thủ tục copy và paste , bạnphải nhận ra kiểu dữ liệu mà bạn đang copy , bởi vì Windows Clipboard sử dụng văn bản và hình ảnh theo cách khác nhau

Một Array là một danh sách các biến được truy xuất bằng cách

sử dụng tên biến giống nhau và một giá trị chỉ rõ gọi là chỉ số Vớimảng Array , bạn có thể lưu trữ nhiều biến cố của dữ liệu Mã ứngdụng có thể truy cập các phần tử mảng như một biến thông

thường Sự khác nhau là giá trị chỉ số của mảng được dùng để xác định thành phần Array cần truy cập Một hạn chế của mảng là tất

cả các phần tử phải chứa dữ liệu có cùng kiểu Hạn chế khác là bạn phải định nghĩa mảng với số phần tử cố định trước khi bạn có thể truy cập nó

.NET Framework thực thi nhiều kiểu dữ liệu số VB.NET liên kết các kiểu dữ liệu NET theo các từ khóa , tương tự như các phiên bản cũ Sự tương đương giữa VB.NET và các phiên bản VB

cũ giúp bạn nhanh chóng nắm bắt các tính năng mới trong

VB.NET Bảng dưới đây liệt kê các kiểu số khả dụng và các

class NET liên quan

Trang 33

Byte System.Byte 1byte

Nếu đã sử dụng các phiên bản VB cũ , bạn sẽ thấy các thay đổi

về kiểu dữ liệu số trong VB.NET Các thay đổi này nhằm bảo đảmtính tương thích với các ngôn ngữ NET khác và dựa trên tiêu chuẩn thực thi trong CLR Chẳng hạn như kiểu Decimal là 16 byte , thay vì 14 byte trong VB cũ ; Double và Single không thay đổi

Các kiểu Integer hoàn toàn thay đổi , Integer thay cho Long trong

VB cũ , hiện tại là 4 byte , còn Long trong VB.NET là 8 byte , hỗ trợ các con số nguyên 64 bit Kiểu Short thay cho Integer trong

VB cũ , 2 byte , còn kiểu Byte không thay đổi

Kiểu giá trị String thực thi theo class , thay vì theo kết cấu như các kiểu dữ liệu số String có kích cỡ thay đổi tùy theo nền thực thi Sự khác biệt chủ yếu về String giữa các phiên bảng VB cũ và VB.NET là String không thể khai báo với chiều dài xác định Khi giá trị được gán cho String , chiều dài giá trị sẽ xác định chiều dài String

Do các chuỗi được NET Framework thực thi , chúng có các đặc tính nội khác với các phiên bản VB cũ Instance của String khôngthể chỉnh sửa sau khi instance đó được tạo ra ; khi bạn chỉnh sửa giá trị , sẽ xuất hiện instance mới để biểu thị sự chỉnh sửa đó

Trong VB 6.0 , thảo chương viên hay dùng kiểu dữ liệu ngày (date) Ở cấp độ bên dưới , VB 6.0 chuyển đổi và lưu ngày theo kiểu Double VB.NET thì khác , nó dùng kiểu dữ liệu Date để lưu

dữ liệu ngày

Trang 34

Trình Upgrade Winzard có khó khăn khi xác định nội dung của một biến Double Xét đoạn mã sau :

Dim dpDate as Double

Upgrade Winzard không thể xác định field CancellationDate thực

sự là kiểu dữ liệu Date và đổi mã thích hợp Thay vì vậy , trình Winzard ghi nhận các trường hợp dùng kiểu Double và khuyến cáonếu bạn dùng để lưu dữ liệu ngày thì phải đổi kiểu dữ liệu thành Date

Kiểu dữ liệu Date trong VB.NET sử dụng kết cấu DateTime , có thể biểu thị các giá trị ngày tháng và thời gian từ 12:00:00AM , 1/1/0001 đến 11:59:59PM , 31/12/9999 Các giá trị chính xác đến

ns Kết cấu DateTime có thể dễ dàng xử lý các số này do số được lưu theo giá trị 64bit

Các tính toán với biến Date được thực hiện trực tiếp , chúng đượccoi là giá trị Integer Do đó , phép trừ hai biến Date sẽ là hiệu thời gian (tính theo ns) giữa hai ngày liên tiếp Do các giá trị thời gian tính theo ns không sử dụng được nếu không chuyển đổi , kết cấu DateTime thực thi các phương pháp khác nhau để cộng và trừ giá trị Date Kết quả được trả về theo kết cấu TimeSpan , có các

phương pháp để diễn dịch kết quả theo dạng thông dụng

Trang 35

Trong VB.NET , các structure (kết cấu) tương tự các class , do chúng liên hệ một hoặc nhiều thành viên với các thành viên khác ,

có thể chứa dữ liệu thành viên , tính chất , phương pháp , và các biến cố Các structure hoạt động khác với class , các khác biệt chính gồm :

+ Các kết cấu có tính thừa kế

+ Các kết cấu có thể được rút ra từ System.ValueType

+ Biến của biến kết cấu chứa bản sao dữ liệu một cách trực tiếp + Các kết cấu thường không kết thúc CLR không gọi phương pháp Finally cho kết cấu

+ Các kết cấu đòi hỏi tham số khi chúng có các constructor riêng Tuy nhiên , mọi kết cấu đều có constructor New( ) kiểu public không có các tham số , khởi động các thành viên theo giá trị mặc định

+ Các khai báo về thành viên dữ liệu của kết cấu không có phần khởi động

+ Sự truy cập mặc định đối với các thành viên được khai báo theo câu lệnh Dim là public

+ Các thành viên không được phép khai báo theo Protected trong kết cấu

+ Sự kiểm tra về tính bằng nhau phải thực hiện theo sự so sánh thành viên – thành viên

+ Các kết cấu không được phép có phương pháp trừu tượng Structure rất hữu dụng trong định nghĩa các kiểu giá trị mới bao gói nhóm các biến Các ưu điểm khi sử dụng Structure thay vì class theo kiểu giá trị là structure không cố định và từng instance của structure đều có bản sao dữ liệu riêng

Nếu bạn thiết kế kiểu dữ liệu mới , biểu thị phần tử dữ liệu mới

và không cần mở rộng thông qua inheritance , bạn nên dùng

structure

Enumeration và các kiểu thừa kế từ System.Enum biểu thị tập hợp các giá trị Kiểu gốc của Enumeration là giá trị nguyên và có thể chuyên biệt theo Byte , Short , Integer hoặc Long Theo mặc định , Enumeration được định nghĩa theo Integer

Trang 36

Bạn khai báo Enumeration bằng cách dùng từ khóa Enum , tiếp theo là tên và kiểu Nếu không chuyên biệt kiểu , Enumeration sẽ

có kiểu Integer theo mặc định

Sử dụng Enumeration hoàn toàn tương tự các kiểu biến khác Mọi giá trị Enumeration đều phải đứng sau Enumeration tương ứng Bạn có thể định nghĩa Enumeration như một phần của module , class hoặc structure Nếu Enum là một phần của class hoặc

structure , bạn phải đặt sau class hoặc structure đó Bạn có thể hiển thị giá trị của enum theo tên hoặc theo giá trị nguyên

IV THỦ TỤC , HÀM VÀ BIỂU THỨC LOGIC :

1.1 Định nghĩa biến :

Những biến khai báo nói chung được dùng để lưu trữ dữ liệu tạm thời khi thực hiện quá trình tính toán trong ứng dụng Ngoài biến , bạn cũng có thể khai báo dữ liệu cho ứng dụng của bạn như một hằng số Hằng số là các giá trị không thay đổi trong suốt ứng dụng

1.2 Phạm vi biến :

Phạm vi của biến được xác định đoạn mã nào của ứng dụng có thể truy cập biến đó Khi bạn khai báo một biến trong thủ tục , chỉ những đoạn mã trong thủ tục đó mới có thể truy cập hoặc sửa dữ liệu được lưu trữ trong biến Biến được xem là phạm vi cục bộ trong thủ tục đó

+ Private Biến chỉ có thể truy cập đối với đoạn mã trong thủ tục khi nó được khai báo (nghĩa là , bất cứ biến nào định nghĩa bằng Private trong một lớp thì có thể truy cập tới tất cả các hàm hoặc thủtục con trong lớp đó )

+ Public Biến được sử dụng bởi bất kỳ thủ tục nào trong

module mà nó được khai báo ( nghĩa là bất cứ biến nào định nghĩa bằng Public thì sẽ được sử dụng và có thể truy cập bên ngoài của lớp )

Bạn nên dùng biến Public trong các tình huống sau :

+ Khi bạn phải truy cập thông tin từ bất cứ nơi nào trong ứng dụng (như thông tin về màu , về Font chữ )

Trang 37

+ Khi bạn tạo những hằng số được dùng trong ứng dụng (những hằng không khai báo là Private ).

+ Cho phép truy cập tới một không gian làm việc dữ liệu mà không phải mở nhiều kết nối đến cơ sở dữ liệu

+ Khi bạn phải truy cập các hàm Window API trong ứng dụng

Khi chuyển dữ liệu giữa hai thủ tục , thủ tục thứ nhất (thủ tục gọi ) sẽ chuyển dữ liệu tới thủ tục thứ hai (thủ tục nhận) Nếu thủ tục nhận sửa đổi hoặc tính toán giá trị mà thủ tục gọi cần thì thủ tục nhận có thể trả về giá trị cho thủ tục gọi

2.1 Thủ tục con và hàm (subroutine) :

Bạn đã biết cách truyền một biến , bước kế tiếp là tìm hiểu các kiểu thủ tục để truyền dữ liệu Bạn có thể sử dụng hai kiểu thủ tục : thủ tục con và hàm

Sự khác nhau gữa chúng là cách dữ liệu được trả về thủ tục gọi

và thủ tục được truy cập Bạn sẽ viết mã hầu hết cho những ứng dụng của bạn bằng việc sử dụng thủ tục Khi bạn thiết kế ứng dụng , bạn sẽ thực thi nhiều đoạn mã từ những vùng khác nhau củaứng dụng Bằng cách phân chia đoạn mã này ra , bạn sẽ đọc mã nguồn và hiệu chỉnh đoạn mã của nó một cách dễ dàng hơn

a Thủ tục con :

Một trong những thành phần thông thường nhất của một ứng dụng VB là thủ tục con , một thủ tục thực hiện một công việc xác định và trả về điều khiển về cho thủ tục đã gọi nó Việc gọi một thủ tục con sẽ được chuyển điều khiển thi hành từ đoạn mã hiện hành tới thủ tục con

Khi tạo một thủ tục con , bạn nên nhớ những điều sau :

+ Cố gắng nhớ những công việc có liên quan vào thủ tục con + Nếu có những công việc lặp đi lặp lại hoặc là sẽ được gọi từ nhiều nơi khác nhau trong ứng dụng , thì nó nên được tạo như một thủ tục con

Nếu thủ tục con phải kết thúc trước khi nó đi tới biểu thức End Sub , bạn sẽ phải thêm biểu thức Exit Sub vào đoạn mã

Khi bạn tạo một thủ tục , thủ tục con hoặc hàm bạn phải quyết định cách dữ liệu sẽ được xử lý Nhớ rằng khai báo biến bằng

Trang 38

Public sẽ thực hiện dễ dàng hơn khi bạn viết những đoạn mã vào lúc khởi đầu , nhưng khi bạn phải kiểm tra và phình to chương trình thì biến Public nên hạn chế sử dụng và thay bằng biến cục

bộ

b Hàm :

Sự khác nhau giữa một hàm và một thủ tục con là có thể trả về một giá trị cho nơi gọi Cả hai , hàm và thủ tục con đều có thể có những biến được truyền vào theo kiểu đối số Cú pháp của hàm khác cú pháp một thủ tục con do khai báo thêm kiểu giá trị trả về như sau :

[Public | Private | Friend ] [ Overloads ] [ Overrides ][ Protected ]Function TênHàm [( Các đối số )] [As kiểu]

2.2 Tham chiếu hoặc tham trị :

Mặc định , tất cả các thủ tục VB truyền dữ liệu bằng tham chiếu ,

có nghĩa là những đối số có thể bị thay đổi bởi những thủ tục

nhận Nếu bạn không muốn dữ liệu bị thay đổi trong thủ tục nhận ,thì bạn phải truyền đối số bằng tham trị thay vì bằng tham chiếu

Để truyền đối số bằng trị , bạn thêm từ khóa Byval vào trước tên tham số của biểu thức khai báo của thủ tục nhận Khi bạn truyền một biến bằng tham chiếu , thủ tục con thực sự đang làm việc với biến dữ liệu từ thủ tục gọi Ngược lại , việc truyền biến bằng trị sẽtruyền dữ liệu tới thủ tục nhận và sẽ được đặt vào một biến cục bộ trong thủ tục đó

Để thực hiện một cách có điều kiện bất kỳ đoạn mã nào trong ứng dụng , trước tiên bạn phải kiểm tra điều kiện áp đặt Việc kiểm tra này gọi là thử điều kiện Nếu điều kiện là True đoạn mã

có liên quan sẽ được thực hiện , nếu điều kiện là False đoạn mã có

Trang 39

liên quan sẽ bỏ qua Cách mà các ngôn ngữ lập trình thường

dùng , trong đó có cả VB , là thực hiện việc kiểm tra dựa vào hai nhóm câu lệnh Thứ nhất là khối câu lệng If … then … End Thứ hai là nhóm lệnh Select case Cả hai nhóm lệnh này dùng các biểu thức để thay đổi luồng điều khiển của chương dựa trên giá trị của biến hoặc hàm

Một biểu thức If…Then chuẩn trong một ứng dụng thường kiểm tra giá trị dữ liệu đưa vào và nếu nó thỏa mãn ( trả về True) thì đoạn mã bên trong khối If sẽ được xử lý

Cú Pháp :

+ Thực hiện một cách có điều kiện các đoạn mã đơn giản :

If (điều kiện ) then

[ Các phát biểu]

End if

+ Kiểm tra nhiều điều kiện :

If (điều kiện ) then

Nếu bạn phải kiểm tra điều kiện và sau đó duyệt suốt một mảng

để xử lý thông tin bạn có thể gọi một thủ tục con dùng vòng lặp duyệt qua mảng này hoặc bạn có thể viết mã như sau :

Trang 40

b Câu lệnh lựa chọn Select Case:

Câu lệnh Select Case là một cách khác để kiểm tra nhiều điều kiện sau đó thi hành đoạn mã chương trình liên quan đến điều kiện Select Case cung cấp các đoạn mã mà có thể quản lý dễ dànhhơn lệnh If Sau đây là cú pháp :

Select Case Biểu thức kiểm tra

đó các câu lệnh Case trong khối Select … End Select sẽ kiểm tra các giá trị kết quả so khớp với giá trị mà Select Case ước lượng được Câu lệnh Select Case sẽ rất hữu dụng cho việc kiểm tra các giá trị rời rạc

Hai hàm được đề cập trong phần này là :

+ Choose : Chọn lựa và trả về một giá trị từ một danh sách các đối số dựa trên một giá trị được chỉ định

+ IIf : Trả về một trong hai giá trị phụ thuộc vào biểu thức

Mỗi hàm cung cấp một phương pháp chọn lựa duy nhất một giá trị hoặc biểu thức Hàm Choose giúp bạn dùng một giá trị để lựa chọn từ một danh sách các chuổi hoặc các số Sau đây là cú pháp của hàm Choose :

Choose ( chỉ số , chọn lựa 1[,chon lựa 2 , [,chọn lựa n]])

Hàm sẽ giúp bạn chọn một giá trị từ nhiều điều kiện khác nhau trong danh sách khai báo

Hàm Iff trả về một trong hai biểu thức phụ thuộc vào giá trị của một biểu thức có điều kiện Sau đây là cú pháp của hàm này :

IIf ( expr , truepart , falsepart)

Ngày đăng: 02/05/2015, 10:26

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