1
2
tổng hợp và biên dịch
Nguyễn Ngọc Bình Phương - Thái Thanh Phong
Nguyễn Ngọc Bình Phương - Thái Thanh Phong
cùng sự cộng tác của
Nguyễn Thanh Nhân - Trần Lê Vĩnh Phong
Nguyễn Thanh Nhân - Trần Lê Vĩnh Phong
Nguyễn Quang Nam - Đinh Phan Chí Tâm
Nguyễn Quang Nam - Đinh Phan Chí Tâm
Bùi Minh Khoa - Lê Ngọc Sơn
Bùi Minh Khoa - Lê Ngọc Sơn
Thái Kim Phụng - Lê Trần Nhật Quỳnh
Thái Kim Phụng - Lê Trần Nhật Quỳnh
Chịu trách nhiệm xuất bản:
TS. Nguyễn Xuân Thủy
TS. Nguyễn Xuân Thủy
Biên tập:
Hồ Nguyễn Thị Thanh Thúy
Hồ Nguyễn Thị Thanh Thúy
Trình bày bìa:
Nguyễn Thị Thanh Thủy
Nguyễn Thị Thanh Thủy
Chế bản & Sửa bản in:
Nguyễn Ngọc Bình Phương
Nguyễn Ngọc Bình Phương
Nhà sách Đ t Vi tấ ệ
Nhà sách Đ t Vi tấ ệ
Địa chỉ:
225 Nguyễn Tri Phương, Q.5, TP. Hồ Chí Minh
225 Nguyễn Tri Phương, Q.5, TP. Hồ Chí Minh
Điện thoại:
(08) 2 652 039
(08) 2 652 039
E-mail:
datviet@dvpub.com.vn
datviet@dvpub.com.vn
5
NHÀ XUẤT BẢN GIAO THÔNG VẬN TẢI
NHÀ XUẤT BẢN GIAO THÔNG VẬN TẢI
6
7
LỜI NÓI ĐẦU
ác giải pháp lập trình C#
NET Framework
!"#$%&'()*+,
-./01.(2).3
C
Các giải pháp lập trình C#
45..2)3&*6
%C#7'6'8'..9(6%:)$
;<')=>.NET FrameworkC#8&*?@6'9'
'.'>4
A.:BC8&*D.!.89''@
.E'2F@$&*GH'I
&*J.D.CI:.%NET8
Các giải
pháp lập trình C#
?.K2
L*4C>*C#NET I
JMN0G8&*O)O.G&5
I6M%PG)9''
?2I=$@
.CN8QF.&*O.
2&*
RN.S9''S$I*'O.>
>&1.1NET Framework7 $8&*@6
'2).3'?@*'>>& 1.0 ' 2.0 NET
Framework8'>'$O.
PG4;<.M&* Nguyễn Thanh Nhân8Trần Lê
Vĩnh Phong8 Nguyễn Quang Nam8Đinh Phan Chí Tâm8BùiMinh Khoa8 Lê
Ngọc Sơn8Thái Kim Phụng8Lê Trần Nhật QuỳnhSFKFF
LỜI NÓI ĐẦU
8
9B&9'T.MNhà xuất bản Giao thông Vận tảiNhà
sách Đất ViệtS*9''I&*0
UNN>;&>9''FVKIF
W.6$BIFF6;X&*N&
$M
7<0.M
10
CẤU TRÚC CỦA SÁCH
Y''$Z[M8.#M6.
9%*C#
CẤU TRÚC CỦA SÁCH
PMZ\
PM]\
PM^\
PM_\
!"#$
PM`\
%
PMa\
&&'
PM[\
()&)#'
PMb\
!"*!+,
PMc\
')+-
PMZd\
.
PMZZ\
/0
PMZ]\
1&)#
%)
PMZ^\
#/
PMZ_\
/2
PMZ`\
342
356!+76869
PMZa\
:5
PMZ[\
;7<5+=&&
12
QUY ƯỚC
Y''O)9'\
Về font chữ
>?@AAB>@CAB
EUe>>8>f(
.84.*
>?DE@FGHIABJKLMA>
gfCourie NewhEUe
*M%8NO.S
<8e'08&I8!28F8.888
4>8M:8.)(8284
D8i8D$8=8M:B=8
jXML8jHTML8)f(8I;Q<
>?@ALNODE@FGHIABJKLMA>
EUe*
M%>&6.N90.S
!)e)k8<SQL
Về ký hiệu
Vấn đề Thủ thuật
QUY ƯỚC
13
Giải pháp Ghi chú
15
YÊU CẦU VỀ HỆ THỐNG
l*'$K2).31.9''8&*@N
KN..<'\
Microsoft .NET Framework SDK version 1.1
Microsoft Visual Studio .NET 2003
Microsoft Windows 2000
8
Windows XP
8
!
Microsoft Windows Server 2003
Microsoft SQL Server 2000
!
MSDE
D.MZd
Microsoft Internet Information Services (IIS)
D.D.M[MZ]
m>NDN:&;OBPentium II _`d"no8
)$ RAMDZ]b"LI&*O)
Microsoft Windows 20008 ]`a"LI&*O)
Windows XP8Windows 2000 Server8'Windows Server 2003L*
N`pL)$q:kD!Visual
Studio .NET 2003HKi'.:D89%
@)r)M>.D)$RAM
q:kD
"!)e&=NET FrameworkWindowsMicrosoft
>.9''8..>90.
YÊU CẦU VỀ HỆ THỐNG
[...]... kiện NET chuẩn (sẽ đư c mô tả trong m c 16.10) Trong c c phương th c này (ho c trong c c phương th c đư c gọi bởi c c c c phương th c này), bạn sẽ định nghĩa c c ch c năng c a ứng dụng • Khai báo một phương th c khởi dựng cho lớp form để tạo c c điều kiểm trên form và c u hình trạng thái ban đầu c a chúng (kích thư c, màu, nội dung…) Phương th c khởi dựng này c ng nên liên kết c c phương th c thụ lý... phiên bản c a ứng dụng để hỗ trợ c c nền và môi trường kh c nhau M c dù c ch này kh c ph c đư c c c vấn đề về độ lớn c a mã nguồn và vi c giảm hiệu năng, nhưng nó không phải là giải pháp tốt khi phải giữ mã nguồn kh c nhau cho mỗi phiên bản Vì vậy, C# cung c p c c tính năng cho phép bạn xây dựng c c phiên bản tùy biến c a ứng dụng chỉ từ một mã nguồn C c chỉ thị tiền xử lý cho phép bạn chỉ định c c khối... /reference và chỉ định tên c a thư viện khi biên dịch ứng dụng M c 1.1 minh họa c ch xây dựng ứng dụng MyFirstApp.exe từ hai file mã nguồn ConsoleUtils.cs và HelloWorld.cs File ConsoleUtils.cs chứa lớp ConsoleUtils, cung c p c c phương th c đơn giản hóa sự tương t c với Console C c ch c năng này c a lớp ConsoleUtils c ng c thể hữu ích cho c c ứng dụng kh c Để sử dụng lại lớp này, thay vì gộp c mã nguồn c a... và dự án Visual Studio NET 2003, đư c tổ ch c theo chương và số đề m c Mỗi chương là một giải pháp đ c lập, và mỗi đề m c là một dự án đ c lập bên trong giải pháp c a chương Một vài đề m c trong chương 11 và chương 12 trình bày về lập trình mạng gồm những dự án đ c lập c chứa c c phần client và server trong giải pháp c a đề m c M c dù tất c những ví dụ mẫu đư c cấp ở dạng dự án Visual Studio NET,... truy xuất c c điều kiểm này, hiện th c c c thành viên c n thiết trong lớp form để cung c p vi c truy xuất gián tiếp (kiểm soát đư c) đến c c điều kiểm nằm trong • Trong lớp form, khai báo c c phương th c thụ lý c c sự kiện do c c điều kiểm trên form sinh ra, chẳng hạn vi c nhắp vào Button, vi c nhấn phím khi một TextBox đang tích c c C c phương th c này nên đư c khai báo là private ho c protected và... Biên dịch c c kiểu đư c viết trong C# thành một dạng c thể sử dụng lại đư c trong c c ngôn ngữ NET kh c Sử dụng c c kiểu đư c phát triển bằng một ngôn ngữ kh c bên trong ứng dụng C# c a bạn Sử dụng đối số /target:module (c a trình biên dịch C# ) để xây dựng mã nguồn C# c a bạn thành một module Sử dụng đối số /addmodule để kết hợp c c module hiện c vào assembly c a bạn Module là c c khối c bản tạo... sẽ đư c biên dịch vào file th c thi chỉ nếu c c ký hiệu c thể đư c định nghĩa l c biên dịch C c ký hiệu hoạt động như c c c ng t c on/off, chúng không c giá trị mà chỉ là “đã đư c định nghĩa” hay “chưa đư c định nghĩa” Để định nghĩa một ký hiệu, bạn c thể sử dụng chỉ thị #define trong mã nguồn ho c sử dụng đối số trình biên dịch /define Ký hiệu đư c định nghĩa bằng #define c t c dụng đến cuối... định nghĩa nó Ký hiệu đư c định nghĩa bằng /define c t c dụng trong tất c c c file đang đư c biên dịch Để bỏ một ký hiệu đã định nghĩa bằng /define, C# cung c p chỉ thị #undef, hữu ích khi bạn muốn bảo đảm một ký hiệu không đư c định nghĩa trong c c file nguồn c thể C c chỉ thị #define và #undef phải nằm ngay đầu file mã nguồn, trên c c c chỉ thị using C c ký hiệu c phân biệt chữ hoa-thường Trong... hạn c c quyền đư c cấp cho assembly 519 6 Xem c c yêu c u quyền đư c tạo bởi một assembly 520 7 X c định mã lệnh c quyền nào đó l c th c thi hay không 522 8 Hạn chế ai đó thừa kế c c lớp c a bạn và chép đè c c thành viên lớp 523 9 Kiểm tra chứng c c a một assembly 525 10 Xử lý chứng c khi nạp một assembly 527 11 Xử lý bảo mật bộ th c thi bằng chứng c c a... bày chi tiết c c vấn đề sau đây: Xây dựng c c ứng dụng Console và Windows Form (m c 1.1 và 1.2) Tạo và sử dụng đơn thể mã lệnh và thư viện mã lệnh (m c 1.3 và 1.4) Truy xuất đối số dòng lệnh từ bên trong ứng dụng (m c 1.5) Sử dụng c c chỉ thị biên dịch để tùy biến vi c biên dịch mã nguồn (m c 1.6) Truy xuất c c phần tử chương trình (đư c xây dựng trong ngôn ngữ kh c) c tên xung đột với c c từ khóa C# . nguồn c a bạn 56
Chương 2: THAO T C DỮ LIỆU 59
1. Thao t c chuỗi một c ch hiệu quả 61
2. Mã hóa chuỗi bằng c c kiểu mã hóa ký tự 62
3. Chuyển c c kiểu. Bảo đảm bộ th c thi c p cho assembly một số quyền nào đó 517
5. Giới hạn c c quyền đư c cấp cho assembly 519
6. Xem c c yêu c u quyền đư c tạo bởi một
Ngày đăng: 24/03/2014, 15:57
Xem thêm: các giải pháp lập trình c, các giải pháp lập trình c, Chương 1:PHÁT TRIỂN ỨNG DỤNG, Tạo ứng dụng dựa-trên-Windows, Chọn biên dịch một khối mã vào file thực thi, Ngăn người khác dịch ngược mã nguồn của bạn, Chương 2:THAO TÁC DỮ LIỆU, Mã hóa chuỗi bằng các kiểu mã hóa ký tự, Mã hóa dữ liệu nhị phân thành văn bản, Sử dụng biểu thức chính quy đã được biên dịch, Lưu một đối tượng khả-tuần-tự-hóa vào file, Chương 3:MIỀN ỨNG DỤNG, CƠ CHẾ PHẢN CHIẾU, VÀ SIÊU DỮ LIỆU, Thể hiện hóa một kiểu trong miền ứng dụng khác, Tạo một đối tượng bằng cơ chế phản chiếu, Tạo một đặc tính tùy biến, Sử dụng cơ chế phản chiếu để kiểm tra các đặc tính của một phần tử chương trình, Chương 4:TIỂU TRÌNH, TIẾN TRÌNH, VÀ SỰ ĐỒNG BỘ, Thực thi phương thức với thread-pool, Thực thi phương thức một cách bất đồng bộ, Thực thi phương thức bằng Timer, Thực thi phương thức bằng cách ra hiệu đối tượng WaitHandle, Điều khiển quá trình thực thi của một tiểu trình, Đồng bộ hóa quá trình thực thi của nhiều tiểu trình, Khởi chạy một tiến trình mới, Bảo đảm chỉ có thể chạy một thể hiện của ứng dụng tại một thời điểm, Hiển thị cấu trúc của một tài liệu XML trong TreeView, Chèn thêm nút vào tài liệu XML một cách nhanh chóng, Tìm các phần tử với biểu thức XPath, Đọc và ghi XML mà không phải nạp toàn bộ tài liệu vào bộ nhớ, Xác nhận tính hợp lệ của một tài liệu XML dựa trên một Schema, Sử dụng XML Serialization với các đối tượng tùy biến, Thực hiện phép biến đổi XSL, Sử dụng ComboBox có tính năng auto-complete, Sử dụng một phần menu chính cho menu ngữ cảnh, Xác nhận tính hợp lệ của đầu vào cho một điều kiểm, Thay đổi độ đục của form, Chương 7:ASP.NET VÀ WEB FORM, Duy trì trạng thái giữa các yêu cầu của trang, Đáp ứng các sự kiện phía client với JavaScript, Cho phép người dùng upload file, Sử dụng IIS authentication, Sử dụng Forms authentication, Thực hiện xác nhận tính hợp lệ có-chọn-lựa, Thêm động điều kiểm vào Web Form, Trả về động một bức hình, Nạp điều kiểm người dùng bằng mã lệnh, Sử dụng page-caching và fragment-caching, Kích hoạt việc gỡ rối ứng dụng Web, Chương 8:ĐỒ HỌA, ĐA PHƯƠNG TIỆN, VÀ IN ẤN, Thực hiện “hit testing” với shape, Tạo điều kiểm có hình dạng tùy biến, Sử dụng “double buffering” để tăng tốc độ vẽ lại, Phát tiếng “beep” của hệ thống, Lấy thông tin về các máy in đã được cài đặt, In văn bản đơn giản, In văn bản có nhiều trang, Quản lý tác vụ in, Sử dụng Microsoft Agent, Chương 9:FILE, THƯ MỤC, VÀ I/O, Truy xuất các thông tin về file hay thư mục, Chép, chuyển, xóa file hay thư mục, Sử dụng TreeView để hiển thị cây thư mục just-in-time, Đọc file một cách bất đồng bộ, Hiển thị các hộp thoại file, Theo dõi hệ thống file để phát hiện thay đổi, Chương 10:CƠ SỞ DỮ LIỆU, Kết nối cơ sở dữ liệu, Thực thi câu lệnh SQL hoặc thủ tục tồn trữ, Sử dụng thông số trong câu lệnh SQL hoặc thủ tục tồn trữ, Xử lý kết quả của truy vấn SQL bằng data-reader, Thu lấy tài liệu XML từ truy vấn SQL Server, Nhận biết tất cả các thể hiện SQL Server 2000 trên mạng, Sử dụng Data Form Wizard, Sử dụng Crystal Report Wizard, Hiển thị trang web trong ứng dụng dựa-trên-Windows, “Ping” một địa chỉ IP, Tạo một TCP-server hỗ-trợ-đa-tiểu-trình, Sử dụng TCP một cách bất đồng bộ, Gửi và nhận e-mail với MAPI, Chương 12:DỊCH VỤ WEB XML VÀ REMOTING, Sử dụng kỹ thuật data-caching trong dịch vụ Web XML, Tạo phương thức web hỗ trợ giao dịch, Gọi bất đồng bộ một phương thức web, Phát sinh sự kiện trên kênh truy xuất từ xa, Tạo phương thức một chiều với dịch vụ Web XML hay Remoting, Xử lý bảo mật bộ thực thi bằng chính sách bảo mật của miền ứng dụng, Xác định người dùng hiện hành có là thành viên của một nhóm Windows nào đó hay không, Hạn chế những người dùng nào đó thực thi mã lệnh của bạn, Giả nhận người dùng Windows, Kiểm tra mã băm, Bảo vệ file bằng phép mật hóa đối xứng, Gửi một bí mật bằng phép mật hóa bất đối xứng, Lưu trữ khóa bất đối xứng một cách an toàn, Trao đổi khóa phiên đối xứng một cách an toàn, Chương 15:KHẢ NĂNG LIÊN TÁC MÃ LỆNH KHÔNG-ĐƯỢC-QUẢN-LÝ, Gọi một hàm trong một DLL không-được-quản-lý, Gọi một hàm không-được-quản-lý có sử dụng cấu trúc, Sử dụng thành phần COM trong .NET-client, Tạo thành phần .NET dùng cho COM-client, Chương 16:CÁC GIAO DIỆN VÀ MẪU THÔNG DỤNG, Hiện thực kiểu khả-tuần-tự-hóa (serializable type), Hiện thực kiểu khả-sao-chép (cloneable type), Hiện thực kiểu khả-so-sánh (comparable type), Hiện thực kiểu khả-liệt-kê (enumerable type), Hiện thực lớp khả-hủy (disposable class), Hiện thực kiểu khả-định-dạng (formattable type), Hiện thực lớp ngoại lệ tùy biến, Hiện thực mẫu Observer, Chương 17:SỰ HÒA HỢP VỚI MÔI TRƯỜNG WINDOWS, Truy xuất thông tin môi trường, Ghi một sự kiện vào nhật ký sự kiện Windows, Tạo một dịch vụ Windows, Tạo một bộ cài đặt dịch vụ Windows, Tạo shortcut trên Desktop hay trong Start menu, PHỤ LỤC A: GIỚI THIỆU MỘT SỐ CÔNG CỤ .NET, A.2 Xây dựng biểu thức chính quy với Regulator, A.7 Lập tài liệu mã lệnh với NDoc, A.8 Tạo dựng giải pháp với NAnt, A.10 Chuyển đổi phiên bản dự án với Visual Studio .NET Project Converter, PHỤ LỤC B: THUẬT NGỮ ANH - VIỆT