Bài giảng Lập trình Windows - Trường Cao đẳng nghề Việt Đức - Vĩnh Phúc
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Windows - Trường Cao đẳng nghề Việt Đức - Vĩnh Phúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_windows_truong_cao_dang_nghe_viet_duc_vi.pdf
Nội dung text: Bài giảng Lập trình Windows - Trường Cao đẳng nghề Việt Đức - Vĩnh Phúc
- MẪU ĐT -BG-01 TRƯỜNG CAO ĐẲNG NGHỀ VIỆT ĐỨC VĨNH PHÚC KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG LẬP TRÌNH WINDOWS Đối tượng: HSSV trình độ Đại học, Cao đẳng Ngành đào tạo: Công nghệ thông tin Lưu hành nội bộ
- MỤC LỤC MỤC LỤC i LỜI GIỚI THIỆU v Chương 1: TỔNG QUAN VỀ LẬP TRÌNH .NET 1 1.1 Visual Studio.NET và .NET Framework 1 1.1.1 Giới thiệu 1 1.1.2 Cấu trúc .NET Framework 2 1.1.3 Một số đặc trưng của Visual Studio .NET 5 1.2 Cài đặt phần mềm Visual Studio 2005 6 1.2.1 Yêu cầu phần cứng 6 1.2.2 Cài đặt: 6 1.3 Visual Basic.NET 10 1.3.1 Các phương pháp lập trình trong VB.NET 10 1.3.2 Visual Basic.NET 11 1.3.3 Ví dụ 1 - Hello, World 12 1.3.4 Ví dụ 2 - Hello, Windows 15 1.3.5 Ví dụ 3 - Hello, Browser 16 Chương 2: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC .NET 18 2.1 Các kiểu dữ liệu và đặc điểm 18 2.1.1 Các kiểu dữ liệu 18 2.1.2 Đặc điểm của các kiểu dữ liệu 19 2.1.3 Biểu diễn các giá trị 24 2.2 Biến, hằng 24 2.2.1 Biến và tính chất 24 2.2.2 Khai báo và khởi tạo giá trị cho biến 25 2.2.3 Xác định phạm vi biến (tầm vực của biến) 26 2.2.4 Hằng và số ngẫu nhiên 27 2.2.5 Chuyển đổi các kiểu dữ liệu 28 2.3 Toán tử 29 2.3.1 Toán tử toán học 29 2.3.2 Toán tử nối chuỗi 29 2.3.3 Toán tử gán 29 2.3.4 Toán tử so sánh 30 2.3.5 Toán tử luận lý và bitwise 30 2.4 Các lệnh VB.NET 31 2.4.1 Chú thích và cách viết lệnh 31 2.4.2 Nhập/xuất dữ liệu 31 i
- 2.4.3 Các lệnh rẽ nhánh 36 2.4.4 Câu lệnh lặp 39 2.5 Dữ liệu có cấu trúc 42 2.5.1 Enum 42 2.5.2 Mảng 43 2.5.3 Structure 45 2.6 Xử lý lỗi 46 2.6.1 Phân loại lỗi 46 2.6.2 Xử lý lỗi 46 2.7 Một số chỉ thị của VB.NET 49 2.7.1 Chỉ thị Option Explicit ON|OFF 49 2.7.2 Chỉ thị #Region #End Region 49 2.8 Thủ tục (Procedure) 50 2.8.1 Khái niệm 50 2.8.2 Tham số của thủ tục 50 2.8.3. Sub Procedure 50 2.8.4 Function Procedure (Hàm) 53 Chương 3: LỚP VÀ ĐỐI TƯỢNG TRONG VB.NET 57 3.1 Tổng quan về lập trình hướng đối tượng 57 3.1.1 Tính trừu tượng 58 3.1.2 Tính bao bọc 58 3.1.3 Tính kế thừa 58 3.1.4 Tính đa hình 58 3.2 Lớp đối tượng 59 3.2.1 Khai báo lớp 59 3.2.2 Đối tượng 60 3.2.3 Phương thức 60 3.2.4 Ví dụ về thiết kế lớp 60 3.3 Phương thức thiết lập và phương thức phá hủy 61 3.3.1 Phương thức thiết lập 61 3.3.2 Phương thức phá hủy 64 3.4 Thuộc tính - Property 64 3.5 Khai báo sự kiện (Event) 68 3.5.1 Phát sinh sự kiện 68 3.5.2. Kết hợp sự kiện với xử lý sự kiện 69 3.6 Từ khóa Me, Mybase, MyClass 70 3.6.1. Me 70 ii
- 3.6.2. Mybase 70 3.6.3 MyClass 71 Chương 4: CÁC ĐIỀU KHIỂN NGƯỜI DÙNG 73 4.1 Tạo ứng dụng Windows Form 73 4.1.1 Mở một project mới 73 4.1.2 Thao tác với project 76 4.2 Biểu mẫu - Form 76 4.2.1 Thuộc tính, biến cố và phương thức của biểu mẫu 77 4.2.2 Thao tác với form trong một ứng dụng 79 4.2.3 Viết code cho các biến cố trên form 79 4.2.4 Form MDI 81 4.3 Label, Textbox, Button 81 4.3.1 Nhãn - Label 81 4.3.2 Ô nhập liệu - Textbox 82 4.3.3 Nút lệnh - Command Button 84 4.4 Check box, Radio Button 86 4.4.1 Hộp kiểm - Check box 86 4.4.2 Nút chọn - Radio button 87 4.4.3 Ví dụ về form sử dụng điều khiển check box và radio button 87 4.5 Combo box, list box: 90 4.5.1 Danh sách lựa chọn - list box 90 4.5.2 Điều khiển hộp lựa chọn (Combo box) 91 4.5.3 Ví dụ về sử dụng list box 92 4.6 Điều khiển thanh cuộn 93 4.7 Menu và Toolbar 95 4.7.1 Menu 95 4.7.2 Toolbar 96 Chương 5: PHÁT TRIỂN ỨNG DỤNG CƠ SỞ DỮ LIỆU 103 5.1 Tổng quan về ADO.NET 103 5.1.1 Managed Provider 104 5.1.2 Data Storage 104 5.2 Connection 106 5.2.1. Kết nối sử dụng OLEDB 106 5.2.2 Kết nối sử dụng SQLClient 108 5.2.3 Các thuộc tính khác của Connection 109 5.2.4 Các phương thức trên Connection 109 5.2.5 Minh họa tạo Connection 110 iii
- 5.3 Command 112 5.3.1 Tạo Command 112 5.3.2 Các thuộc tính của Command 112 5.3.3 Thực hiện câu lệnh thông qua đối tượng Command 113 5.3.4 Parameter 115 5.4 DataReader 121 5.4.1 Các thuộc tính của DataReader 121 5.4.2 Các phương thức của DataReader 121 5.4.3 Tạo và sử dụng DataReader 122 5.5 DataAdapter 123 5.5.1 Tạo DataAdapter 124 5.5.2 Thuộc tính của DataAdapter 126 5.5.3 Chức năng của DataAdapter 126 5.5.3 Sử dụng DataAdapter lấy cấu trúc từ nguồn dữ liệu 129 5.5.4 Tạo bộ lệnh cập nhật cho DataAdapter: 130 5.5.5 Dùng DataAdapter cập nhật các thay đổi về nguồn dữ liệu 130 5.6 DataSet 131 5.6.1 Tạo DataSet 132 5.6.2. Làm việc với DataSet 132 5.6.3 Ví dụ minh họa làm việc với DataSet 137 5.7 DataTable 146 5.7.1 Các thuộc tính của DataTable 146 5.7.2 Một số phương thức của DataTable 147 5.7.3 Một số sự kiện của DataTable 149 5.7.4. Cấu trúc của bảng - DataColumn 149 5.7.5 DataRow 151 5.7.6 Tập hợp Rows 152 5.8 Tạo báo biểu 163 5.8.1 Crystal Report 163 5.8.2 Hướng dẫn sử dụng report wizart. 163 TÀI LIỆU THAM KHẢO 174 iv
- LỜI GIỚI THIỆU Lập trình ứng dụng là môn học rất quan trọng đối với sinh viên ngành công nghệ thông tin. Lập trình không chỉ là một công việc đó còn là một thú vui và là một niềm đam mê. Đã có rất nhiều các ngôn ngữ lập trình được sinh ra theo nhu cầu và yêu cầu của thực tế. Và bạn có thể chọn bất kì theo sở thích và thiên hướng của bạn. Nhưng thực tế, ngôn ngữ lập trình chỉ là cái để chúng ta có thể sai bảo được máy tính, khiến nó hiểu và thực hiện những điều chúng ta chờ đợi. Kết quả đó phụ thuộc vào cấu trúc ngôn ngữ, vào nền tảng ngôn ngữ, vào những hỗ trợ và đặc tính của ngôn ngữ; một phần quan trọng đó là thuật toán - tư duy logic và trừu tượng của người lập trình. Hiện nay có rất nhiều các ngôn ngữ lập trình chuyên nghiệp có thể sử dụng tốt để lập trình các ứng dụng trong đó có thể nói Visual Basic.NET là một trong những công cụ lập trình trực quan dễ học nhất. Bài giảng này được xây dựng với mục đích phục vụ nhu cầu học môn Lập trình Windows cho học sinh, sinh viên hệ Cao đẳng, Đại học chuyên ngành Công nghệ thông tin trường Đại học Kinh tế Kỹ thuật Công nghiệp. Bài giảng đề cập đến những nội dung về lập trình Visual Basic.NET căn bản và các kỹ thuật lập trình cơ sở dữ liệu sử dụng ADO.NET. Kết quả cuối cùng là tạo ra các ứng dụng quản lý sử dụng Visual Basic.NET như một công cụ phát triển trên hệ cơ sở dữ liệu SQL Server. Bài giảng được biên soạn theo đúng chương trình đào tạo và các quy định về cách trình bày của Nhà trường. Nội dung của bài giảng bao gồm 5 chương, trong mỗi chương bao gồm các phần nội dung chủ yếu như sau: - Mục tiêu của chương. - Nội dung phần thảo luận. - Tóm tắt nội dung cốt lõi. - Bài tập thực hành. - Hướng dẫn tự học ở nhà. Do thời gian và trình độ có hạn nên bài giảng khó có thể tránh khỏi những thiếu sót nhất định. Chúng tôi luôn mong nhận được sự góp ý của bạn đọc để bài giảng được tái bản hoàn thiện hơn trong những lần sau. Xin chân thành cám ơn! Nhóm biên soạn Nhóm sửa chữa Vũ Thị Thu Huyền Lê Kiều Oanh v
- BỘ CÔNG THƯƠNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC KT - KT CÔNG NGHIỆP Độc lập - Tự do - Hạnh phúc KHOA CÔNG NGHỆ THÔNG TIN CHƯƠNG TRÌNH TRÌNH ĐỘ ĐẠI HỌC NGÀNH ĐÀO TẠO: CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN 1. Tên học phần: Lập trình Window Mã số học phần: 2. Số tín chỉ: 04 3. Tính chất học phần: Bắt buộc. 4. Học phần thay thế, tương đương: Không. 5. Phân bổ thời gian giảng dạy trong học kỳ: 4(52,16,6)/ 12 (12 tuÇn thùc häc) - Số tiết thực lên lớp: 68 tiết Lý thuyết: 6 tiết/tuần x 8 tuần + 4 tiết/tuần x 1 tuần =52 tiết = 52 tiết chuẩn. Thảo luận, thực hành môn học: 12 tiết/tuần x 2 tuần + 8 tiết/tuần x 1 tuần = 32 tiết = 16 tiết chuẩn. - Số giờ sinh viên tự học: 10 giờ/tuần x 12 tuần = 120 giờ. 6. Điều kiện học: - Học phần tiên quyết: Cơ sở dữ liệu, SQL Server - Học phần học trước: Không - Học phần song hành: Phân tích và thiết kế hệ thống 7. Mô tả vắn tắt nội dung học phần: Học phần trang bị cho sinh viên các kiến thức về .NET Framwork; cú pháp và cách sử dụng các cấu trúc lệnh trong ngôn ngữ lập trình Visual Basic .NET; cách làm việc với các điều khiển Windows, phương pháp kết nối với cơ sở dữ liệu và xây dựng các ứng dụng cơ sở dữ liệu. 8. Mục tiêu của học phần: Sau khi kết thúc học phần sinh viên sẽ có kỹ năng lập trình trên hệ điều hành Windows; kỹ năng làm việc với các điều khiển để thiết kế màn hình và phải xây dựng được các chương trình truy xuất cơ sở dữ liệu SQL. vi
- 9. Nội dung chi tiết học phần (6 tiết / tuần) Tài liệu học Hình Tuần Nội dung tập, tham thức khảo học 1 Chương 1: Tổng quan về Lập trình .NET 1 Giảng 1.1 Visual Studio.NET và .NET Framework 1.2. Cài đặt phần mềm Visual Studio 2005 1.3. Visual Basic.NET 2,3 Chương 2: Ngôn ngữ lập trình Visual Basic.NET 1 Giảng 2.1 Các kiểu dữ liệu và đặc điểm 2.2 Biến, hằng 2.3 Toán tử 2.4 Các lệnh VB.NET 2.5 Dữ liệu có cấu trúc 2.6 Xử lý lỗi 2.7 Một số chỉ thị của VB.NET 2.8 Thủ tục (Procedure) 4 Chương 3: Lớp và đối tượng trong VB.NET 1, 2, 3, 4 Giảng 3.1 Tổng quan về lập trình hướng đối tượng 3.2 Lớp đối tượng 3.3 Phương thức thiết lập và phương thức phá hủy 3.4 Thuộc tính - Property 3.5 Khai báo sự kiện (Event) 3.6 Từ khóa Me, Mybase, MyClass 5,6 Chương 4: Các điều khiển người dùng 1, 2, 5 Giảng 4.1 Tạo ứng dụng Windows Form 4.2 Biểu mẫu - Form 4.3 Label, Textbox, Button 4.4 Check box, Radio Button 4.5 Combo box, list box: 4.6 Điều khiển thanh cuộn 4.7 Menu và Toolbar 7 Thực hành 1, 5, 6 Thực hành 8-10 Chương 5: Phát triển ứng dụng cơ sở dữ liệu 1, 2, 5,6 Giảng 5.1 Tổng quan về ADO.NET 5.2 Connection 5.3 Command vii
- Tài liệu học Hình Tuần Nội dung tập, tham thức khảo học 5.4 DataReader 5.5 DataAdapter 5.6 DataSet 5.7 DataTable 5.8 Tạo báo biểu 11,12 Thực hành, thảo luận, kiểm tra 1, 3, 5, 6 Thực hành, thảo luận 10. Tài liệu học tập: 1. Bài giảng Lập trình Windows - Đại học Kinh tế Kỹ thuật Công nghiệp. 11. Tài liệu tham khảo: 2. Tài liệu hướng dẫn giảng dạy Visual Basic.NET - Đại học Khoa học tự nhiên thành phố Hồ Chí Minh, 2006 3. Kỹ thuật lập trình ứng dụng chuyên nghiệp Visual Basic.NET- Phạm Hữu Khang, 2002 4. Visual Studio.Net – Nguyễn Ngọc Tuấn, NXB Thống kê 2005 5. Lập trình Visual Basic.NET 1 (Nhập môn lập trình) - Đại học Khoa học tự nhiên TP. Hồ Chí Minh, 2006 6. Lập trình Visual Basic.NET 2 (Kỹ thuật lập trình công nghệ .NET) - Đại học Khoa học tự nhiên TP. Hồ Chí Minh, 2006 12. Nhiệm vụ của Sinh viên: - Dự lớp đầy đủ, đúng giờ các buổi học lý thuyết và thực hành, thực hiện tốt các nội quy của Nhà trường trong giờ lên lớp - Thực hiện tốt các bài tập, hoàn thành các bài tập thực hành, tích cực tham gia thảo luận theo yêu cầu của giáo viên. - Phải đọc và nghiên cứu trước bài giảng, tài liệu tham khảo, chuẩn bị các ý kiến, đề xuất khi nghe giảng. 13. Tiêu chuẩn đánh giá Sinh viên: - Theo quyết định số 43 / 2007 / QĐ-BGD&ĐT ngày 15 tháng 08 năm 2007 của Bộ trưởng Bộ Giáo dục và Đào tạo. viii
- - Theo quyết định số 674/QĐ-ĐHKTKTCN ngày 15 tháng 10 năm 2010 của Hiệu trưởng Trường Đại học Kinh tế - Kỹ thuật Công nghiệp - Hình thức thi kết thúc học phần: Thi thực hành 14. Cán bộ tham gia giảng dạy Là giáo viên cơ hữu, giáo viên kiêm nhiệm, giáo viên thỉnh giảng do Khoa, Bộ môn quản lý, phân công giảng dạy khi có đủ các điều kiện, tiêu chuẩn, được Hiệu trưởng duyệt. - Giảng lý thuyết Giảng viên có học vị từ Thạc sỹ trở lên, có kinh nghiệm trong giảng dạy hoặc hướng dẫn thảo luận, được Bộ môn phân công. - Hướng dẫn làm bài tập, bài tập lớn, thảo luận, thực hành môn học, thí nghiệm, tiểu luận. Là giảng viên, giáo viên có học vị từ Cử nhân trở lên, có kinh nghiệm trong giảng dạy hoặc hướng dẫn thảo luận, được Bộ môn phân công. Đề cương chi tiết này đã được thông qua bộ môn làm cơ sở giảng dạy cho các lớp hệ đại học của ngành Công nghệ thông tin. Hà Nội, ngày tháng năm 2011 Khoa Tổ bộ môn Người biên soạn ix
- Chương 1 TỔNG QUAN VỀ LẬP TRÌNH .NET MỤC TIÊU CỦA CHƯƠNG - Về kiến thức Giới thiệu các khái niệm cơ bản và cấu trúc của .Net Framework, đồng thời thông qua việc trình bày một ứng dụng để giới thiệu về Visual Studio .Net. - Về thái độ: Giúp sinh viên chú ý và tiếp nhận ngôn ngữ lập trình Visual Basic.NET như một công cụ lập trình hiện đại và được ứng dụng nhiều trong thực tế. - Về kỹ năng Sau khi kết thúc bài học sinh viên có thể cài đặt phần mềm Visual Studio 2005 và chạy được các chương trình 1.4.2; 1.4.3; 1.4.4. NỘI DUNG BÀI GIẢNG LÝ THUYẾT 1.1 Visual Studio.NET và .NET Framework 1.1.1 Giới thiệu Trong thời đại công nghệ thông tin, dữ liệu trở nên quan trọng đến nỗi người ta mong muốn tất cả mọi thứ như điện thoại di động, máy tính xách tay, các máy PDA (Personal Digital Assistant) đều phải kết nối với nhau để chia sẽ dữ liệu và việc sử dụng các phần mềm để quản lý, sử dụng những dữ liệu đó là "không biên giới". Ứng dụng phải sẵn sàng để sử dụng từ trên máy tính cũng như trên điện thoại di động 24/24 giờ, ít lỗi, xử lý nhanh và bảo mật chặt chẽ. Các yêu cầu này làm đau đầu những chuyên gia phát triển ứng dụng khi phần mềm chủ yếu viết cho hệ thống này không chạy trên một hệ thống khác bởi nhiều lý do như khác biệt về hệ điều hành, khác biệt về chuẩn giao tiếp dữ liệu, mạng. Thời gian và chi phí càng trở nên quý báu vì bạn không phải là người duy nhất biết lập trình. Làm sao sử dụng lại những ứng dụng đã viết để mở rộng thêm nhưng vẫn tương thích với những kỹ thuật mới? Sun Microsystems đi đầu trong việc cung cấp giải pháp với Java. Java chạy ổn định trên các hệ điều hành Unix hay Solaris của Sun từ máy chủ tới các thiết bị cầm tay hay thậm chí trên các hệ điều hành Windows của Microsoft (một ví dụ rõ ràng đó là hầu hết các điện thoại di động thế hệ mới đều có phần mềm viết bằng Java). Kiến trúc lập trình dựa trên Java bytecode và thi hành trên máy ảo Java (JVM – Java Virtual Marchine) cho phép các ứng dụng Java chạy trên bất cứ hệ điều hành nào. Mô hình lập trình thuần hướng đối tượng của Java giúp các lập trình viên tùy ý sử dụng lại và mở rộng các đối tượng có sẵn. Các nhà cung cấp công cụ lập trình dựa vào đây đểø 1
- gắn vào các môi trường phát triển ứng dụng bằng Java của mình đủ các thư viện lập trình nhằm hỗ trợ các lập trình viên. Sức mạnh của Java dường như quá lớn đến nỗi Microsoft từng phải chống trả bằng cách loại bỏ Java Virtual Marchine khỏi các phiên bản hệ điều hành Windows mới của mình như Windows XP. Tuy nhiên, Microsoft thừa hiểu rằng dù không cung cấp JVM, Sun cũng có thể tự cung cấp các JVM package cho những người dùng Windows. Đó là lý do tại sao nhà khổng lồ quyết định bắt tay xây dựng lại từ đầu một nền tảng phát triển ứng dụng mới: Microsoft.NET Framework. Hiểu một cách đơn giản thì .NET Framework là bộ thư viện dành cho các lập trình viên .NET. Framework chính là một tập hợp hay thư viện các lớp đối tượng hỗ trợ người lập trình khi xây dựng ứng dụng. Bộ thư viện của .NET Framework bao gồm hơn 5000 lớp đối tượng đủ sức hỗ trợ hầu hết các yêu cầu từ phía lập trình viên. Công nghệ mã nguồn mở được đưa vào .NET và trong .NET, mọi thành phần đều có thể kế thừa và mở rộng. Ngày 13/02/2002, Microsoft chính thức giới thiệu bộ công cụ lập trình mới của mình – Visual Studio.NET dựa trên công nghệ Microsoft .NET. Đó là một môi trường phát triển ứng dụng sử dụng giao diện đồ hoạ, tích hợp nhiều chức năng, tiện ích khác nhau để hỗ trợ tối đa cho các lập trình viên. .NET Framework là thành phần quan trọng nhất trong kỹ thuật phát triển ứng dụng dựa trên .NET. Visual Studio sẽ giúp người lập trình nắm bắt và tận dụng tốt hơn những chức năng của .NET Framework. 1.1.2 Cấu trúc .NET Framework 2
- Common language Specification: Vai trò của thành phần này là đảm bảo sự tương tác giữa các đối tượng bất chấp chúng được xây dựng trong ngôn ngữ nào, miễn là chúng cung cấp được những thành phần chung của các ngôn ngữ muốn tương tác ASP.NET Bộ thư viện các lớp đối tượng dùng trong việc xây dựng các ứng dụng Web. Ứng dụng web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework. Bên cạnh đó là một "phong cách" lập trình mới mà Microsoft đặt cho nó một tên gọi rất kêu : code behind. Đây là cách mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách riêng. Web services có thể hiểu khá sát nghĩa là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Web service có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán. Ví dụ, công ty du lịch của bạn đang sử dụng một hệ thống phần mềm để ghi nhận thông tin về khách du lịch đăng ký đi các tour. Để thực hiện việc đặt phòng khách sạn tại địa điểm du lịch, công ty cần biết thông tin về phòng trống tại các khách sạn. Khách sạn có thể cung cấp một Web service để cho biết thông tin về các phòng trống tại một thời điểm. Dựa vào đó, phần mềm của bạn sẽ biết rằng liệu có đủ chỗ để đặt phòng cho khách du lịch không? Nếu đủ, phần mềm lại có thể dùng một Web service khác cung cấp chức năng đặt phòng để thuê khách sạn. Điểm lợi của Web service ở đây là bạn không cần một người làm việc liên lạc với khách sạn để hỏi thông tin phòng, sau đó, với đủ các thông tin về nhiều loại phòng người đó sẽ xác định loại phòng nào cần đặt, số lượng đặt bao nhiêu, đủ hay không đủ rồi lại liên lạc lại với khách sạn để đặt phòng. Đừng quên là khách sạn lúc này cũng cần có người để làm việc với nhân viên của bạn và chưa chắc họ có thể liên lạc thành công. Web service được cung cấp dựa vào ASP.NET và sự hỗ trợ từ phía hệ điều hành của Internet Information Server. Windows Form Bộ thư viện về Window form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based. ADO.NET and XML Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu. ADO.NET thay thế ADO để trong việc thao tác với các dữ liệu thông thường. Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML. Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter, 3
- Base Class Library Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn. Ví dụ các lớp trong thư viện này là String, Integer, Exception, Common Language Runtime Là thành phần "kết nối" giữa các phần khác trong .NET Framework với hệ điều hành. Common Language Runtime (CLR) giữ vai trò quản lý việc thi hành các ứng dụng viết bằng .NET trên Windows. CLR sẽ thông dịch các lời gọi từ chương trình cho Windows thi hành, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống. Nó cũng không cho phép các lệnh "nguy hiểm" được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine, Trong các phiên bản hệ điều hành Windows mới như XP.NET và Windows 2003, CLR được gắn kèm với hệ điều hành. Điều này đảm bảo ứng dụng viết ra trên máy tính của chúng ta sẽ chạy trên máy tính khác mà không cần cài đặt, các bước thực hiện chỉ đơn giản là một lệnh copy của DOS! Operating System .NET Framework cần được cài đặt và sử dụng trên một hệ điều hành. Hiện tại, .NET Framework chỉ có khả năng làm việc trên các hệ điều hành Microsoft Win32 và Win64 mà thôi. Trong thời gian tới, Microsoft sẽ đưa hệ thống này lên Windows CE cho các thiết bị cầm tay và có thể mở rộng cho các hệ điều hành khác như Unix. Với vai trò quản lý việc xây dựng và thi hành ứng dụng, .NET Framework cung cấp các lớp đối tượng (Class) để NLT có thể gọi thi hành các chức năng mà đối tượng đó cung cấp. Tuy nhiên, lời gọi này có được "hưởng ứng" hay không còn tùy thuộc vào khả năng của hệ điều hành đang chạy ứng dụng. Các chức năng đơn giản như hiển thị một hộp thông báo (Messagebox) sẽ được .NET Framework sử dụng các hàm API của Windows. Chức năng phức tạp hơn như sử dụng các COMponent sẽ yêu cầu Windows phải cài đặt Microsoft Transaction Server (MTS) hay các chức năng trên Web cần Windows phải cài đặt Internet Information Server (IIS). Như vậy, việc lựa chọn một hệ điều hành để cài đặt và sử dụng .NET Framework cũng không kém phần quan trọng. Cài đặt .NET Framework trên các hệ điều hành Windows 2000, 2000 Server, XP, XP.NET, 2003 Server sẽ đơn giản và tiện dụng hơn trong khi lập trình. 4
- 1.1.3 Một số đặc trưng của Visual Studio .NET Điểm đặc trưng của Microsoft Visual Studio là tất cả các ngôn ngữ lập trình trong .NET Framework đều có chung một IDE (Integrated Development Environment), trình gỡ lỗi, trình duyệt project và solution, class view, cửa sổ thuộc tính, hộp công cụ, menu và toolbar. Ngoài ra còn phải kể đến một số các đặc trưng sau 1. Từ khóa và cú pháp lệnh được tô sáng. 2. Tự động hoàn thành các cú pháp lệnh khi người lập trình đánh dấu chấm với objects, namespace, enum và khi sử dụng từ khóa New. 3. Trình duyệt project, solution cho phép quản lý các ứng dụng chứa nhiều file với khuôn dạng khác nhau. 4. Cho phép người sử dụng xây dựng giao diện chỉ với thao tác kéo và thả trên form. 5. Cửa sổ thuộc tính cho phép thiết lập các giá trị cho các thuộc tính khác nhau của các điều khiển trên form hoặc trên trang web. 6. Trình gỡ rối cho phép gỡ lỗi của chương trình bằng cách thiết lập các điểm break point khi theo dõi quá trình hoạt động của chương trình. 7. Trình biên dịch trực tiếp (Hot compiler) cho phép kiểm tra cú pháp của dòng mã lệnh và thông báo các lỗi được phát hiện ngay khi người sử dụng nhập dòng lệnh vào từ bàn phím. 8. Người sử dụng được trợ giúp bằng trình Dynamic Help sử dụng MSDN (Microsoft Development Network library). 9. Biên dịch và xây dựng các ứng dụngCompilating and building applications. 10. Cho phép thi hành ứng dụng có/ không bộ gỡ rối (debugger). 11. Triển khai ứng dụng .NET của người sử dụng trên Internet hoặc CD. Project và Solutions Một Project là sự kết hợp của các file thực thi chương trình và file thư viện để tạo nên một ứng dụng hoặc một mô đun. Thông tin về project thường được lưu trữ trong các file có phần mở rộng là .vbproj (VB.NET) hoặc csproj (C#). Có thể kể đến một số loại project trong Visual Studio .NET như Console, Windows Application, ASP.NET, Class Librraries, Trái lại, một solution thường là sự kết hợp nhiều dự án khác nhau để tạo thành một số ứng dụng. Ví dụ trong một solution có thể bao gồm một project là ASP.NET WEB Application và một Windows Form project. Thông tin của một solution được lưu trữ trong các file .sln và được quản lý nhờ Visual Studio.NET Solution Explorer. 5
- Toolbox, Properties và Class View Tabs Tất cả các ngôn ngữ lập trình trong bộ Visual Studio .NET đều dùng chung một bộ công cụ (toolbox). Bộ công cụ này (thường xuất hiện bên tay trái màn hình) chứa một số các điều khiển chung cho các ứng dụng windows, web và dữ liệu như texbox, checkbox, tree view, list box, menus, file open dialog Properties Tab - cửa sổ thuộc tính (thường xuất hiện bên tay phải) cho phép thiết lập các thuộc tính cho form và điều khiển tại thời điểm thiết kế mà không cần viết code. 1.2 Cài đặt phần mềm Visual Studio 2005 Microsoft Visual Studio 2005 là một bộ sản phẩm cung cấp 3 ngôn ngữ lập trình Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET. Thêm vào đó là Integrated Development Environment (IDE) giúp lập trình dễ đàng, thoải mái. IDE không những cung cấp mọi công cu lập trình cần thiết mà còn giúp kiểm tra nguồn mã hay tạo giao diện Windows trực quan, truy tìm các tập tin liên hệ đến dự án và nhiều thứ khác nữa. 1.2.1 Yêu cầu phần cứng 1.2.2 Cài đặt: Microsoft Visual Studio 2005 thường gồm 4 đĩa CD. Trước khi cài đặt bạn phải chạy các file trên 3 đĩa để giải nén vào một thư mục trên đĩa cứng. Sau khi giải nén xong, xong sẽ có hai thư mục chính: thư mục VS (chứa các file cài Visual Studio .Net 1.17GB) và thư mục MSDN (chứa các thư viện hỗ trợ việc sử dụng Visual Studio.NET 1.55GB). Để cài đặt, ta chạy file Setup.exe trong thư mục VS sau đó chọn chức năng Install Visual Studio 2005. 6
- - Hộp thoại dưới đây sẽ xuất hiện trên màn hình: 7
- - Click chọn “Next”. Xuất hiện cửa sổ yêu cầu đăng ký - Đăng ký bằng cách lựa chọn click chuột vào “I accept the term of the License Agreement”. Sau đó click chọn “Next” để sang trang tiếp theo. 8
- - Chọn kiểu cài đặt Default (ngầm định) hay Full (đầy đủ) hay Custom (tự thiết lập các thông số); sau đó click vào nút Install và làm theo các hướng dẫn trên màn hình. Quá trình cài đặt sẽ yêu cầu bạn khởi động lại máy trước khi kết thúc. 9
- Tùy theo cấu hình từng máy mà thời gian cài đặt có thể mất từ 25-35 phút. 1.3 Visual Basic.NET 1.3.1 Các phương pháp lập trình trong VB.NET Phương pháp lập trình hướng lệnh Trong phương pháp này người ta xem chương trình là tập hợp các lệnh. Khi đó việc viết chương trình là xác định xem chương trình gồm những lệnh nào, thứ tự thực hiện của chúng ra sao. Phương pháp lập trình hướng thủ tục Trong phương pháp này chương trình được xem là một hệ thống các thủ tục (sub và function). Trong đó, mỗi thủ tục là một dãy các lệnh được sắp thứ tự. Khi đó, việc viết chương trình là xác định xem chương trình gồm các thủ tục nào, mối quan hệ giữa chúng ra sao? Phương pháp lập trình hướng đơn thể Trong phương pháp này chương trình được xem là một hệ thống các đơn thể, mỗi đơn thể là một hệ thống các thủ tục và hàm. Khi đó, việc viết chương trình là 10
- xác định xem chương trình gồm những đơn thể nào? Đơn thể nào đã có sẵn, đơn thể nào phải đi mua, đơn thể nào phải tự viết. Trong VB.NET đơn thể được xem là một trong các cấu trúc Module, Class, Structure. Phương pháp lập trình hướng đối tượng Trong phương pháp này người ta xem chương trình là một hệ thống các đối tượng, mỗi một đối tượng là sự bao bọc bên trong nó 2 thành phần: - Dữ liệu: là các thông tin về chính đối tượng. Trong một số sách, thành phần này còn được gọi là thành phần thuộc tính, thông tin . - Hành động: là các khả năng mà đối tượng có thể thực hiện. Thành phần này còn có các tên như sau: phương thức, hàm thành phần, hành vi. Mỗi một đối tượng sẽ được cài đặt trong chương trình với dạng đơn thể chứa dữ liệu. Thêm vào đó tính chất kế thừa cho phép chúng ta xây dựng đối tượng mới dựa trên cơ sở đối tượng đã có. 1.3.2 Visual Basic.NET Nhiều lập trình viên đã quen với ngôn ngữ lập trình Visual Basic do Microsoft phát triển dựa trên ngôn ngữ BASIC từ năm 1964. Từ khi ra đời đến nay, Visual Basic đã phát triển qua nhiều thế hệ và kết thúc ở phiên bản VB 6.0 với rất nhiều modules, công cụ hay ứng dụng được bổ sung vào và đặc biệt là phương pháp kết nối với cơ sở dữ liệu qua sự kết hợp của ADO (Active Data Object). Tuy nhiên một trong những nhược điểm của VB 6.0 là không cung ứng tất cả các đặc trưng của một ngôn ngữ lập trình hướng đối tượng (Object Oriented Language - OOL) như các ngôn ngữ C++ hay Java. Thay vì cải thiện hay vá víu thêm thắt vào VB 6.0, Microsoft đã xóa bỏ tất cả để làm lại từ đầu các ngôn ngữ lập trình hướng đối tượng rất hùng mạnh. Đó là các ngôn ngữ lập trình Visual Basic .NET và C# (C Sharp). Có thể nói Visual Basic.NET (VB.NET) là một ngôn ngữ lập trình hướng đối tượng do Microsoft thiết kế lại từ con số 0. VB.NET không kế thừa hay bổ sung, phát triển từ VB 6.0 mà nó là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft .NET FrameWork. VB.NET hỗ trợ đầy đủ các đặc trưng của một ngôn ngữ hướng đối tượng như là trừu tượng, bao đóng, kế thừa, đa hình, đa luồng và cấu trúc xử lý các exception. VB.NET là một ngôn ngữ lập trình cho phép người sử dụng thiết lập các ứng dụng theo 3 loại: - Ứng dụng Console là các chương trình chạy trên hệ điều hành MS-DOS thông qua trình biên dịch Visual Studio 2005 Command Prompt. 11
- - Ứng dụng Windows Form là các ứng dụng chạy trên hệ điều hành Windows với các biểu mẫu (form) và các điều khiển (button, texbox, label, ) - Ứng dụng ASP.NET gồm WEB Form và WEB Services. 1.3.3 Ví dụ 1 - Hello, World Chương trình dưới đây là một ví dụ về console-application. Bạn có thể biên soạn chương trình này bằng bất kỳ phần mềm soạn thảo nào, ví dụ Notepad và lưu thành một file có phần mở rộng là vb chẳng hạn Hello.vb. Imports System Public Module Hello Public Sub Main( ) Console.WriteLine("Hello, World") End Sub End Module Để biên dịch chương trình, sử dụng tính năng Visual Studio 2005 Command Prompt và đánh lệnh sau vào cửa sổ: vbc Hello.vb File Hello.vb sẽ được biên dịch thành file Hello.exe và khi muốn chạy chương trình, bạn chỉ việc gõ lệnh hello tại cửa sổ lệnh. Dòng chữ Hello, World sẽ xuất hiện trên màn hình. Ví dụ 1.3.3 thể hiện một cấu trúc đơn giản nhất của chương trình VB.NET. Cấu trúc này gồm một đơn thể duy nhất là mô đun và trong mô đun này sẽ chứa thủ tục main và các hàm, các thủ tục cần thiết khác. Namespace Dòng đầu tiên của chương trình chỉ ra rằng chương trình sẽ sử dụng một trong những kiểu được định nghĩa của không gian tên (Namespace) System. Namespace là tên gọi một nhóm các lớp đối tượng phục vụ cho một mục đích nào đó. Chẳng hạn, các lớp đối tượng xử lý dữ liệu sẽ đặt trong một namespace tên là Data. Các lớp đối tượng dành cho việc vẽ hay hiển thị chữ đặt trong namespace tên là Drawing. Một namespace có thể là con của một namespace lớn hơn. Namespace lớn nhất trong .NET Framework là System. 12
- Lợi điểm của Namespace là phân nhóm các lớp đối tượng, giúp người dùng dễ nhận biết và sử dụng. Ngoài ra, Namespace tránh việc các lớp đối tượng có tên trùng với nhau không sử dụng được. .NET. Framework cho phép chúng ta tạo ra các lớp đối tượng và các Namespace của riêng mình. Từ khóa Imports Mục đích của lệnh Imports là để đưa không gian tên vào trong chương trình để việc khai báo và tạo các lớp trong không gian tên ngắn gọn hơn. Cú pháp: Imports [ = ] [. ] Trong đó - là một chuỗi được đặt tùy ý, là tên tắt của được sử dụng trong tham chiếu trên Module, Class. Nếu lệnh Imports không có phần bí danh, các thành phần định nghĩa trong không gian tên có thể được truy cập mà không cần chỉ rõ. Nếu có bí danh, bí danh phải được sử dụng trong phần truy cập. - : bắt buộc. - : tùy chọn, tên của một thành phần đã được khai báo trong không gian tên. 13
- Ví dụ - Imports System cho phép ta truy cập và sử dụng các lớp trong namespace có tên System. Trong ví dụ 1.3.3 dòng lệnh này cho phép truy cập vào lớp Console từ Main() sub. - Imports System.Collections cho phép sử dụng các lớp được định nghĩa trong namespace Collection là một thành phần của namespace System. Chú ý Mỗi lệnh Imports chỉ được sử dụng với một không gian tên. Mỗi Module có thể có nhiều dòng Imports Các lệnh Imports phải được đặt trước tất cả các khai báo, kể cả lệnh khai báo Module hoặc Class. Sau lệnh Imports, các thành phần được tham chiếu không cần phải chỉ ra nội dung phần Imports. Không được phép định nghĩa một thành phần ở cấp Module cùng tên với bí danh đã đặt Module Một chương trình VB.NET có thể chứa một hoặc nhiều module. Modules trong VB.NET là sự kết hợp của các dữ liệu chung (fields) và các hàm dùng chung (method). Tất cả các thành phần được khai báo trong một module như field, method, properties đều là dùng chung và có thể được sử dụng tại bất kỳ một dòng code nào trong projects. Module trong VB.Net được định nghĩa bằng cách sử dụng từ khóa Module đi kèm với tên Module và kết thúc bằng câu lệnh End Module. Module Hello End Module Main() Sub Dòng tiếp theo của chương trình 1.3.2 định nghĩa thủ tục Main() với cấu trúc như sau: Sub Main() End Sub Một chương trình VB.NET có thể bao gồm một hoặc nhiều thủ tục. Thủ tục Main() sub có nghĩa là chương trình sẽ bắt đầu thực thi từ dòng lệnh đầu tiên của thủ tục Main() và sẽ kết thúc khi kết thúc các lệnh trong Main(). 14
- Dòng thông báo Trong ứng dụng Console, để hiển thị một dòng thông báo ta dùng cú pháp lệnh: Console.WriteLine(chuỗi_thông_báo) 1.3.4 Ví dụ 2 - Hello, Windows Dưới đây là một ví dụ về phiên bản GUI (Graphical User Interface) của Hello, World. Imports System Imports System.Drawing Imports System.Windows.Forms Public Class HelloWindows Inherits Form Private lblHelloWindows As Label Public Shared Sub Main( ) Application.Run(New HelloWindows( )) End Sub Public Sub New( ) lblHelloWindows = New Label( ) With lblHelloWindows .Location = New Point(37, 31) .Size = New Size(392, 64) .Font = New Font("Arial", 36) .Text = "Hello, Windows!" .TabIndex = 0 .TextAlign = ContentAlignment.TopCenter End With Me.Text = "Programming Visual Basic .NET" AutoScaleBaseSize = New Size(5, 13) FormBorderStyle = FormBorderStyle.FixedSingle ClientSize = New Size(466, 127) Controls.Add(lblHelloWindows) End Sub End Class Hai lệnh Imports ở đầu chương trình chỉ ra rằng chương trình sẽ sử dụng các đối tượng và phương thức có sẵn trong không gian tên Drawing và Windows.Forms. Từ khóa Inherits cho thấy lớp HelloWindows thừa kế lớp Form là một lớp đã được thiết kế sẵn trong Namespace Windows.Forms. Thủ tục New định nghĩa các thuộc tính trên form HelloWindows và định nghĩa một điều khiển label trên form. 15
- Để biên dịch chương trình này chúng ta sử dụng câu lệnh: vbc HelloWindows.vb /reference:System.dll,System.Drawing.dll, System.Windows.Forms.dll / target:winexe Tham số reference chỉ ra rằng có 3 dll cần sử dụng để biên dịch chương trình. Target cho biết file output được biên dịch theo dạng nào. Có 3 kiểu biên dịch gồm exe cho các ứng dụng console, winexe cho các ứng dụng windows GUI và library để biên dịch một class library (*.dll). Kết quả thực hiện chương trình Hello Windows được thể hiện ở hình sau: 1.3.5 Ví dụ 3 - Hello, Browser Hello, Browser là một phiên bản WEB của Hello, World: Sub Page_Load(Sender As Object, E As EventArgs) lblMsg.Text = "Hello, Browser!" End Sub Sub btnBlack_Click(Sender As Object, E As EventArgs) lblMsg.ForeColor = System.Drawing.Color.Black End Sub Sub btnGreen_Click(Sender As Object, E As EventArgs) lblMsg.ForeColor = System.Drawing.Color.Green End Sub Sub btnBlue_Click(Sender As Object, E As EventArgs) lblMsg.ForeColor = System.Drawing.Color.Blue End Sub Programming Visual Basic .NET 16
- Đoạn chương trình này được ghi lại thành file HelloBrowser.aspx. Output của chương trình này được thể hiện trong hình dưới đây: TÓM TẮT NỘI DUNG CỐT LÕI 1. Cấu trúc .NET Frame Work 2. Cài đặt Microsoft Visual Studio 2005 3. Một số khái niệm: - Solution và projects - Namespace - Module 17
- Chương 2 NGÔN NGỮ LẬP TRÌNH VISUAL BASIC .NET MỤC TIÊU CỦA CHƯƠNG - Về kiến thức Giới thiệu các kiểu dữ liệu cơ bản và kiểu dữ liệu có cấu trúc, cách khai báo và sử dụng các biến, cách viết và sử dụng các lệnh trong VB.NET. - Về thái độ: Giúp sinh viên hệ thống và củng cố lại các khái niệm chính trong lập trình hướng lệnh như nhập xuất dữ liệu, hoạt động của các cấu trúc rẽ nhánh và cấu trúc lặp. - Về kỹ năng Sau khi kết thúc bài học sinh viên giải được các ví dụ trong phần bài tập bằng cách viết các đoạn chương trình và xây dựng các thủ tục, hàm bằng ngôn ngữ VB.NET. NỘI DUNG BÀI GIẢNG LÝ THUYẾT 2.1 Các kiểu dữ liệu và đặc điểm 2.1.1 Các kiểu dữ liệu Các kiểu dữ liệu của .Net được mô tả chi tiết trong một cấu trúc gọi là Common Type System (CTS). CTS định nghĩa các kiểu dữ liệu, cách thức sử dụng, cách thức được quản lý lúc thực thi và cùng với Common Language Specification đóng một vai trò quan trọng trong việc trao đổi giữa các ngôn ngữ lập trình trong .Net. Common Type System có chức năng: Thiết lập một nền tảng cho phép tương tác giữa các ngôn ngữ lập trình, bảo toàn giá trị của dữ liệu khi có sự trao đổi dữ liệu giữa các ngôn ngữ và bảo đảm việc thực hiện câu lệnh được tối ưu Cung cấp một mô hình hướng đối tượng cho các ngôn ngữ lập trình. Đưa ra những quy tắc để các ngôn ngữ lập trình phải tuân thủ nhằm bảo đảm các thành phần viết trên các ngôn ngữ khác nhau có thể tương tác với nhau. Các kiểu dữ liệu trong VB.NET được chia thành 2 loại chính đó là 1. Value type (data types, Structure and Enumeration) 2. Reference Type (objects, delegates) Bảng 2-1 mô tả các loại dữ liệu thuộc kiểu value type. 18
- Kiểu dữ Kiểu dữ Kích Mô tả liệu trong liệu tương cỡ VB.NET ứng trong .NET Boolean Boolean 1 Biểu diễn giá trị lôgic True hoặc False Char Char 2 Biểu diễn một ký tự Unicode (giá trị từ 0 đến 65535 không dấu) String String 0 đến khoảng 2 tỷ ký tự Unicode (Class) DateTime DateTime 8 0:00:00 ngày 01 tháng Giêng 0001 đến 23:59:59 ngày 31 tháng Mười Hai 9999. Số nguyên Byte Byte 1 0 đến 255 Integer Int32 2 Từ -2 147 483 648 đến 2 147 483 647 Long Int64 4 Từ -9 223 372 036 854 775 808 đến 9 223 372 036 854 775 807 Short Int16 8 -32 768 to 32 767 Số thực Decimal Decimal 12 Biểu diễn giá trị từ 1.0 × 10-28 đến 7.9 × 1028 với độ chính xác 28-29 chữ số thập phân. Double Double 8 Biểu diễn giá trị từ ±5.0 × 10-324 to ±1.7 × 10308 với độ chính xác 15-16 chữ số thập phân Single Single 4 Biểu diễn giá trị từ ±1.5 × 10-45 đến ±3.4 × 1038 với độ chính xác 7 chữ số thập phân Bảng 2-1 Các kiểu dữ liệu cơ bản trong VB.NET 2.1.2 Đặc điểm của các kiểu dữ liệu Các kiểu dữ liệu mặc nhiên phát sinh từ lớp SysTem.Object. Ngoài các phương thức kế thừa từ lớp SysTem.Oject, các biến kiểu dữ liệu còn có các phương thức và thuộc tính đặc thù. Các phương thức chung kế thừa từ SysTem.Object bao gồm Equals: Hổ trợ việc so sánh giữa hai object. Finalize: Thực hiện các thao tác xóa bỏ trước khi object được tự động xóa bỏ. GetHashCode: Phát sinh một số tương ứng với giá trị của object. GetType: Trả về kiểu của object. 19