Đề cương lập trình nâng cao với c

174 197 0
Đề cương lập trình nâng cao với c

Đ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

Đề cương môn học: Lập trình nâng cao với C# MỤC LỤC BÀI TỔNG QUAN VỀ NET VÀ CÁC CONTROL TRONG C# 1.1 Môi trường thực thi ngôn ngữ chung – CLR 1.2 Ngôn ngữ trung gian - IL 1.3 Giới thiệu Net Framework 1.4 Tạo ứng dụng Windows form 10 1.5 Lớp Control 10 1.6 Form 12 1.6.1 Chức 12 1.6.2 Một số thuộc tính thường dùng 12 1.6.3 Một số kiện thường dùng 15 1.6.4 Minh họa 16 BÀI MỘT SỐ CONTROL TRONG C# 20 2.1 Textbox 20 2.1.1 Chức 20 2.1.2 Một số thuộc tính thường dùng 20 2.2 RichTextBox 27 2.2.1 Chức 27 2.2.2 Một số thuộc tính thường dùng 27 2.3 DataGridView 33 2.3.1 Chức 33 2.3.2 Một số khái niệm liên quan đến DataGridView 33 2.4 ListView 51 2.4.1 Chức 51 2.4.2 Một số khái niệm liên quan đến ListView 51 BÀI THỰC HÀNH MỘT SỐ CONTROL TRONG C# (BUỔI 1) 69 -1- Đề cương môn học: Lập trình nâng cao với C# 3.1 Mục tiêu 69 3.2 Nội dung thực hành 69 3.3 Bài tập tự làm 72 BÀI THẢO LUẬN VỀ CÁC CONTROL 73 4.1 Mục tiêu 73 4.2 Tổ chức thực 73 4.3 Nội dung thảo luận 73 4.3.1 Bài thảo luận số 73 4.3.2 Bài thảo luận số 74 4.3.3 Bài thảo luận số 75 BÀI THỰC HÀNH MỘT SỐ CONTROL TRONG C# (BUỔI 2) 76 5.1 Mục tiêu 76 5.2 Nội dung thực hành 76 5.3 Bài tập tự làm 80 BÀI USER CONTROL 81 6.1 User Control (UC) 81 6.1.1 Khái niệm 81 6.1.2 Xây dụng UC 81 BÀI THỰC HÀNH USER CONTROL 82 7.1 Mục tiêu 82 7.2 Nội dung thực hành 82 7.3 Bài tập tự làm 85 BÀI THAO TÁC VỚI FILE XML VÀ REGISTRY 86 8.1 Thao tác với file XML 86 8.1.1 XML gì? 86 8.1.2 Cú pháp XML 86 -2- Đề cương môn học: Lập trình nâng cao với C# 8.1.3 Đọc/ghi file XML C# 87 8.2 Thao tác với Registry 90 8.2.1 Giới thiệu Registry 90 8.2.2 Cấu trúc Registry Windows 91 8.2.3 Thao tác với Registry C# 92 BÀI THỰC HÀNH THAO TÁC VỚI FILE XML VÀ REGISTRY 94 9.1 Mục tiêu 94 9.2 Nội dung thực hành 94 9.3 Bài tập tự làm 98 BÀI 10 THẢO LUẬN VỀ USER CONTROL VÀ CÁC THAO TÁC VỚI XML, REGISTRY 100 10.1 Mục tiêu 100 10.2 Tổ chức thực 100 10.3 Nội dung thảo luận 100 10.3.1 Bài thảo luận số 100 10.3.2 Bài thảo luận số 100 10.3.3 Bài thảo luận số 101 BÀI 11 GIỚI THIỆU ADO.NET 102 11.1 Giới thiệu ADO.NET 102 11.2 Các mô hình thao tác với CSDL 103 11.3 Kết nối đến nguồn liệu đối tượng Connection 104 11.3.1 Chức 104 11.3.2 Khai báo 104 11.3.3 Kết nối tới Cơ sở liệu 105 11.4 Thực thi câu lệnh SQL đối tượng Command 107 11.4.1 Chức 107 11.4.2 Khai báo 107 -3- Đề cương môn học: Lập trình nâng cao với C# 11.4.3 Các phương thức thường đối tượng Command 108 11.4.4 Sử dụng đối tượng Command 109 11.5 Truy vấn nhận liệu với DataReader 112 11.5.1 Chức 112 11.5.2 Khai báo 112 11.5.3 Sử dụng đối tượng DataReader 113 BÀI 12 THỰC HÀNH ĐỐI TƯỢNG CONNECTION, COMMAND VÀ DATAREADER 115 12.1 Mục tiêu 115 12.2 Nội dung thực hành 115 12.3 Bài tập tự làm 119 BÀI 13 ĐỐI TƯỢNG DATAADAPTER, DATASET VÀ PARAMETER 122 13.1 Cập nhật truy vấn liệu với đối tượng DataAdapter 122 13.1.1 Chức 122 13.1.2 Khai báo đối tượng DataAdapter 122 13.1.3 Sử dụng đối tượng DataAdapter 122 13.2 Mô hình DataSet 124 13.2.1 Chức 124 13.2.2 Khai báo 124 13.2.3 Mô hình DataSet 124 13.3 Đối tượng Parameter 125 13.3.1 Chức 125 13.3.2 Sử dụng 125 BÀI 14 THỰC HÀNH ĐỐI TƯỢNG DATAADAPTER, DATASET VÀ PARAMETER 128 14.1 Mục tiêu 128 14.2 Nội dung thực hành 128 -4- Đề cương môn học: Lập trình nâng cao với C# 14.3 Bài tập tự làm 135 BÀI 15 THẢO LUẬN VỀ CÁC ĐỐI TƯỢNG CỦA ADO 137 15.1 Mục tiêu 137 15.2 Tổ chức thực 137 15.3 Nội dung thảo luận 137 15.3.1 Bài thảo luận số 137 15.3.2 Bài thảo luận số 138 15.3.3 Bài thảo luận số 139 BÀI 16 SẮP XẾP VÀ TÌM KIẾM DỮ LIỆU VỚI DATAVIEW, LINQ 140 16.1 Ràng buộc liệu với điều khiển 140 16.1.1 Mục đích 140 16.1.2 Sử dụng 140 16.2 Sử dụng DataView xếp tìm kiếm liệu 140 16.2.1 Chức 140 16.2.2 Một số thuộc tính thường dùng 141 16.2.3 Một số Phương thức đối tượng DataView 141 16.2.4 Ví dụ sử dụng đối tượng DataView 141 16.3 LINQ 143 16.3.1 Giới thiệu LINQ 143 16.3.2 Các thành phần LINQ 143 16.3.3 LINQ vs ADO.NET 147 16.3.4 Cài đặt LinQ 147 16.3.5 Sử dụng LinQ 149 BÀI 17 THỰC HÀNH SỬ DỤNG DATAVIEW VÀ LINQ 152 17.1 Mục tiêu 152 17.2 Nội dung thực hành 152 -5- Đề cương môn học: Lập trình nâng cao với C# 17.3 Bài tập tự làm 154 BÀI 18 THẢO LUẬN VỀ LINQ 157 18.1 Mục tiêu 157 18.2 Tổ chức thực 157 18.3 Nội dung thảo luận 157 18.3.1 Bài thảo luận số 157 18.3.2 Bài thảo luận số 158 BÀI 19 THIẾT KẾ REPORT VỚI CRYSTAL REPORT 159 19.1 Thiết kế báo cáo với Crystal Report 159 19.2 Nạp hiển thị Report chương trình 167 19.3 Thiết kế Report động 167 19.3.1 Mục đích 167 19.3.2 Sử dụng 168 BÀI 20 THỰC HÀNH THIẾT KẾ REPORT VỚI CRYSTAL REPORT 171 20.1 Mục tiêu 171 20.2 Nội dung thực hành 171 20.3 Bài tập tự làm 173 -6- Đề cương môn học: Lập trình nâng cao với C# BÀI C# TỔNG QUAN VỀ NET VÀ CÁC CONTROL TRONG 1.1 Môi trường thực thi ngôn ngữ chung – CLR Như đề cập CLR thực quản lý nhớ, quản lý thực thi tiểu trình, thực thi mã nguồn, xác nhận mã nguồn an toàn, biên bịch dịch vụ hệ thống khác Những đặc tính tảng cho mã nguồn quản lý chạy CLR Do trọng đến bảo mật, thành phần quản lý cấp mức độ quyền hạn khác nhau, phụ thuộc vào nhiều yếu tố nguyên thủy chúng như: liên quan đến Internet, hệ thống mạng nhà máy, hay máy tính cục Điều có nghĩa rằng, thành phần quản lý có hay quyền thực thao tác truy cập tập tin, thao tác truy cập registry, hay chức nhạy cảm khác CLR thúc đẩy việc mã nguồn thực việc truy cập bảo mật Ví dụ, người sử dụng giới hạn việc thực thi nhúng vào trang web chạy hoạt hình hình hay hát nhạc, truy cập liệu riêng tư, tập tin hệ thống, hay truy cập mạng Do đó, đặc tính bảo mật CLR cho phép phần mềm đóng gói Inernet có nhiều đặc tính mà không ảnh hưởng đến việc bảo mật hệ thống CLR thúc đẩy cho mã nguồn thực thi mạnh mẽ việc thực thi mã nguồn xác xác nhận mã nguồn Nền tảng việc thực Common Type System (CTS) CTS đảm bảo mã nguồn quản lý tự mô tả (self- describing) Sự khác Microsoft trình biên dịch ngôn ngữ hãng thứ ba việc tạo mã nguồn quản lý thích hợp với CTS Điều mã nguồn quản lý sử dụng kiểu quản lý khác thể hiện, thúc đẩy nghiêm ngặt việc sử dụng kiểu liệu xác an toàn Thêm vào đó, môi trường quản lý runtime thực việc tự động xử lý layout đối tượng quản lý tham chiếu đến đối tượng, giải phóng chúng chúng không sử dụng Việc quản lý nhớ tự động giải hai lỗi chung ứng dụng: thiếu nhớ tham chiếu nhớ không hợp lệ -7- Đề cương môn học: Lập trình nâng cao với C# Trong runtime thiết kế cho phần mềm tương lai, hỗ trợ cho phân mềm ngày trước Khả hoạt động qua lại mã nguồn quản lý mã nguồn không quản lý cho phép người phát triển tiếp tục sử dụng thành phần cần thiết COM DLL Rutime thiết kế để cải tiến hiệu suất thực Mặc dù CLR cung cấp nhiều tiêu chuẩn dịch vụ runtime, mã nguồn quản lý không dịch Có đặc tính gọi Just-in-Time (JIT) biên dịch tất mã nguồn quản lý vào ngôn ngữ máy hệ thống vào lúc mà thực thi Khi đó, trình quản lý nhớ xóa bỏ phân mảnh nhớ gia tăng tham chiếu nhớ cục bộ, kết gia tăng hiệu thực thi 1.2 Ngôn ngữ trung gian - IL Như biết, Intermediate Language hoạt động chất NET Framework Là lập trình viên C#, nên biết mã C# dịch sang Intermediate Language trước thực thi (thật vậy, trình biên dịch C# dịch sang mã có quản) Chúng ta khám phá tính IL, ngôn ngữ hướng NET hỗ trợ đặc tính IL ▪ Sau đặc tính Intermediate Language: ▪ Hướng đối tượng dùng interfaces ▪ Sự tách biệt kiểu giá trị kiểu tham chiếu ▪ Định kiểu mạnh ▪ Quản lỗi thông qua ngoại lệ ▪ Sự dụng thuộc tính -8- Đề cương môn học: Lập trình nâng cao với C# 1.3 Giới thiệu Net Framework NET Framework platform làm đơn giản việc phát triển ứng dụng môi trường phân tán Internet .NET Framework thiết kế đầy đủ để đáp ứng theo quan điểm sau: ▪ Để cung cấp môi trường lập trình hướng đối tượng vững chắc, mã nguồn đối tượng lưu trữ thực thi cách cục Thực thi cục phân tán Internet, thực thi từ xa ▪ Để cung cấp môi trường thực thi mã nguồn mà tối thiểu việc đóng gói phần mềm tranh chấp phiên ▪ Để cung cấp môi trường thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã nguồn, bao gồm việc mã nguồn tạo hãng thứ ba hay hãng mà tuân thủ theo kiến trúc NET ▪ Để cung cấp môi trường thực thi mã nguồn mà loại bỏ lỗi thực script hay môi trường thông dịch ▪ Để làm cho người phát triển có kinh nghiệm vững nắm vững nhiều kiểu ứng dụng khác Như từ ứng dụng Windows đến ứng dụng dựa web Để xây dựng tất thông tin dựa triên tiêu chuẩn công nghiệp để đảm bảo mã nguồn NET tích hợp với mã nguồn khác -9- Đề cương môn học: Lập trình nâng cao với C# 1.4 Tạo ứng dụng Windows form Bước 1: Khởi động VS2008 chọn Fille  New Project … Bước 2: Chọn Ứng dụng dạng Windows Forms Application, chọn nơi lữu trữ Project (xem hình) nhấn OK 1.5 Lớp Control C# (các công cụ VS nói riêng) bao gồm tập điều khiển MS xây dựng sẵn Một số điều khiển hiển thị công cụ Toolbox VS - 10 - Đề cương môn học: Lập trình nâng cao với C# ▼ ▼ - 160 - Đề cương môn học: Lập trình nâng cao với C# Report chia làm khu vực (Section): ▪ Section (Report Header): Những thiết kế phần xuất trang báo cáo (Report) (nếu báo cáo có nhiều trang) ▪ Section (Page Header): Những thiết kế phần xuất tất báo cáo (nếu báo cáo có nhiều trang) ▪ Section (Detail): Khu vực hiển thị nội dung bảng CSDL ▪ Section (Report Footer) Section 5(Page Footer) có ý nghĩa tương tự Section Bước 3: Kết nối đến nguồn CSDL ▼ - 161 - Đề cương môn học: Lập trình nâng cao với C# Chú ý: Tùy thuộc CSDL (SQL Server, Access, Excel…) mà chọn Driver cho thích hợp (trong trường hợp chọn kết nối đến SQL Server) ▼ ▼ - 162 - Đề cương môn học: Lập trình nâng cao với C# Chọn tên Server từ Combobox Server (ở tên server là: VIETHQTK1 bạn gõ vào localhost…) Sau bạn chọn CSDL mà muốn hiển thị Report Combobox Database (ở chọn CSDL Northwind) ▼ - 163 - Đề cương môn học: Lập trình nâng cao với C# Chọn bảng liệu cần hiển thị liệu Report bên khung bên trái sau nhấn nút > Khi danh sách bảng bạn chọn hiển thị bên tay phải bạn (ở muốn hiển thị bảng CSDL Customers) Bước 4: Thiết kế Report Đế thiết kế reports Visual Studio cung cấp số điều khiển (trong hộp thoại Toolbox), điều khiển có thuộc tính ứng dụng Window Form.Ở ta ý đến điều khiển - Text Object: Hiển thi chuỗi Text (như Label) - Line Object: Dùng kẻ đường thẳng Trước hết thiết kế cho phần Section (Report Header) (thường hiển thị CỘNG HÒA XÃ HỘI CHỦ NGHĨA…… ) Section (Page Header) (thường hiển thị tiêu đề báo cáo) Ở đây: phần dùng điều khiển Text Object để thiết kế - 164 - Đề cương môn học: Lập trình nâng cao với C# Tiếp đến thiết kế để liệu từ CSDL hiển thị Report Chúng ta làm theo bước sau: Bạn kéo trường bảng CSDL Customers khung Field Explorer bên tay trái vào khu vực Section (Details) ta hình - 165 - Đề cương môn học: Lập trình nâng cao với C# Để xem kết thiết kế bạn bạn chọn Tab Main Report Preview để xem kết Để quay trở lại thiết kế bạn chọn Tab Main Report → Quá trình thiết kế Report hoàn tất đến bước hiển thị Report Form - 166 - Đề cương môn học: Lập trình nâng cao với C# 19.2 Nạp hiển thị Report chương trình Bước 5: Hiển thị Report form Để hiến thị Report nên Form, VS hỗ trợ điều khiển CystalReportViewr Tab Reporting Bạn kéo điều khiển vào form sau đặt thuộc tính ReportSource cho điều khiển Reports vừa thiết kế → Giờ bạn chạy form xem kết xem nào! 19.3 Thiết kế Report động 19.3.1 Mục đích Truyền liệu từ form (dữ liệu nhập vào từ textbox, liệu từ biến…) sang report nhằm thiết kế report động - 167 - Đề cương môn học: Lập trình nâng cao với C# 19.3.2 Sử dụng Yêu cầu: Truyền liệu từ textbox có tên txtTenSinhVien (txtTenSinhVien nằm form frmDynamicReport) sang report có tên reDynamicReport Cách làm: Bước 1: Thiết kế report có nội dung sau (hoàn toàn tương tự bước trên) Trên Report có TextObject có tên txtTenSinhvien dùng để đón nhận kết truyền từ form sang Bước 2: Thiết kế form có giao diện sau (frmDynamicReport) frmDynamicReport chia làm hai phần sử dụng SplitContainer - Phần thứ (Panel 1) chứa textbox có tên txtTenSinhVien để truyền liệu sang TextObject (txtTenSinhVien) Report Button OK để minh họa cho việc truyền liệu - Phần thứ (Panel 2) chứa điều khiển crystalReportViewer1để hiển thị report thiết kế bước - 168 - Đề cương môn học: Lập trình nâng cao với C# Bước 3: Truyền liệu từ Textbox sang Report using CrystalDecisions.CrystalReports; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.CrystalReports.Engine.Migration; namespace CrystalReport2008 { public partial class frmDynamicReport : Form { private void btOK_Click(object sender, EventArgs e) { crDynamicReport rpt = new crDynamicReport(); //Truyền liệu ((TextObject)rpt.ReportDefinition.ReportObjects["txtTenSinhVien"]).Text = txtTenSinhVien.Text; //Refresh data crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.RefreshReport(); } } } Sau nhấn button OK ta có kết bên - 169 - Đề cương môn học: Lập trình nâng cao với C# - 170 - Đề cương môn học: Lập trình nâng cao với C# BÀI 20 THỰC HÀNH THIẾT KẾ REPORT VỚI CRYSTAL REPORT 20.1 Mục tiêu - Cách tạo đối tượng Report C# - Cách kết nối CSDL Report - Sử dụng report để thiết kế báo cáo 20.2 Nội dung thực hành - Khi người dùng nhấn btOK thiết kế Report động với nội dung textbox truyền xuống Report Hướng dẫn thực hiện: - Thiết kế Report có giao diện hình bên dưới: - 171 - Đề cương môn học: Lập trình nâng cao với C# Trên Report có TextObject có tên txtTenSinhvien dùng để đón nhận kết truyền từ form sang - Thiết kế form frmDynamicReport: sử dụng điều khiển Container chia form làm phần (2 panel) o Panel 1: Chứa Một textbox nutton Button (xem hình vẽ) o Panel 2: chứa điều khiển crystalReportViewer1để hiển thị report thiết kế - Viết kiện cho btOK using CrystalDecisions.CrystalReports; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.CrystalReports.Engine.Migration; namespace CrystalReport2008 { public partial class frmDynamicReport : Form { private void btOK_Click(object sender, EventArgs e) { crDynamicReport rpt = new crDynamicReport(); //Truyền liệu ((TextObject)rpt.ReportDefinition.ReportObjects["txtTenSinhVien"]).Text = txtTenSinhVien.Text; - 172 - Đề cương môn học: Lập trình nâng cao với C# //Refresh data crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.RefreshReport(); } } } 20.3 Bài tập tự làm Trường Đại học Sư phạm Kỹ thuật Hưng yên sử dụng SQL Server để lưu trữ danh sách sinh viên bảng điểm học sinh Dữ liệu thiết kế sau: +MonHoc(Ma,ten) +LopHoc(Ma,ten) +SV(Ma,Ten,Malop,SOBienLai) +Điểm (masv,mamon,diem) Viêt chương trình hiển thị danh sách sinh viên theo lớp chọn (từ combo) + Chú ý: Danh sách sinh viên xếp theo trình tự (tên, họ) Lưu cập nhật điểm toàn lớp vào database UTEHY + Tạo form report(trên word excel) dùng để tạo report cho danh sách Sv bảng điểm lớp - 173 - Đề cương môn học: Lập trình nâng cao với C# - 174 - ... thị c ng c Toolbox VS - 10 - Đề c ơng môn h c: Lập trình nâng cao với C# Ngoài để lấy điều khiển chưa hiển thị c ng c Toolbox lấy c ch: Tools  Choose Toolbox Items… - 11 - Đề c ơng môn h c: Lập. .. kiện MouseClick xảy bạn Click chuột PHẢI"); } / /C c kiện MouseDoubleClick, MouseDown, MouseUp Xử lý tương tự - 19 - Đề c ơng môn h c: Lập trình nâng cao với C# BÀI MỘT SỐ CONTROL TRONG C# 2.1 Textbox... kiện MouseClick xảy bạn Click chuột TRÁI"); else if (e.Button==MouseButtons.Middle) MessageBox.Show("Sự kiện MouseClick xảy bạn Click - 18 - Đề c ơng môn h c: Lập trình nâng cao với C# chuột GIỮA");

Ngày đăng: 24/10/2017, 15:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan