Rss coi là chìa khóa cho việc chia sẻ thông tin. Một trong những điều kì diệu nhất của web là khả năng đem đến cho người dùng những thông tin cập nhật nhật mới nhất vào bất kì thời điểm nào, không chỉ các tiêu đề tin tức mà cả nội dung mới cập nhật của toàn bộ trang web. Vậy điều gì đóng vai trò quyết định tới khả năng thể hiện thông tin trên trang web. Làm thế nào để các trang web có thể cập nhật thông tin mới nhất. Công nghệ RSS(tạm dịch là Rich Site Summary, tạm dịch: Tóm lược website đa thông tin) đóng vai trò lớn đối với điều tuyệt vời này. RSS có thể không phải công nghệ đầu tiên mà bạn nghĩ tới khi nói đến thành phần chính của web, tuy nhiên nó làm cho các thông điệp và tin tức được thể hiện với tốc độ của ánh sáng hoặc ít ra tốc độ mà chiếc modem của bạn có thể phục vụ được.
63 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1337 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Phát triển ứng dụng với Windows Form, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Mục Lục
PhầnI:Tổng quan về RSS
1.Lời nói đầu
Rss coi là chìa khóa cho việc chia sẻ thông tin. Một trong những điều kì diệu nhất của web là khả năng đem đến cho người dùng những thông tin cập nhật nhật mới nhất vào bất kì thời điểm nào, không chỉ các tiêu đề tin tức mà cả nội dung mới cập nhật của toàn bộ trang web. Vậy điều gì đóng vai trò quyết định tới khả năng thể hiện thông tin trên trang web. Làm thế nào để các trang web có thể cập nhật thông tin mới nhất. Công nghệ RSS(tạm dịch là Rich Site Summary, tạm dịch: Tóm lược website đa thông tin) đóng vai trò lớn đối với điều tuyệt vời này. RSS có thể không phải công nghệ đầu tiên mà bạn nghĩ tới khi nói đến thành phần chính của web, tuy nhiên nó làm cho các thông điệp và tin tức được thể hiện với tốc độ của ánh sáng hoặc ít ra tốc độ mà chiếc modem của bạn có thể phục vụ được.
2. RSS là gì?
RSS là định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tức Web được nhiều bởi website tin tức và weblog. Chữ viết tắt RSS dùng để chỉ các chuẩn sau:
- Rich Site Summary (RSS 0.91).
- RDF Site Summary (RSS 0.9 và 1.0).
- Really Simple Sydication (RSS 2.0.0).
Công nghệ RSS cho phép người dùng Internet có thể đặt mua thông tin từ các websites có khả năng cung cấp RSS (RSS feeds). Chúng thường là các site có nội dung thay đổi và được thêm vào thường xuyên, để có thể dùng công nghệ này, các người quản trị site đó tạo ra hay quản lý một phần mềm chuyên dụng (như một hệ thống quản lý nội dung- content management system- CMS), với định dạng XML mà máy có thể đọc được, có thể biểu diễn các bài tin mới thành một danh sách, với một hoặc hai dòng cho mỗi bài tin và một liên kết đến bài tin đầy đủ đó. Khác với việc mua nhiều ấn bản của các tờ báo hay tạp chí in giấy, hầu hết việc mua RSS là miễn phí.
Định dạng RSS là cung cấp nội dung web và tóm lược nội dung web cùng với các liên kết đến phiên bản đầy đủ của nội dung tin đó và các siêu dữ liệu (meta-data) khác. Thông tin này được cung cấp dưới dạng một tập tin XML được gọi là một RSS feed , webfeed, RSS stream, RSS channel. Cùng với việc hỗ trợ cung cấp chia sẻ thông tin, RSS cho phép những độc giả thường xuyên của website có thể theo dõi các cập nhật của site đó cùng một aggregator.
Chú thích: Một chương trình gọi là một feed reader hay aggregator có thể kiểm tra xem một website có hỗ trợ RSS cho người dùng không và, nếu có, hiển thị những bài viết cập nhật nhất mà nó tìm thấy từ website đó.
3. Lịch sử ra đời RSS.
RDF (Resource Description Framework) Site Summary, phiên bản đầu tiên của RSS, được tạo bởi Dan Libby của Netscape vào tháng 3-1999 dùng cho cổng điện tử My Netscape. Phiên bản này trở thành RSS 0.9. Vào tháng 7-1999, đáp trả lại lời đề nghị và góp ý, Libby đưa ra bản phác thảo ban đầu tên là RSS 0.91 (RSS viết tắt của Rich Site Summary), nhằm đơn giản hóa định dạng và tích hợp một số phần trong định dạng scriptingNews của Winter. Từ đó Libby đề xuất định dạng tương tự RSS 1.0 thông qua các gọi là Future Document.
Chẳng bao lâu Netscape không còn tập trung RSS/XML, bỏ rơi định dạng đó. Một nhóm làm việc và danh sách địa chỉ email, RSS-DEV, được thành lập bởi nhiều người dùng và cộng đồng XML để tiếp tục phát triển nó. Cùng thời điểm Winter đưa ra phiên bản sửa đổi RSS 0.91 cho website Userland, vì nó đang được dùng trong sản phẩm của họ. Ông ta cho rằng đặc tả kĩ thuật của RSS 0.91 là tài sản riêng của công ty ông, Userland Software. Vì chẳng có bên nào có tuyên bố chính thức về tên của định dạng cho nên bây giờ có nhiều tên gọi.
Nhóm RSS-DEV tiếp tục đưa ra RSS 1.0 vào tháng 12-2000 dựa trên bản phác thảo góp ý sửa đổi cho bản đặc tả kĩ thuật đưa ra bởi Tristan Louis. Giống với RSS 0.9 (không phải 0.91) bản này dựa vào đặc tả RDF, nhưng có tính khả mở hơn, với nhiều mục đích bắt nguồn từ các từ vựng metadata chuẩn như Dublin Core.
Mười chin ngày sau, Winer cho ra phiên bản RSS 0.92, có một vài chỉnh sửa có tính tương thích với các thay đổi của RSS 0.91 dựa trên cùng bản góp ý. Vào tháng 4-2001, ông đưa ra bản phác thảo RSS 0.93 mà hầu hết là giống với bản RSS 0.92. Bản thảo 0.94 ra đời vào tháng 8 và thêm vào thuộc tính (attribute) type cho thành phần (element) description.
Vào tháng 9-2002, Winer cho ra bản cuối cùng của RSS 0.92, bây giờ gọi là RSS 2.0 và nhấn mạnh “Really Simple Syndication” là nghĩa của ba kí tự viết tắt RSS. Đặc tả kĩ thuật của RSS 2.0 loại bỏ thuộc tính type từng được thêm vào trong RSS 0.94 và co phép người dùng có thể thêm vào thành phần mở rộng của XML namespaces. Nhiều phiên bản của RSS 2.0 đã được ra đời, nhưng chỉ số của phiên bản thì vẫn không thay đổi.
Vào tháng 11-2002, thời báo NewYork Time đã bắt đầu cung cấp cho người đọc khả năng mục các tin có hỗ trợ RSS feeds liên quan đến nhiều chủ đề khác nhau. Vào tháng 1-2003 David Winer đã gọi việc dùng RSS của thời báo NewYork Time là một “điểm nhấn” trong việc đưa định dạng RSS trở thành một chuẩn.
Vào tháng 7-2003, Winer và Userland Software được cấp quyền sở hữu của đặc tả kĩ thuật RSS 2.0, bởi Trung tâm Berkman về xã hội và Internet của Harvard.
4. Các phiên bản của RSS
a. Version RSS 0.9 : Tạo bởi Netscape, bị thay thế bởi RSS 1.0, hiện giờ không sử dụng.
b. Version RSS 0.91: Tạo bởi UserLand, bị thay thế bởi RSS 2.0, nhưng phiên bản RSS 0.91 vẫn được sử dụng; dùng chia sẻ tin tức dạng đơn giản.
c. Version RSS 0.92, 0.93, 0.94: cho phép nhiều metadata hơn 0.91, bị thay thế bởi RSS 2.0; sử dụng 2.0 thay thế.
d. Version RSS 1.0: Tạo bởi nhóm RSS-DEV, có nền tảng RDF, có không gian tên và mođun hóa, dùng cho ứng dụng có nền tảng RDF hoặc cần phát triển mođun cụ thể.
e. Version RSS 2.0: Tạo bởi UserLand, mođun hóa các thành phần; sử dụng trong nhiều mục đích, chia sẻ nhiều siêu dữ liệu.
5. Ứng dụng của RSS.
a. WebBlog (hay gọi tắt blog): bắt đầu xuất hiện và bung nổ trong đa số người dùng Internet khoảng 1 đến 2 năm. Blog cho phép người dùng, cá nhân hoặc nhóm, có thể đưa thông tin mạng với mọi chủ đề, thông thương có liên quan đến kinh nghiệm hoặc ý kiến cá nhân. Người sử dụng RSS khi tạo ra các blog để việc cập nhật các tệp blog trở nên dễ dàng hơn và giúp người đọc có thể nhận thấy sự thay đổi .
b. Chia sẻ thông tin diện rộng: Việc cung cấp thông tin rộng rãi cho nhiều chủ thể truyền thông là điều khá phổ biến trên truyền hình và các loại hình thông tấn báo chí khác. Đối với mạng lưới báo chí và truyền hình, việc tận dụng các thông tin kiểu này thường có giá thành rẻ hơn và cũng dễ dàng hơn cho việc tự tạo ra các nội dung. Thêm vào đó công chúng dễ dàng nhận biết và theo dõi các thông tin được quảng bá rộng rãi.
Các website sử dụng các thông tin được cung cấp rộng rãi cho các chủ thể khác nhau với lý do tương tự. Các chủ thể có uy tín và danh tiếng thường là người khởi tạo, tổ chức và phân phối các dữ liệu dùng chung . Một vài dữ liệu được truyền tải trên web có thể được chia sẻ miễn phí giữa các website, tuy nhiên cũng có nhiều trường hợp các thông tin này được một nhà phân phối bán lại cho các chủ thể có nhu cấu.
Nhiều website sử dụng RSS như một công cụ để cập nhật các thông tin mới liên quan tới trang web hoặc các sản phẩm mới. Lấy ví dụ một website đăng tải các thông tin về một sản phẩm cụ thể nào đó, chẳng hạn như Linux, có thể tự động thu thập các dữ liệu RSS từ nhiều website về Linux khác nhằm cung cấp cho khách hàng một kho thông tin chưa đầy các thông tin cập nhật về hệ điều hành này. Trong trường hợp này sử dụng RSS sẽ tiết kiệm thời gian hơn nhiều so với việc webmaster truy cập từng website Linux và cập nhật thông tin một cách thủ công.
c. Tập hợp thông tin.
Khi đề cập RSS, sự tập hợp thông tin có liên quan mật thiết tới khái niệm chia sẻ thông tin trên diện rộng. Nếu một website thu thập nhiều RSS và sau đó phân phối lại chúng , điều đó đồng nghĩa với sự tập hợp thông tin.
Các site khác nhau sử dụng các phương pháp tập hợp thông tin khác nhau. Một vài site có thể lựa chọn các nguồn RSS cho mục tiêu duy nhất là cung cấp chúng cho người sử dụng. Các site khác lại tập hợp thông tin để truyền tải dữ liệu RSS đến các website khác nhằm giúp các site này tìm kiếm từ RSS các dữ liệu mà họ muốn hiển thị trên web.
Một website tập hợp thông tin cũng có thể tích hợp một số tính năng cá nhân để giúp bạn tìm kiếm thông tin một cách nhanh chóng và dễ dàng hơn. Chẳng hạn, site đó có thể dấu các nguồn RSS mà bạn đã truy cập. Cũng có thể các nguồn RSS sẽ được phân loại nhằm tăng cường tính cấu trúc và hệ thông của toàn bộ website.
d. Sức mạnh của RSS.
Một trong những lý do quan trọng nhất cho việc ứng dụng RSS là khả năng của nó trong việc tiếp cận với người dùng mà không cần phải phát động một chiến dịch quảng cáo rầm rộ và tốn kém. Nếu bạn có thông tin hấp dẫn trên web của bạn, RSS có thể giúp bạn giới thiệu và truyền tải tới người dùng và thu hút sự quan tâm của khách hàng.
Đối với những ai chỉ đơn thuần sử dụng Internet và không cần tới tính năng quảng cáo của RSS, công nghệ này giúp họ tìm kiếm các thông tin quan trọng qua các nguồn RSS, thậm chí từ các website mà họ ít khi hoặc không bao giờ truy nhập.
6. Một số tiện ích đọc tin RSS .
Abilon: Chương trình có tốc độ xử lý nhanh này cho phép bạn lựa chọn nhiều cách hiển thị và tích hợp một trình duyệt dạng thẻ (tab). Abilon có khả năng nhanh chóng đồng bộ và trích xuất các tập tin OPML , dùng để chuyển danh sách nguồn tin hiện có sang một trình đọc RSS khác.
RssReader: Bạn có thể xem tất cả các nội dung của một nguồn tin hay một nhóm nguồn tin trong một cửa sổ có khả năng cuộn.Thực hiện đồng bộ tập tin OPML dung lượng lớn còn chậm.
Feedreader: chỉ hiển thị nội dung một tin tại cùng một thời điểm.Thực hiện đồng bộ tập tin OPML dung lượng lớn còn chậm.
7. RSS.NET là gì.
RSS là mã nguồn mở lớp thư viện .NET cho RSS feeds. Nó cung cấp kiểu đối tượng dùng lại cho việc phân tích và viết RSS feeds. RSS.NET tương thích bới các phiên bản của RSS 0.9, 0.91, 0.92, 2.0.1 đều xây dựng được.
8. Ai sử dụng RSS.NET.
Sử dụng RSS.NET trong thương mại, cài đặt sẵn, mã nguồn mở, cho những người phát triển phần mềm sử dụng RSS.NET. Nhưng người sử dụng đầu cuối không thể dùng RSS.NET đúng hướng.
Phần II. Công nghệ phát triển .NET Framework.
Chương 1: Kiến trúc .NET.
1.1.Nền tảng .NET
Khi Microsoft công bố C# vào tháng 7 năm 2000, việc khánh thành nó chỉ là mootj phần trong số rất nhiều mà sự kiện mà nền tảng .NET được công bố. Nền tảng .Net là bộ khung phát triển ứng dụng mới, nó cung cấp một lập trình giao diện ứng dụng (Application Programming Interface-API) mới mẻ cho các dịch vụ và hệ điều hành của Windows, cụ thể là Windows 2000, nó cũng mang nhiều kĩ thuật khác nổi bật của Microsoft suốt từ những năm 90. Trong số đó có các dịch vụ COM+, công nghệ APS, XML và thiết kế đối tượng, hỗ trợ các giao thức dịch vụ hỗ trợ Web mới như SOAP, WSDL và UDDL với trọng tâm là Internet, tất cả được tích hợp trong kiến trúc DNA.
Nền tảng .Net gồm 4 nhóm sau:
Một tập hợp các ngôn ngữ, bao gồm C# và Visual Basic .Net; một tập các công cụ phát triển bao gồm Visual Studio .Net; một tập đầy đủ các thư viện phục vụ cho việc xây dựng các ứng dụng web, các dịch vụ web và các ứng dụng Windows; còn có CLR-Common Language Runtime: (ngôn ngữ thực thi dùng chung) để thực thi các đối tượng được xây dựng trên bộ khung này.
Một tập các Sever xí nghiệp .Net như SQL 2000, Exchange 2000, BizTalk 2000,…chúng cung cấp các chức năng cho việc lưu trữ dữ liệu quan hệ, thư điện tử, thương mại điện tử B2B,…
Các dịch web thương mại miễn phí, dự án Hailstorm; nhà phát triển có thể dùng các dịch vụ này để xây dựng các ứng dụng đòi hỏi về tri thức định danh người dùng…
.Net cho các thiết bị không phải PC như điện thoại(cell phone), thiết bị game.
1.2 .NET Framework.
.Net hỗ trợ tích hợp ngôn ngữ, tức là ta có thể kế thừa các lớp, bắt các biệt lệ, đa hình thông qua nhiều ngôn ngữ. .Net Framework thực hiện các được việc này nhờ vào đặc tả Common Type System-CTS(hệ thống kiểu chung) mà tất cả các thành phần .Net đều tuân theo. Ví dụ mọi thứ trong .Net đều là đối tượng; thừa kế từ lớp gốc System.Object.
Ngoài ra .Net còn bao gồm Common Language Specification-CLS(đặc tả ngôn ngữ chung). Nó cung cấp các qui tắc cơ bản mà ngôn ngữ muốn tích hợp phải thỏa mãn. CLS chỉ ra các yêu cầu tối thiểu của ngôn ngữ hỗ trợ .Net. Trình biên dịch tuân theo CLS sẽ tạo các đối tượng có thể tương hợp với các đối tượng khác. Bộ thư viện lớp với khung ứng dụng (Framework Class Library-FCL) có thể dùng bởi bất kì ngôn ngữ nào tuân theo CLS.
.Net Framework nằm ở tầng trên của hệ điều hành (bất kì hệ điều hành nào không chỉ là Windows) .Net Framewok bao gồm:
Bốn ngôn ngữ chính: C#, VB.Net, C++, và Jscript.Net.
Common Language Runtime-CLR, nền tảng hướng đối tượng cho phát triển ứng dụng Windows và web mà các ngôn ngữ có thể chia sẻ sử dụng.
Bộ thư viện Framework Class Library-FCL.
Hình 1. Kiến trúc khung ứng dụng .Net
Thành phần quan trọng nhất của .Net là CLR, nó cung cấp môi trường cho ứng dụng thực thi, CLR là một máy ảo, tương tự như máy ảo Java. CLR kích họat đối tượng, thực hiện kiểm tra bảo mật, cấp phát bộ nhớ thực thi và thu dọn chúng.
Hình 1. Tầng trên của CLR bao gồm:
Các lớp cơ sở
Các lớp dữ liệu và XML.
Các lớp cho dịch vụ web, web form, và windows form.
Các lớp này gọi chung FCL, Framework Class Library, cung cấp API hướng đối tượng cho tất cả các chức năng của .Net Framework (hơn 5000 lớp).
Các lớp cơ sở tương tự với các lớp trong Java. Các lớp này hỗ trợ các thao tác nhập xuất, thao tác chuỗi, văn bản, quản lý bảo mật truyền thông mạng, quản lý tiến trình và các chức năng tổng hợp khác…
Trên mức này là lớp dữ liệu và XML. Lớp dữ liệu hỗ trợ việc thao tác các dữ liệu trên cơ sở dữ liệu. Các lớp này bao gồm các lớp SQL (Structure Query Language: ngôn ngữ truy vấn có cấu trúc) cho phép ta thao tác dữ liệu thông qua một SQL chuẩn. Ngoài ra còn có một tập các lớp goi là ADO.Net cũng cho phép thao tác dữ liệu. Lớp XML hỗ trợ thao tác XML, tìm kiếm và diễn dịch XML.
Trên lớp dữ liệu và XML và các hỗ trợ xây dựng các ứng dụng Windows (Windons forms), ứng dụng web (Web forms), dịch vụ web (Web Services).
1.3.Biên dịch và ngôn ngữ trung gian (MSIL).
Với .Net chương trình không biên dịch thành tập tin thực thi, mà biên dịch ngôn ngữ trung gian (MSIL- Microsoft Intermediate Language, viết tắt là IL), sau đó chúng được CLR thực thi. Các tập tin IL biên dịch từ C# đồng nhất với các tập tin IL biên dịch từ ngôn ngữ .Net khác.
Khi biên dịch dự án, mã nguồn C# được chuyển thành tập tin IL lưu trên đĩa. Khi chạy chương trình thì IL được biên dịch (hay thông dịch) một lần nữa bằng trình Just In Time –JIT, khi nầy két quả là mã máy và bộ xử lý được thực thi.
Trình biên dịch JIT chỉ chạy khi có yêu cầu. Khi mọi phương thức được gọi, JIT phân tích IL và sinh ra mã máy tối ưu cho từng loại máy. JIT có thể nhận biết mã nguồn đã được biên dịch chưa, để có thể chạy ngay ứng dụng hay phải biên dịch lại.
CLS có nghĩa là các ngôn ngữ .Net cùng sinh ra mã IL. Các đối tượng được tạo theo một ngôn ngữ nào đó sẽ được truy cập và thừa kế bởi các đối tượng của ngôn ngữ khác. Vì vậy ta có tạo được một lớp cơ sở trong Vb.Net và thừa kế nó từ C#.
Chương 2. Ngôn ngữ C#
2.1 Giới thiệu ngôn ngữ C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn. Tuy nhiên ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần, lập trình hướng đối tượng. Những tính chất đó hiện diện trong ngôn ngữ lập trình hiện đại. Và ngôn ngữ C# hội tụ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai người nay đều là những người nổi tiếng trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến. Và ông đứng đầu nhóm thiết kế Borland Delphi. Một trong những thành công đầu tiên của việc xây dựng môi trường phát triển thích hợp (IDE) cho lập trình client/server.
2.2. Đặc điểm ngôn ngữ C#.
Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có những từ khóa dành cho việc khai báo lớp, phương thức, thuộc tính(property). C# hỗ trợ đầy đủ khái niệm trong lập trình hướng đối tượng: đóng gói, kế thừa, đa hình
Trong C# mọi thứ liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C#. Hơn nữa ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự đông các document cho lớp.
C# hỗ trợ khái niệm giao diện interfaces (tương tự Java). Một lớp chỉ có thể kế thừa duy nhất một lớp cha nhưng có thể cài đặt nhiều giao diện.
C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị giới hạn. Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao diện.
C# cung cấp những đặc trưng lập trình hướng đối tượng như property, sự kiện và dẫn hướng khai báo (được gọi là attribute). Lập trình hướng đối tượng được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata). Siêu dữ liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật,…
Assembly là một tập hợp các tập tin theo cách nhìn của lậpn trình viên là các thư viện liên kết động (DLL) hay tập tin (EXE). Trong .Net một assembly là một đơn vị của việc tái sử dụng xác định phiên bản, bảo mật và phân phối. CLR cung cấp một số các lớp để thao tác với assembly.
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã đó được xem như không an toàn. CLR sẽ không thục thi việc thu dọn rác tự động các đối tượng được tham chiếu bởi các con trỏ cho đến khi lập trình viên tự giải phóng.
2.3 Các ưu điểm ngôn ngữ C#.
- C# là ngôn ngữ đơn giản.
Ngôn ngữ C# là ngôn ngữ đơn giản vì nó dựa trên nền tảng C và C++. C# khá giống về diện mạo, cú pháp biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++ nhưng nó đã được cải tiến làm cho ngôn ngữ đơn giản hơn.
- C# là ngôn ngữ hiện đại.
Ngôn ngữ C# chứa các đặc tính sau: xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng và bảo mật mã nguồn.
- C# là ngôn ngữ hướng đối tượng.
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object –oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả các đặc tính trên.
- C# là ngôn ngưc mạnh và cũng mềm dẻo,
Ngôn ngữ C# chúng ta chỉ bị giới hạn bởi chính bản than hay là trí tưởng tượng của chúng ta, Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo ứng dụng xử lý văn bản, ứng dụng đồ họa, bàn tính, thạm chí những biên dịch cho các ngôn ngữ khác.
- C# ngôn ngữ hướng module.
Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó. Những lớp và phương thức có thể sử dụng lại trong ứng dụng hay các chương trình khác. Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả.
Chương3: Phát triển ứng dụng với Windows Form.
3.1 Tạo một Windows Form đơn giản
Windows Form là công cụ dùng để tạo các ứng dụng Windows, nó mượn các ưu điểm mạnh của ngôn ngữ Visual Basic : dễ sử dụng, hỗ trợ mô hình RAD đồng thời kết hợp với tính linh động, hướng đối tượng của ngôn ngữ C#. Việc tạo ứng dụng Windows trở lên hấp dẫn và quen thuộc với các lập trình viên.Trong phần này, ta sẽ thảo luận hai cách khi tạo một ứng dụng Windows : Dùng bộ soạn mã để gõ mã trực tiếp hoặc dùng bộ công cụ kéo thả của IDE. Ứng dụng của chúng ta khi chạy sẽ xuất dòng chữ “Hello World!” ra màn hình, khi người dùng nhấn vào Button “Cancel” thì ứng dụng sẽ kết thúc.
Hình 2- Ứng dụng minh họa việc hiển thị chuỗi và bắt sự kiện của Button.
Đầu tiên, ta dùng lệnh using để thêm vùng tên sau :
using System.Windows.Forms;
Ta sẽ cho ứng dụng của ta thừa kế từ vùng tên Form :
public class HandDrawnClass : Form
Bất kỳ một ứng dụng Windows Form nào cũng đều thừa kế từ đối tượng Form, ta có thể dùng đối tượng này để tạo ra các cửa sổ chuẩn như : các cửa sổ trôi (floating form), thanh công cụ (tools), hộp thoại (dialog box) … Mọi Điều khiển trong bộ công cụ của Windows Form (Label, Button, Listbox …) đều thuộc vùng tên này.
Ta sẽ khai báo 2 đối tượng, một Label để giữ chuỗi ‘ Hello World !’ và một Button để bắt sự kiện kết thúc ứng dụng.
private System.Windows.Forms.Label lblOutput;
private System.Windows.Forms.Button btnCancel;
Tiếp theo ta sẽ khởi tạo 2 đối tượng trên trong hàm khởi tạo của Form:
this.lblOutput = new System.Windows.Forms.Label( );
this.btnCancel = new System.Windows.Forms.Button( );
Sau đó ta gán chuỗi tiêu đề cho Form của ta là ‘Hello World‘ :
this.Text = "Hello World";
Gán vị trí, chuỗi và kích thước cho đối tượng Label :
lblOutput.Location = new System.Drawing.Point (16, 24);
lblOutput.Text = "Hello World!";
lblOutput.Size = new System.Drawing.Size (216, 24);
Vị trí của Label được xác định bằng một đối tượng Point, đối tượng này cần hai thông số : vị trí so với chiều ngang (horizontal) và đứng (vertical) của thanh cuộn. Kích thước của Label cũng được đặt bởi đối tượng Size, với hai thông số là chiều rộng (width) và cao (height) của Label. Cả hai đối tượng Point và Size đều thuộc vùng tên System.Drawing : chứa các đối tượng và lớp dùng cho đồ họa.
Tương tự làm với đối tượng Button :
btnCancel.Location = new System.Drawing.Point (150,200);
btnCancel.Size = new System.Drawing.Size (112, 32);
btnCancel.Text = "&Cancel";
Để bắt sự kiện click của Button, đối tượng Button cần đăng ký với trình quản lý sự
kiện, để thực hiện điều này ta dùng ‘delegate’. Phương thức được ủy thác (sẽ bắt sự kiện) có thể có tên bất kỳ nhưng phải trả về kiểu void và phải có hai thông số : một là đối tượng ‘sender’ và một là đối tượng ‘System.EventArgs’.
protected void btnCancel_Click( object sender, System.EventArgs e)
{
//...
}
Ta đăng ký phương thức bắt sự kiện theo hai bước. Đầu tiên, ta tạo một trình quản
lý sự kiện mới System.EventHandler, rồi đẩy tên của phương thức bắt sự kiện vào
làm tham số :
new System.EventHandler (this.btnCancel_Click);
Tiếp theo ta sẽ ủy thác trình quản lý vừa tạo ở trên cho sự kiện click của Button bằng toán tử +=.Mã gộp của hai bước trên :
one:btnCancel.Click +=new System.EventHandler
(this.btnCancel_Click);
Để kết thúc việc viết mã trong hàm khởi tạo của Form, ta sẽ thêm hai đối
tượng Label và button vào Form của ta :
this.Controls.Add (this.btnCancel);
this.Controls.Add (this.lblOutput);
Sau khi ta đã định nghĩa hàm bắt sự kiện click trên Button, ta sẽ viết mã thi hành cho hàm này. Ta sẽ dùng hàm tĩnh ( static ) Exit() của lớp Application để kết thúc ứng dụng :
protected void btnCancel_Click( object sender, System.EventArgs e)
{
Application.Exit();
}
Cuối cùng, ta sẽ gọi hàm khởi tạo của Form trong hàm Main(). Hàm Main() là điểm vào đầu tiên của Form.
public static void Main( )
{
Application.Run(new HandDrawnClass( ));
}
Sau đây là mã hoàn chỉnh của toàn bộ ứng dụng
using System;
using System.Windows.Forms;
namespace ProgCSharp
{
public class HandDrawnClass : Form
{
// Label dùng hiển thị chuỗi ‘Hello World’
private System.Windows.Forms.Label lblOutput;
// Button nhấn ‘Cancel’
private System.Windows.Forms.Button btnCancel;
public HandDrawnClass( )
{
// Tạo các đối tượng
this.lblOutput = new System.Windows.Forms.Label ( );
this.btnCancel = new System.Windows.Forms.Button ( );
// Gán tiêu đề cho Form
this.Text = "Hello World";
// Hiệu chỉnh Label
lblOutput.Location = new System.Drawing.Point(16,24);
lblOutput.Text = "Hello World!";
lblOutput.Size = new System.Drawing.Size (216, 24);
// Hiệu chỉnh Button
btnCancel.Location = newSystem.Drawing.Point(150,20);
btnCancel.Size = new System.Drawing.Size (112, 32);
btnCancel.Text = "&Cancel";
// Đăng ký trình quản lý sự kiện
btnCancel.Click +=
new System.EventHandler (this.btnCancel_Click);
//Thêm các điều khiển vào Form
this.Controls.Add (this.btnCancel);
this.Controls.Add (this.lblOutput);
}
// Bắt sự kiện nhấn Button
protected void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit( );
}
// Chạy ứng dụng
public static void Main()
{
Application.Run(new HandDrawnClass( ));
}
}
}
3.2 Dùng kéo thả trong Windows
Bên cạnh trình soạn mã, .NET còn cung cấp một bộ các công cụ kéo thả để làm việc trong môi trường phát triển tích hợp IDE ( Intergrate Development Enviroment ), IDE cho phép kéo thả rồi tự động phát sinh mã tương ứng. Ta sẽ tạo lại ứng dụng trên bằng cách dùng bộ công cụ trong Visual Studio, ta mở Visual Studio và chọn ‘New Project’. Trong cửa sổ ‘New Project’, chọn loại dự án là Visual C# và kiểu ứng dụng là ‘Windows Applications’, đặt tên cho ứng dụng là
ProgCSharpWindowsForm.
Hình 3:Màn hình tạo ứng dụng Windows mới.
Vs.NET sẽ tạ
Các file đính kèm theo tài liệu này:
- boc tach ttin tren web.doc