Microsoft® Visual Basic(VB) 2005 hay Visual Basic.NET là một công cụ lập trình hỗ trợ ngôn ngữ lập trình Visual Basic.NET trong bộ công cụ lập trình Microsoft Visual Studio 2005. Trong Microsoft Visual Studio 2005, bạn có thể kết hợp các project (dự án) viết bằng các ngôn ngữ khác như C#, J#, ... với VB2005.
VB2005 được chạy trên nền .NET Framework 2.0, khi đóng gói chương trình cũng cần bộ Framework này để chạy chương trình. Cũng như VB 6.0, VB2005 cũng là ngôn ngữ lập trình huớng đối tuợng.
Cú pháp
Cũng như Visual Basic, chú thích trong Visual Basic.NET sử dụng dấu nháy đơn ('), các lệnh trên cùng một dòng phân cách nhau bởi dấu hai chấm (:), và câu lệnh quá dài có thể nối xuống dòng dưới bằng dấu gạch dưới ( _ ).
Một chương trình Visual Basic. NET mang tên "Hello, World":
Module HelloWorld Sub Main() Console.WriteLine("Hello, World") Console.ReadLine() End Sub End Module
Đây là một loại chương trình cổ điển nhưng đầy đủ về mặt cú pháp thường dùng.
Kết quả xuất ra màn hình như sau:
Hello, World
Các câu lệnh trong thân chương trình
* Từ Khoá Module ... End Module
Module có nghĩa là Đơn thể, một chương trình có thể chứa nhiều đơn thể. Từ khoá End Module là từ khoá kết thúc chương trình không giông, như Pascal hoặc các ngôn ngữ khác như: C/C++, J#, Java. Visual Basic không cần có dấu phân cách giữa các câu lệnh trừ khi các câu lệnh nằm trên cùng một dòng với nhau.
* Từ khoá Sub ... End Sub
Sub (thủ tục) một chương trình có thể chứa một hoặc nhiều thủ tục. Thủ tục chính có mang hàm Main() là Sub Main(). Hàm Main() của VB.NET là hàm bắt đầu của một chương trình. Khi viết chương trình VB.NET bạn phải đặt hàm Main() tại một "Sub chính" trong chương trình. nếu không đặt hàm Main() vào chương trình thì chương trình không thể chạy được. Có thể nói hàm Main() là đầu mối của chương trình.
End Sub là câu lệnh kết thúc thủ tục.
* Câu lệnh Console.WriteLine()
Câu lệnh này dùng để xuất chuỗi ra màn hình cụ thể là chuỗi "Hello, World".
* Dấu nháy kép ("")
Chuỗi ký tự trong Visual Basic. NET được rào trong dấu nháy kép ("")
* Câu lệnh Console.ReadLine()
Câu lệnh này dùng để đọc dữ liệu từ bàn phím
Câu lệnh này chờ khi bạn nhấn Enter để thoát khỏi màn hình Console (Màn hình của MS-DOS).
* Các cú pháp khác:
Khai báo biến sư dụng hai từ khoá Dim và As sau đó là kiểu dữ liệu. Ví dụ:
Dim A As Integer
Trong đó: Dim và As là từ khoá khai báo biến A và Integer (số tự nhiên) là kiểu dữ liệu.
Ví dụ chương trình
Chương trình tính diện tích chu vi hình chữ nhật
Module Chunhat Sub Main() Console.Write("_ Nhập vào chiều dài hình chữ nhật: ") Dim a As Decimal = Console.ReadLine() 'Decimal nghĩa là số thập phân Console.Write("_ Nhập vào chiều rộng hình chữ nhật: ") Dim b As Decimal = Console.ReadLine() Dim KetQua1 As Decimal = (a+b)*2 'Có thể đặt tên biến là CV WriteLine("_ Chu vi hình chữ nhật là: {0}",KetQua1) Dim KetQua2 As Decimal = a*b 'Có thể đặt tên biến là DT WriteLine("_ Chu vi hình chữ nhật là: {0}",KetQua2)'{0} ở đây là chỗ chứa dữ liệu của biến khi xuất dữ liệu nếu không có nó dữ liệu sẽ không được xuất End Sub End Module
Các phát triển của VB2005 so với VB6
Tự động hoàn thành cấu trúc
VB2005 có khả năng tự hoàn thành các cấu trúc như vòng lặp, rẽ nhánh. Ví dụ, bạn nhập :
For i = 0 to 10
Và nhấn Enter, VB2005 tự động trả về :
For i = 0 to 10 Next
Và đặt vị trí con trỏ ở giữa.
Gọi gián tiếp API và chuyển đổi kiểu dữ liệu
- Trong VB2005, việc gọi API có thể nói là rất ít, vì VB2005 có nhiều hàm, thủ tục gọi gián tiếp. Ví dụ : Trong VB6, bạn cần gọi API ShellExecute để Windows chạy một tập tin bằng ứng dụng đúng thì với VB2005 thì chỉ cần gọi Process.Start - Ngoài ra, kiểu dữ liệu trong VB2005 có thay đổi đôi chút, ví dụ kiểu Integer của VB2005 tương ứng với Long trong VB6.0, còn kiểu Long của VB2005 là kiểu Int64 có tới tối đa là hơn 9.000.000.000.000, vì vậy khả năng Overflow là rất thấp.
Tự động thụt vào đầu dòng
Đây là chức năng rất hay của VB2005, nó giúp code gọn, dễ xem và bẫy lỗi.
Debug lỗi thông qua cửa sổ Watch
Đây là chức năng giúp nguời dùng biết giá trị của biến mà không cần phải nhập
?
và nhấn Enter, rất thích hợp với các code dài.