Hướng dẫn thực hành Công nghệ lập trình tiên tiến
MỤC LỤC
Module 1: Thiết kế giao diện với Custom Component . 1
Module 2: Truy suất dữ liệu với LINQ . 15
Module 3: Truy suất dữ liệu với CodeSmith . 33
Module 4: Thiết kế giao diện với WPF . 39
Module 5: .Net Remoting . 54
Module 6: Danh sách đề tài . 62
ng Resource để thiết kế giao diện? Hướng dẫn: - Trường hợp 1: viết trực tiếp trong - Trường hợp 2: Tạo một tập tin Dictionary để thiết kế, sau đó trong ta gọi lệnh được khai báo trong Dictionary Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 51 - Bài tập 16: Mục đích: - Thực hành và hiểu được Style trong WPF: - Named Style, Targeted Style - Properties Trigger - Event Setter Yêu cầu: - Hãy dùng Named Style và Targeted Style để thiết kế Button như hình bên dưới: - Sử dụng Properties Trigger để: Khi di chuyển chuột vào Button thì thay đổi nền thành màu vàng, màu chữ thành màu xanh Khi di chuyển chuột ra khỏi Button thì trở về định dạng cũ - Dùng Event Setter để gán sự kiện click cho Button này. Hướng dẫn: Bài tập 17: Mục đích: - Thực hành và hiểu được Control Template Yêu cầu: - Thiết kế một Button có dạng Template như bên dưới: Hướng dẫn: Bài tập 18: Mục đích: - Thực hành và hiểu được Data Binding: - OneWay - TwoWay - OneWayToSource - UpdateSourceTrigger Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 52 - Yêu cầu: - Dùng Data Binding để truyền tải dữ liệu giữa Slider với TextBox, giữa TextBox với Label, mỗi lần kéo slider thì giá trị trong TextBox sẽ cập nhật theo: - Binding giữa ListBox và TextBlock, chọn phần tử nào (theo tên màu) trong ListBox thì TextBlock bên dưới sẽ tự động đổi màu và đổi dữ liệu theo: - Sử dụng UpdateSourceTrigger để khi thay đổi giá trị trong TextBox, nó sẽ tự động thay đổi giá trị trong Slider: Hướng dẫn: Bài tập 19: Mục đích: - Thực hành và hiểu được Graphic Object: RotateTransform TranslateTransform SkewTransform ScaleTransform BitmapEffects Shapes Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 53 - Yêu cầu: - Dùng RotateTransform để quay Button một góc 45 độ như hình bên dưới: - Dùng TranslateTransform để di chuyển vị trí tương đối của các đối tượng trên form: - Dùng SkewTransform để bẻ góc các đối tượng theo x, y: - Dùng ScaleTransform để phóng to thu nhỏ kích thước: - Dùng BitmapEffects để thiết kế các Button như hình bên dưới: - Dùng Shape để vẽ các hình như bên dưới: Hướng dẫn: Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 54 - Module 5: .Net Remoting Nội dung kiến thức thực hành: - Thực hành và hiểu .Net Remoting: - Tạo được Proxy Object - Hiểu Channel: TCPChannel, HTTPChannel - SingleCall, SingleTon - Activator Object - Hiểu Formatters: Binary, SOAP Bài tập 1: Mục đích: - Thực hành .Net Remoting với TCPChannel Yêu cầu: - Hãy thiết kế Server lắng nghe tại port bất kỳ, giao diện như hình bên dưới: - Server cho phép chọn WellKnowObject : SingleCall hay SingleTon (SV tự so sánh) - Bấm Start Server để đăng ký kênh truyền và lắng nghe tại Port tùy ý trên giao diện. - Nhiệm vụ của Server là lắng nghe và lưu trữ tên của bất kỳ máy client nào truyền về. - Giao diện Client như hình bên dưới: Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 55 - - Client cho phép bấm Connect tới Server Name tại một Port tương ứng trên Server đã đăng ký. - Đồng thời, ở Client cho phép nhập tên bất kỳ, khi nhấn “Get Infor” thì client sẽ gửi thông tin lên server. Khi Server nhận được thông tin thì sẽ trả về cho client biết: Client là người thứ mấy triệu gọi hàm và danh sách các client đã triệu gọi lên server. Hướng dẫn: - Sinh viên tự so sánh sự khác biệt khi Server đăng ký SingleCall và SingleTon Bài tập 2: Mục đích: - Sử dụng .Net Remoting để viết chương trình public chat sử dụng HttpChannel Yêu cầu: - Viết chương trình Chat, giao diện server và client như bên dưới: - Giao diện Server: - Đặt tên các control như bảng bên dưới: Control Name Text TextBox txtServerName Localhost TextBox txtPort 9999 Button txtStart Start Server Button txtStop Stop Server Label lblStatus Status - Server có nhiệm vụ lắng nghe mọi thông tin từ client gửi về tại port 9999. - Lưu trữ toàn bộ thông tin và trả về cho mỗi client Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 56 - - Giao diện client: - Đặt tên các Control như bảng bên dưới: Control Name Text TextBox txtServer Localhost TextBox txtPort 9999 TextBox txtName User name RichTextBox richChat Enter chat RichTextBox richHistory History chat ListBox listUser List user login Button btnLogin Login Button btnSend Send Chat Button btnClear Clear Chat Button btnLogout Logout Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 57 - - Bấm “Login” để kết nối tới Server, khi kết nối thành công thì Server sẽ trả về danh sách UserName vào ListBox List User Name. - Bấm Logout để tắt kết nối khỏi server. Phải tự động cập nhật lại toàn bộ danh sách User Name ở các Client khác. - Bấm “Send Chat” để gửi thông tin lên Server, đồng thời Server sẽ trả về toàn bộ thông tin chát vào History Chat. Hướng dẫn: - Bài tập 3: Mục đích: - Củng cố thêm các kiến thức về .Net Remoting Yêu cầu: - Cải tiến bài tập 2, viết thêm chức năng cho Add Friend, Gửi tập tin lúc chat. Hướng dẫn: - … Bài tập 4: Mục đích: - Củng cố thêm các kiến thức về .Net Remoting Yêu cầu: - Viết chương trình cho phép đổi năm dương lịch thành âm lịch, với dịch vụ được đặt trên server. Client chỉ việc gửi năm dương lịch lên và lấy kết quả trả về là năm âm lịch từ Server. Giao diện client như hình bên dưới: - Viết Server để cho phép Client kết nối tại Port quy định. Mỗi lần client bấm “chuyển đổi” thì sẽ gửi năm dương lịch lên Server - Server không cần làm giao diện Hướng dẫn: Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 58 - - Để chuyển từ năm dương lịch sang năm âm lịch bạn cần biết một số thông tin sau: Bài tập 5: Mục đích: - Củng cố thêm các kiến thức về .Net Remoting Yêu cầu: - Viết dịch vụ cho phép chuyển đổi độ F thành C và độ C thành F, Client có giao diện như hình bên dưới: Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 59 - - Viết Server để cho phép Client kết nối tại Port quy định. Mỗi lần client bấm các chức năng tương ứng (FC hay CF) thì sẽ gửi thông tin tương ứng lên Server, Server phải lấy được thông tin và truyền tải dữ liệu về đúng với yêu cầu từ client - Server không cần làm giao diện Hướng dẫn: Bài tập 6: Mục đích: - Củng cố thêm các kiến thức về .Net Remoting Yêu cầu: - Hãy xem Proxy Object bên dưới: - Khi ta đăng ký với HttpChannel thì có thể truy suất với SOAP như là Webservice: public void registerService() { HttpChannel httpChanel = new HttpChannel(8989); ChannelServices.RegisterChannel(httpChanel, false); RemotingConfiguration.RegisterWellKnownServiceType( typeof(Class1), "Class1", WellKnownObjectMode.SingleCall); } Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 60 - - Khi hàm trên được triệu gọi thì ta có thể lấy SOAP theo link sau: với 192.168.3.102 là Ip của máy chủ 8989 là port ta đăng ký Class1 chính là ProxyObject ?wsdl là cách lấy cấu trúc SOAP - Xem hình minh họa: - Như vậy nó đã hoạt động dưới dạng Webservice. Ta có thể dùng bất kỳ ngôn ngữ nào để kết nối tới để tương tác dữ liệu - Ví dụ, bây giờ ta dùng C# để kết nối tới SOAP này để thực hiện hàm tong2so Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 61 - Hướng dẫn: - 1) Bấm chuột phải vào Project: chọn Add Service Reference - 2) Màn hình Add Service Reference hiển thị lên: Chọn Advance - 3) Màn hình mới hiển thị lên: chọn Add Web Reference… - 4) màn hình bên dưới xuất hiện: - URL: gõ link vào, tương ứng với mỗi máy khác nhau thì IP sẽ khác nhau. - Mục Web reference name: đặt tên tùy ý, ở đây đặt tên myservice - Sau đó bấm Add Reference để chấp nhận kết nối: - 5) sử dụng như sau: private void buttonX1_Click(object sender, EventArgs e) { myservice.Class1Service sr = new myservice.Class1Service(); int s=sr.tong2so(integerInput1.Value, integerInput2.Value); labelX3.Text = s + ""; } - Như vậy khi thực hiện hàm này ta cũng được kết quả từ server gửi về. Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 62 - Module 6: Danh sách đề tài Đề tài nào cũng phải có documentation bằng CHM, có Slide báo cáo sơ lược về đề tài. Sinh viên tự nghĩ ra bối cảnh cũng như lợi ích của đề tài, từ đó đưa ra những đặc tả cho chương trình và cố gắng đáp ứng được những đặc tả này. Đề tài 1: - Viết chương trình Quản lý thư viện Đề tài 2: - Viết Chương trình quản lý chấm công cho xí nghiệp may mặc Đề tài 3: - Viết Chương trình xếp thời khóa biểu cho trường THPT Đề tài 4: - Viết Chương trình quản lý tài sản cho một trường đại học Đề tài 5: - Viết Chương trình Chat – Tương tự yahoo Đề tài 6: - Viết Chương trình trình diễn hình ảnh Đề tài 7: - Viết Chương trình quản lý thi bằng lái xe 2 bánh Đề tài 8: - Viết Chương trình quản lý vận chuyển hành khách cho các công ty Lữ hành(ví dụ như công ty Thành Bưởi, Phương Trang, Mai Linh…) Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 63 - Đề tài 9: - Viết Chương trình quản lý khám bệnh Đề tài 10: - Viết Website bán hàng qua mạng Đề tài 11: - Viết Website chuyên về tìm kiếm việc làm Đề tài 12: - Viết Website chuyên về bất động sản Đề tài 13: - Viết Chương trình quản lý tiệm Internet Đề tài 14: - Viết Chương trình quản lý khách sạn Đề tài 15: - Viết Chương trình quản lý Ký túc xá cho trường Đại Học Đề tài 16: - Viết Chương trình quản lý tiệm thuốc tây Đề tài 17: - Viết Chương trình quản lý sinh viên – môn học – điểm thi Đề tài 18: - Viết Chương trình tra cứu nhạc/ nghe nhạc/ xem phim giống như Window Media Đại Học Công Nghệ Đồng Nai Khoa Công Nghệ Thông Tin - 64 - Đề tài 19: - Viết Chương trình quản lý cho Trung Tâm Tin Học Đề tài 20: - Viết Chương trình quản lý cho Trung Tâm Ngoại Ngữ Đề tài 21: - Viết Chương trình quản lý tiệm cà phê Đề tài 22: - Game xếp gạch Đề tài 23: - Game xếp hình
File đính kèm:
- Final_LTTT_Exercise_2013.pdf