Lập trình từ điển Anh - Việt bằng C#

34 5.1K 34
Lập trình từ điển Anh - Việt bằng 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

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO CUỐI KÌ Môn: Lập Trình Windows Đề Tài: GVHD: ThS. Phan Nguyệt Minh. Nhóm thực hiện: - Lê Thị Hường - 10520528 - Nguyễn Hồng Ngọc - 10520426 - Nguyễn Ngọc Bảo Châu - 10520498 Tp.HCM, ngày 31 tháng 05 năm 2012. LỜI MỞ ĐẦU Ngày nay, cùng với sự phát triển của đất nước, các ngành khoa học, ngành công nghệ thông tin,…. Đều sử dụng rất nhiều tài liệu tiếng anh. Trong hệ thống giáo dục của Việt Nam hầu hết các trường từ tiểu học, trung học, phổ thông đến các trường cao đẳng-đại học đều đào tạo bộ môn: Tiếng Anh. Do vậy, với mục tiêu nhằm hỗ trợ việc học cho học sinh, sinh viên, việc giảng dạy cho giáo viên ở các trường, hỗ trợ việc biên dịch tài liệu cho các ngành khoa học, công nghệ thông tin, các cơ quan chức năng…. Để đỡ tốn thời gian và công sức ngồi tra từng từ trong một cuốn từ điển dày mấy trăm trang, với sự phát triển không ngừng của ngành công nghệ thông tin các phầm mềm từ điển AnhViệt tiện dụng, hiệu quả cao ra đời ngày càng nhiều. Từ thực tế đó, với mong muốn nhằm góp phần trợ giúp cho việc biên dịch tài liệu tiếng Anh và đóng góp một phần nhỏ cho nền giáo dục của đất nước. Dựa trên những kiến thức tích lũy được sau khi học bộ môn: Lập trình Windows, chúng em xin thực hiện đề tài: “Thiết kế từ điển AnhViệt có âm thanh và hình ảnh” bằng ngôn ngữ Visual studio C# trên nền Windows Forms Application. Nhóm thực hiện. LỜI CẢM ƠN Chúng em xin chân thành cảm ơn cô Phan Nguyệt Minh – giáo viên trực tiếp giảng dạy bộ môn: lập trình Windows, người đã tận tình hướng dẫn chúng em trong suốt thời gian học môn học và thực hiện đề tài học này và toàn thể các bạn lớp: WINP1.C24. Trong thời gian thực hiện đề tài, bằng những kiến thức đã học được nhà trường trang bị và những kiến thức tự tìm hiểu từ sách vở, mạng internet… Chúng em đã vận dụng triệt để kiến thức đó kết hợp với những kinh nghiệm tích luỹ được từ thực tế, để hoàn thành đề tài một cách tốt nhất. Nhưng do còn mới mẻ với ngôn ngữ mới, kinh nghiệm trong lĩnh vực thiết kế, lập trìnhtrình độ còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót. Với nguyện vọng thiết kế được một phần mềm từ điển AnhViệt có âm thanh và hình ảnh với số lượng hơn 380.000 từ tiện dụng , giúp người dùng tiết kiệm thời gian và sức lực. Chúng em rất mong nhận được nhiều sự góp ý của cô và các bạn trong lớp. Một lần nữa, chúng em xin chân thành cảm ơn ! Nhóm thực hiện. NHẬN XÉT (Của giảng viên hướng dẫn) … MỤC LỤC Mở đầu Số trang I. GIỚI THIỆU SƠ LƯỢC VỀ ĐỀ TÀI. … 1 1. Giới thiêu: 1 2. Mục tiêu: 1 3. Các chức năng chính: 1 II. PHÂN TÍCH YÊU CẦU. 2 III. CÁC BƯỚC THIẾT KẾ CHƯƠNG TRÌNH TỪ ĐIỂN. 3 1. Database: 3 1.1. Tạo database: 3 1.2. Sắp xếp database: 6 1.3. Tối ưu hóa database: 7 2. Kiến trúc chương trình: 9 2.1. Mô hình hoạt động chính của chương trình. 9 2.2. Mô tả và giải thích xử lý các lớp, đối tượng phục vụ vho hoạt động của chương trình: 10 2.2.1. Nạp dữ liệu vào form và các mảng: 10 2.2.2. Tìm kiếm dữ liệu 10 2.2.3. Chức năng thêm từ và update sau khi thêm từ: 11 2.2.4. Chức năng xóa từ và update sau khi xóa từ: 13 2.2.5. Speak & Trackwave: 14 2.2.6.Hình ảnh minh họa cho từ: 17 2.2.7. Nhúng google translate vào chương trình: 17 2.2.8. Thay đổi giao diện chương trình: 19 2.2.9. Lưu từ: 20 3. Các thiết kế giao diện chương trình: 21 3.1. Giao diện chính 21 3.2. Giao diện thêm từ: 22 3.3. Giao diện dịch văn bản: 23 3.4. Giao diện lưu từ trong word store: 23 3.5. Giao diện About Us 24 3.6. Các background để người dùng lựa chọn: 24 4. Cài đặt và thử nghiệm: 26 IV. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: 26 1. Những khó khăn, thuận lợi khi thực hiện chương trình: 26 2. Ưu điểm: 27 3. Nhược điểm: 27 4. Hướng phát triển trong tương lai: 27 5. Phân công thực hiện: 27 6. Tổng kết 28 7. Tài liệu tham khảo 28 LTW_C24 Trang 1 I. GIỚI THIỆU SƠ LƯỢC VỀ ĐỀ TÀI. 1. Giới thiệu: Ngày nay, tiếng anh là một ngôn ngữ rất thông dụng, được áp dụng ở mọi lĩnh vực. Từ thực tế này nhóm em chọn đề tài: “Thiết kế từ điển Anh-Việt” có âm thanh và hình ảnh. Nhưng trong quá trình thực hiện nhóm chúng em cảm thấy thiết kế từ điển Anh-Việt không là chưa đủ nên nhóm đã phát triển thêm “Từ điển Việt-Anh” và nhiều chức năng khác như: Lưu từ để dể tìm kiếm; dịch một đoạn văn bản (đa ngôn ngữ) khi máy có kết nối internet, sử dụng database linh động để người dùng có thể thêm, xóa, sửa từ người dùng muốn vào chương trình; liên kết tới một số web search online…. Để phục vụ một cách tiện lợi nhất cho người dùng. Đề tài của nhóm lấy tên là: “HNC-T UIT DICTIONARY”, với ý nghĩa là từ điển(Dictionary) được thiết kế bởi 3 thành viên trong nhóm(Hường-Ngọc-Châu) học tại trường Đại học công nghệ thông tin(Univercity international of technology). 2. Mục tiêu: Nhóm chúng em xây dựng đề tài này với mong muốn tạo một chương trình từ điển có nguồn database phong phú, có âm thanh và hình ảnh minh họa, tính năng đa dạng và phong phú, giao diện đẹp…… để trở thành một công cụ hỗ trợ phát triển kỹ năng ngoại ngữ tiện dụng cho người dùng. 3. Các chức năng chính: • Tra từ thông minh: Xem nhanh từ muốn tra cứu, hỗ trợ tra cứu hai ngôn ngữ: AnhViệtViệt – Anh. • Nghe phát âm mục từ và nghe đọc văn bản tiếng Anh và tiếng Việt. • Phân tích nghĩa của một từ, cụm từ, một câu, có nguồn database phong phú với hơn 387 398 từ. • Liệt kê các từ liên quan với mục từ đang tra. • Các định nghĩa liên quan đến từ đang tra. • Lưu những từ mà người dùng cần lưu vào Word Store để tiện sử dụng khi cần, dễ dàng cho việc học từ vừng, lưu xong nếu người dùng cảm thấy không cần thiết nữa có thể xóa bỏ. • Dịch một đoạn văn bản (đa ngôn ngữ) khi máy có kết nối internet. LTW_C24 Trang 2 • Có thể thêm, xóa, sửa từ mà bạn muốn vào chương trình. • Có hình ảnh minh họa cho từ. • Liên kết với các web search online như: http://translate.google.com.vn, http://vdict.com/ , http://tratu.soha.vn, web do người dùng tự chọn. • Giao diện đẹp tiện dụng cho người dùng, người dùng có thể thay đổi giao diện nếu không thích giao diện hiện hành. II. PHÂN TÍCH YÊU CẦU. Tuy đề tài là do nhóm chúng em tự chọn và cô không có yêu cầu gì nhưng nhóm chúng em tự đặt ra yêu cầu cho nhóm như sau: • Với đồ án từ điển thì việc tìm kiếm trên dabatase nhanh và chính xác rất là quan trọng do vậy đòi hỏi phải sắp xếp, tối ưu hóa Database và các thuật toán tìm kiếm phải tối ưu. • Giao diện đẹp, tiện dụng và có thể thay đổi nếu người dùng không thích giao diện hiện hành. • Chương trình phải chạy ổn định và chức năng hoàn thiện. LTW_C24 Trang 3 III. CÁC BƯỚC THIẾT KẾ CHƯƠNG TRÌNH TỪ ĐIỂN. 1. Database: 1.1. Tạo database: Những cách tổ chức dữ liệu cho từ điển: o Tổ chức dữ liệu theo dạng B-cây. o Tổ chức dữ liệu theo dạng cây nhị phân. o Tổ chức dữ liệu theo dạng danh sách đặc. o Tổ chức dữ liệu theo dạng danh sách liên kết. Việc tổ chức dữ liệu cho từ điển khá quan trọng, và hơn hết là làm sao tổ chức thuận lợi cho quá trình tìm kiếm. Do đó nhóm thực hiện đã chọn cách tổ chức theo kiểu danh sách liên kết trên nền XML. Cấu trúc file XML: được tổ chức theo dạng nút(Node), dạng cấu trúc của danh sách liên kết. Đối với từ điển Anh-Việt: o Node lớn nhất là cặp thẻ <Description></Description> o Các Node con: <Anhviet></Anhviet> o Trong Node <AnhViet></AnhViet> chứa 2 Node con khác là: - Node: <Word></Word>. - Node: <Description></Description> Đối với từ điển Việt-Anh: o Node lớn nhất là cặp thẻ <Description></Description> o Các Node con: <Vietanh></Vietanh> o Trong Node <Vietanh></Vietanh>chứa 2 Node con khác là: - Node: <Word></Word>. - Node: <Description></Description> Cách tạo file XML: Đối với từ điển Anh-Việt: LTW_C24 Trang 4 Từ file AnhViet.txt là một data có sẵn tìm kiếm trên web, chúng em Import vào trong Access để tạo ra file TD_AV.accdb với Microsoft Office 2010. o Ta tao 1 file với tên là TD_AV.accdb o Khi tạo file xong ta vào được trong giao diện thực thi của Access, chọn thẻ External Data. [...]... những bước trên, chỉ đổi file txt và file XML được tạo ra đặt tên là source_vi.xml 1.2 Sắp xếp database: Từ điển Anh- Việt tương tự Việt -Anh Vấn đề phát sinh : string.Compare( "-" ,"a") = =-1 nhưng string.Compare("-d","a")==1 Đơn giản là C# đã lược dấu ” - đi và chỉ so sánh d với a Cho nên string.Compare("-d","a") = 1 không như kết quả như ta mong muốn Giải quyết: Ta sẽ sử dụng class: CultureInfo "Bộ mã... khoảng từ 145920 – 145930 2 Kiến trúc chương trình: 2.1 Mô hình hoạt động chính của chương trình Nạp dữ liệu vào mảng postion (từ file leftright.txt) Nạp từ vào mảng data Khởi động chương trình Nạp nghĩa của từ vào mảng datamean Ô search từ Loaddata() Load danh sách từ lên list box Danh sách từ trên list box LTW_C24 Sử dụng tìm kiếm nâng cao để load từ gần nghĩa Nhấn enter hoặc Click vào nút tìm Click từ. .. đến vùng từ bắt đầu bằngtự an và load vùng này vào list box Cứ như vậy, khi người dùng gõ thêm bất kì kí tự nào, hàm sẽ chạy và tìm ra vùng từ bắt đầu bằng chuỗi trong ô search Load file leftright.txt vào mảng: bằng hàm public int[] Load_Position() Việc tạo file leftright.txt chỉ tạo 1 lần và được cập nhật mỗi lần thêm, xóa, sửa database Đối với từ điển Việt -Anh: tương tự như với Anh- Việt chỉ thay... right bằng postion[2+1] = 24359 Và mid = (left + right)/2 o Sau khi đã khởi tạo giá trị cho left, right, mid Bắt đầu chạy thuật toán nhị phân như trên Quá trình trên cũng giúp ta tìm danh sách từ gần đúng, ví dụ gõ a thì danh sách các từ bắt đầu bằngtự a(đã sắp xếp hiện ra) Ví dụ gõ an từ này được so sánh với với các từ trong khoảng từ bắt đầu bằngtự a Có 2 trường hợp xảy ra: o TH1: Tìm được từ. .. giúp tìm từtừ mới đưa vào đứng trước hoặc sau • Hàm ci.compare() giúp so sánh 2 chuỗi, từ mới add vào đứng trước hay đứng sau là do hàm ci.compare() quyết định 2.2.4 Chức năng xóa từ và update sau khi xóa từ: - Hàm được sử dụng: public void DeleteWord(string strSearch, int charCount) - Hoạt động: dùng dể xóa từ khỏi file xml và xóa từ trong danh sách hiện tại trên 2 mảng data và dataMean - Hàm được... ArrayList Description, string language) được gọi o Giải thích các biến truyền vào: Word là từ cần tìm Special_word là mảng giúp nhận biết và tô màu các từ đặc biệt trong nghĩa của từ, ví dụ loại từ( danh từ, động từ, tính từ ), chuyên ngành… data mảng từ được truyền vào ở đây mảng data (english.data) dataMean mảng nghĩa của từ ở đây là mảng dataMean (english.dataMean) o Hoạt động: Hàm public int Compare(string... dữ liệu được đọc từ file xml gồm 28 loại kí tự(‘, -, a, b, c, d, e, f, g, h, I, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) Và: Kí tự: ‘ nằm trong khoảng từ 0 – 5 Kí tự: - nằm trong khoảng từ 6 – 9 Kí tự: a nằm trong khoảng từ 10 – 24359 … Kí tự: z nằm trong khoảng từ 386668 – 387398 Việc khoanh vùng như trên giúp thu nhỏ phạm vi tìm kiếm, ví dụ từ ant chỉ được có trong khoảng từ 9 – 24358 Hàm... là 1 file AnhViet.txt o Sau khi Import xong, ta sẽ được một file TD_AV.accdb o Cách Tạo File XML từ file Access là ta Export dữ liệu từ 1 file TD_AV.accdb sang file XML o Rồi tuần tự làm theo hướng dẫn mà Access thông báo, thực hiện theo thông báo sẽ có được một file XML LTW_C24 Trang 5 o Trong chương trình này, file XLM được tạo ra với tên do nhóm đặt là source.xml Đối với từ điển Việt -Anh: Làm tương... string language) tiếp tục được sử dụng Hàm sẽ trả về vị trí của từ trong mảng data(english.data) và cũng là vị trí nghĩa của từ này trong mảng(english.dataMean) Vì đầu tiên, từ và nghĩa được load vào 2 mảng Vị trí của từ bên mảng này cũng là vị trí nghĩa của nó ở mảng bên kia 2.2.3 Chức năng thêm từ và update sau khi thêm từ: LTW_C24 Trang 11 - - - LTW_C24 Hàm public void AddWord(string Ele1, string Ele2,... word2 theo kiểu so sánh OrdinalIgnoreCase có 3 giá trị trả về: - Nếu temp=0 thì 2 từ này giống nhau - Nếu temp0 thì word sẽ đứng sau word2 Việc sắp xếp chỉ sử dụng 1 lần khi tạo database, về sau khi ta thêm xóa database vẫn được sắp xếp mà không cần sắp xếp lại 1.3 Tối ưu hóa database: Đối với từ điển Anh- Việt: Nội dung của mảng lưu cho file leftright.txt: 0 5 9 24359 . BÁO CÁO CUỐI KÌ Môn: Lập Trình Windows Đề Tài: GVHD: ThS. Phan Nguyệt Minh. Nhóm thực hiện: - Lê Thị Hường - 10520528 - Nguyễn Hồng Ngọc - 10520426 - Nguyễn Ngọc Bảo Châu - 10520498. người dùng. Đề tài của nhóm lấy tên là: HNC-T UIT DICTIONARY , với ý nghĩa là từ điển (Dictionary) được thiết kế bởi 3 thành viên trong nhóm(Hường-Ngọc-Châu) học tại trường Đại học công nghệ. điển Anh-Việt tương tự Việt-Anh. Vấn đề phát sinh : string.Compare(" ;-& quot;,"a") = =-1 nhưng string.Compare("-d","a")==1. Đơn giản là C# đã lược dấu ” - đi

Ngày đăng: 08/06/2014, 09:29

Từ khóa liên quan

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

Tài liệu liên quan