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

pdf66 trang | Chuyên mục: Lập Trình Trực Quan | Chia sẻ: dkS00TYs | Lượt xem: 4910 | Lượt tải: 1download
Tóm tắt nội dung Hướng dẫn thực hành Công nghệ lập trình tiên tiến, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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 (FC hay CF) 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:

  • pdfFinal_LTTT_Exercise_2013.pdf
Tài liệu liên quan