Bài 3
Xin cáo lỗi: rất tiếc là server chúng tôi không cho phép
chứa các files MP3 nên chúng tôi sẽ tìm cách khác để cho
đọc
giả download sau. Nếu các bạn có ý kiến hay về cách
cho download các MP3 files này thì xin liên lạc với
webmaster.
Thu âm bài giảng (MP3)
download size
Week 3.1Week 3.2Week
3.3Week 3.4Week 3.5Week
3.6Week 3.7Week 3.8Week
3.9Week 3.10
1.2 mb1.2 mb1.2 mb1.2
mb1.2 mb1.2 mb1.2 mb1.2
mb1.0 mb0.8 mb
Những khác biệt giữa VB.NET với VB6
V B.NET, còn gọi là VB7, chẳng qua là C# viết theo lối Visual Basic. Nay VB7 đã hoàn toàn là
Object Oriented, tức là cho ta dùng lại (reuse) classes/forms theo cách thừa kế thật thoải mái,
nên nó khác VB6 nhiều lắm.
Dầu vậy, đối với VB6 programmers học VB.NET không khó. Lý do là VB.NET không cho thêm
nhiều từ mới (reserved words). Nói chung các ý niệm mới trong VB.NET đều dễ lĩnh hội, nhất là
khi đem ra áp dụng cách thực tế. Đó là nhờ Microsoft vẫn giữ nguyên tắc dấu và làm sẵn (của
VB6) những gì rắc rối phía sau sân khấu, để ta có thể tập trung vào việc tìm kiếm một giải pháp,
thay vì quá bận tâm vào cách thức làm một việc gì. Chính nguyên tắc ấy đã giúp Microsoft chiêu
Namespaces trong .NET khắc phục được mọi giới hạn nói trên trong VB6.Nhiều assemblies có
thể nằm trong cùng một namespace, nghĩa là classes tuyên bố trong các components khác nhau
có thể có chung một namespace. Điều nầy cũng áp dụng xuyên qua các ngôn ngữ, giúp cho một
class viết trong VB.NET có thể nằm trong cùng một namespace với một class viết trong C#,
chẳng hạn.Hơn nữa, trong một assembly có thể có nhiều namespaces, dù rằng thông thường ta
chỉ dùng một namespace duy nhất cho tất cả các classes trong ấy.
Nhớ là một assembly trong .NET thì đại khái tương đương với một COM component.Tất cả code
trong .NET đều nằm trong những assemblies.
By default, tên của project được dùng làm namespace. Nếu bạn right click lên project name
NETListbox trong Solution Explorer của program Demo, rồi chọn Properties trong popup menu,
IDE sẽ hiển thị Property Pages dialog như dưới đây:Bạn thấy Root namespace của project là NETListbox. Bạn có thể thay đổi tên namespace ấy
nếu bạn muốn.Namespaces có thể được phân chia thứ bậc giống như Folders trong một File
Directory. Nó sẽ giúp user sắp đặt các classes theo đúng nhóm cho trong sáng và dễ đọc. Thí dụ
bạn đang viết một program cho một hảng sản xuất, bạn sẽ dùng namespace NhàSảnXuất ở root
level. Bên trong namespace ấy bạn sẽ tạo thêm các nhánh của chương trình như:
• NhàSảnXuất.TồnKho
• NhàSảnXuất.SảnPhẩm
• NhàSảnXuất.KếToán.ChiPhí
• NhàSảnXuất.KếToán.ThuNhập
Như thế ta đã định nghĩa một base namespace tên NhàSảnXuất, với những namespaces con,
Nếu ta dùng Import keyword bằng cách nhét vào câu Imports System.Console ở đầu code
module, ta có thể code gọn hơn:
WriteLine ("Hello world!")
Dưới đây là một số namespaces thông dụng:
Namespace
Chức năng
Classes điển hình
System.IO
Đọc/Viết files và các data
streams khác
FileStream, Path, StreamReader, StreamWriter
System.Drawing
Đồ họa
Bitmap, Brush, Pen Color, Font, Graphics
System.Data
Quản lý data
DataSet, DataTable, DataRow, SQLConnection,
ADOConnection
Cho phép kiểm soát an ninh
Cryptography, Permission, Policy
Aliasing Namespaces (dùng bí danh)
Khi hai namespaces trùng tên, ta phải dùng nguyên tên (kể cả gốc tích) để phân biệt chúng. Điển
hình là khi ta dùng những namespaces liên hệ đến VB6 như Microsoft.Visualbasic. Thay vì
code:
Microsoft.Visualbasic.Left ( InputString,6)
ta tuyên bố:
Imports VB6= Microsoft.Visualbasic
Sau đó ta có thể code:
VB6.Left ( InputString,6)
Dùng Namespaces keyword
Trong thí dụ về program có Root Namespace là NhàSảnXuất như nói trên, nếu ta muốn đặt ra
một namespace con là TồnKho, ta phải dùng NameSpace keyword trong code như sau:
' Root Namespace là NhàSảnXuất
Namespace TồnKho
Class PhòngLạnh
' Code cho Phòng Lạnh
End Class
End Namespace
Bây giờ muốn nói đến class PhòngLạnh bên trong namespace TồnKho ta sẽ code như sau:
NhàSảnXuất.TồnKho.PhòngLạnh
Thay đổi trong Data Types
Console.WriteLine(dValueA / dValueB)
Kết quả sẽ là chữ NaN (Not a Number) hiển thị trong Output Window.
Thay thế Currency bằng Decimal
VB.NET dùng Decimal data type với 128 bits để thay thế Currency data type trong VB6. Nó có
thể biểu diễn một số tới 28 digits nằm bên phải dấu chấm để cho thật chính xác. Hể càng nhiều
digits nằm bên phải dấu chấm thì tầm trị số của Decimal càng nhỏ hơn.
Char Type