Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Giá 10k, liên hệ page để mua tài liệu www.facebook.com/garmentspace
Hệ thống báo điểm tự động qua email trong trường trung học phổ thông
1. ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH
KHOA TOÁN-TIN
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Toán ứng dụng
Tên đề tài:
HỆ THỐNG BÁO ĐIỂM TỰ ĐỘNG QUA EMAIL
TRONG TRƯỜNG TRUNG HỌC PHỔ THÔNG
Sinh viên thực hiện: Nguyễn Hồng Ngọc
Giáo viên hướng dẫn: ThS Lý Anh Tuấn
TP Hồ Chí Minh, 2012
2. LỜI CẢM ƠN
Trong suốt quá trình học tập và thực hiện luận văn này, tôi đã nhận được sự
hướng dẫn, giúp đỡ quý báu của các thầy cô, các anh chị khóa trước, bạn bè và
những người thân yêu trong gia đình. Với lòng kính trọng và biết ơn sâu sắc tôi xin
được bày tỏ lời cảm ơn chân thành tới:
Ban giám hiệu, Phòng đào tạo, tổ Bộ môn Toán-Tin trường Đại Học Sư
Phạm TP.HCM đã tạo mọi điều kiện thuận lợi giúp đỡ tôi trong quá trình học tập
và hoàn thành luận văn.
Quý thầy cô trường Đại học Sư Phạm TP.HCM, đặc biệt là tất cả thầy cô ở
Khoa Toán-Tin, những người đã dạy dỗ và dìu dắt tôi trong suốt những năm học
tập tại trường.
Thạc sĩ Lý Anh Tuấn, người thầy kính mến đã hết lòng giúp đỡ, dạy bảo,
động viên và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình hoàn thành
luận văn tốt nghiệp.
Quý thầy cô và học sinh ở các trường THPT trong TP.HCM đã giúp đỡ và
tạo mọi điều kiện hỗ trợ chúng tôi hoàn thành tốt công tác khảo sát thực tế.
Xin chân thành cảm ơn các thầy cô trong hội đồng chấm luận văn đã cho tôi
những đóng góp quý báu để hoàn chỉnh luận văn.
Xin gửi lời cảm ơn tới bạn bè, các anh chị khóa trước đã động viên, giúp đỡ
trong lúc khó khăn và cho tôi những lời khuyên bổ ích.
Gửi ngàn lời yêu thương đến ba, mẹ, anh, chị – những người luôn bên cạnh
động viên và giúp đỡ tôi học tập, làm việc.
Kính chúc quý thầy cô thầy cô, các anh chị, bạn bè, những người thân yêu
của tôi luôn dồi dào sức khỏe và hạnh phúc trong cuộc sống.
Trân trọng,
TP.HCM, ngày tháng năm 2012
3. MỤC LỤC
Trang phụ bìa
Lời cảm ơn
Mục lục
Danh mục các ký hiệu, các chữ viết tắt
Danh mục các bảng
Danh mục các hình vẽ, đồ thị
MỞ ĐẦU...................................................................................................................................................9
1. Lý do chọn đề tài: ............................................................................................9
2. Mục đích nghiên cứu:......................................................................................9
3. Khách thể và đối tượng ngiên cứu:................................................................9
4. Giả thuyết khoa học: .......................................................................................9
5. Nhiệm vụ nghiên cứu:....................................................................................10
6. Giới hạn đề tài:...............................................................................................10
7. Những đóng góp mới của đề tài: ..................................................................10
8. Phương pháp luận và phương pháp nghiên cứu: .......................................11
PHẦN I: TỔNG QUAN VỀ HỆ THỐNG BÁO ĐIỂM TỰ ĐỘNG QUA
EMAIL, DỰ ĐOÁN VỀ KHÓ KHĂN CỦA GIÁO VIÊN-HỌC SINH-PHỤ
HUYNH...................................................................................................................................................12
Chương 1: Giới thiệu.........................................................................................13
1.1. Tổng quan về hệ thống báo điểm tự động qua Email.......................13
1.2. Lợi ích mà “Hệ thống báo điểm tự động qua Email” mang lại ..........13
1.3. Những dự đoán về khó khăn và nhu cầu của nhà trường, phụ huynh và
học sinh đối với “Hệ thống báo điểm tự động qua Email”.........................14
PHẦN II: TÌM HIỂU VÀ ĐÁNH GIÁ NHỮNG KHÓ KHĂN CỦA GIÁO
VIÊN-HỌC SINH-PHỤ HUYNH ĐỀ RA PHƯƠNG HƯỚNG THỰC HIỆN
LUẬN VĂN............................................................................................................................................16
4. Chương 2: Khảo sát thực tế.............................................................................17
2.1. Mục đích khảo sát....................................................................................17
2.2. Phương pháp khảo sát ............................................................................19
2.3. Kết quả số liệu, biểu đồ...........................................................................20
2.3.1. Kết quả khảo sát giáo viên.................................................................21
2.3.2. Kết quả khảo sát học sinh..................................................................24
2.3.3. Kết quả khảo sát phụ huynh học sinh...............................................27
2.4. Phương pháp phân tích kết quả.............................................................31
2.5. Đánh giá đề tài theo kết quả khảo sát....................................................31
Chương 3: Cơ sở khoa học..............................................................................32
3.1. Tổng quan về Visual Basic.NET ............................................................32
3.1.1. Môi trường phát triển Visual Studio.................................................32
3.1.2. Biến, hằng, các phát biểu cấu trúc trong VB.NET ..........................34
3.1.3. Regular Expression............................................................................38
3.1.4. Phân phối và đóng gói ứng dụng VB.NET.......................................41
3.2. Các đối tượng của Outlook.....................................................................44
3.2.1. Thư viện NetOffice.............................................................................44
3.2.2. Các đối tượng của Outlook................................................................45
3.3. SQL - chuẩn ngôn ngữ ANSI để truy cập cơ sở dữ liệu ......................47
3.3.1. SQL là gì?..........................................................................................47
3.3.2. Bảng cơ sở dữ liệu .............................................................................47
3.3.3 SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation
Language).....................................................................................................48
3.4. Kiến trúc COM Addin ............................................................................52
3.5. Vài vấn đề về HTML hỗ trợ việc trình bày văn bản............................56
5. PHẦN III: XÂY DỰNG CÔNG CỤ HỖ TRỢ.........................................................................59
Chương 4: Trình bày các tính năng, giải thuật và lập trình công cụ ..........60
4.1 Tư tưởng chính.....................................................................................60
4.1.1. Mục đích.............................................................................................60
4.1.2. Các tính năng của công cụ................................................................60
4.1.3. Lưu đồ hệ thống chi tiết.....................................................................61
4.2 Thuyết minh chi tiết các tính năng của công cụ................................64
4.2.1 .Tính năng kết nối cơ sở dữ liệu............................................................64
4.2.2. Tính năng lọc và xử lý mail spam.........................................................68
4.2.3. Tính năng cập nhật cơ sở dữ liệu.........................................................70
4.2.4. Tính năng trích xuất cơ sở dữ liệu .......................................................72
4.2.5. Tính năng gửi email tự động ................................................................75
4.3. Chạy thử nghiệm và đo tốc độ xử lý mail..............................................76
Chương 5: Hướng dẫn sử dụng......................................................................79
5.1. Cài đặt công cụ .....................................................................................79
5.2. Cách sử dụng công cụ ..........................................................................82
5.3. Gỡ bỏ công cụ .......................................................................................86
KẾT LUẬN............................................................................................................................................87
Tài liệu tham khảo ..............................................................................................................................88
Phụ lục .....................................................................................................................................................89
6. Danh mục các ký hiệu, các chữ viết
tắt
Viết tắt Viết đầy đủ
TP. HCM Thành phố Hồ Chí Minh
VB Visual Basic
VS Visual Studio
THPT Trung học phổ thông
7. Danh mục các bảng
Bảng 2.1 Bảng thống kê số lượng khảo sát..........................................................................20
Bảng 2.2. Bảng số liệu khảo sát giáo viên...........................................................................21
Bảng 2.3. Bảng số liệu khảo sát học sinh ............................................................................24
Bảng 2.4 Bảng số liệu khảo sát phụ huynh học sinh ..........................................................27
Bảng 3.1. Các kiểu dữ liệu của VS.NET .............................................................................35
Bảng 3.2 Các phát biểu hàm chuẩn trong VB......................................................................36
Bảng 3.3 Các toán tử so sánh...............................................................................................36
Bảng 3.4 Các toán tử logic...................................................................................................37
Bảng 3.5 Các lớp để thao tác với Regular Expression.........................................................39
Bảng 3.6 Ví dụ bảng cơ sở dữ liệu ......................................................................................47
Bảng 3.7 Ví dụ bảng kết quả trả về (SQL) ..........................................................................49
Bảng 3.8 Những thẻ HTML cơ bản.....................................................................................57
Bảng 3.9 Thẻ Table (HTML)...............................................................................................58
Bảng 4.1 Cơ sở dữ liệu mẫu ................................................................................................76
Bảng 4.2 Kết quả thử nghiệm ..............................................................................................76
Bảng 4.3 Kết quả thử nghiệm ..............................................................................................77
8. Danh mục các hình vẽ, đồ thị
Hình 2.1 Biểu đồ thể hiện đáp án của giáo viên ....................................................................... 21
Hình 2.2 Biểu đồ thể hiện đáp án của học sinh......................................................................... 24
Hình 2.3 Biểu đồ thể hiện đáp án của phụ huynh học sinh...................................................... 27
Hình 3.1 Cửa sổ làm việc của chương trình Visual Studio....................................................... 32
Hình 3.2 Các công cụ làm việc của Visual Studio .NET.......................................................... 34
Hình 3.3 Hình minh họa bảng được trình bày trong web nhờ HTML...................................... 58
Hình 4.1 Lưu đồ tổng quan hệ thống báo điểm tự động qua Email.......................................... 61
Hình 4.2 Lưu đồ xử lý mail với nhu cầu đăng ký..................................................................... 62
Hình 4.3 Lưu đồ xử lý mail với nhu cầu xem điểm.................................................................. 63
Hình 5.1 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 79
Hình 5.2 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 79
Hình 5.3 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 80
Hình 5.4 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 80
Hình 5.5 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 81
Hình 5.6 Giao diện cài đặt công cụ “Hệ thống báo điểm”........................................................ 81
Hình 5.7 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................... 82
Hình 5.8 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................... 82
Hình 5.9 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................... 83
Hình 5.10 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................. 83
Hình 5.11 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................. 84
Hình 5.12 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................. 84
Hình 5.13 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................. 85
Hình 5.14 Hướng dẫn sử dụng công cụ “Hệ thống báo điểm”................................................ 85
Hình 5.15 Hướng dẫn gỡ bỏ công cụ “Hệ thống báo điểm”..................................................... 86
Hình 5.16 Hướng dẫn gỡ bỏ công cụ “Hệ thống báo điểm”..................................................... 86
9. MỞ ĐẦU
1. Lý do chọn đề tài:
Công nghệ thông tin đã trở thành một phần không thể thiếu trong cuộc sống
hàng ngày của chúng ta. Ngày nay, điện thoại di động, máy tính để bàn, thiết bị cầm
tay, thư điện tử và việc sử dụng Internet đã trở thành tâm điểm trong văn hóa và
cộng đồng. Trong hệ thống giáo dục toàn cầu hiện nay, việc ứng dụng công nghệ
thông tin ngày càng trở nên đa dạng và phổ biến. Qua đó, người học được tăng khả
năng tiếp cận tài nguyên và trải nghiệm học tập tương tác. Ở một khía cạnh khác,
với các phương tiện máy tính đa dạng và hệ thống mạng Internet đang dần bao phủ
khắp mọi nơi, nền giáo dục được cung cấp một công cụ vô cùng hữu hiệu phục vụ
cho việc thông tin liên lạc giữa nhà trường – học sinh - gia đình.
Vì vậy với mong muốn giúp ích cho quá trình thông tin liên lạc giữa nhà
trường – học sinh - gia đình, cụ thể là trong vấn đề quản lý kết quả học tập, tôi
quyết định chọn đề tài “Hệ thống báo điểm tự động qua Email trong trường trung
học phổ thông”.
2. Mục đích nghiên cứu:
- Tìm hiểu những khó khăn và nhu cầu của giáo viên, học sinh, phụ huynh
học sinh trong quá trình ứng dụng công nghệ thông tin vào việc thông tin liên lạc.
- Đưa ra giải pháp khắc phục khó khăn và công cụ hỗ trợ báo điểm tự động
qua Email.
3. Khách thể và đối tượng ngiên cứu:
Đối tượng: Hệ thống báo điểm tự động qua Email ở trường phổ thông
Khách thể: Quá trình thông tin liên lạc giữa nhà trường – học sinh – gia đình
ở trường THPT.
4. Giả thuyết khoa học:
Nếu ứng dụng hệ thống báo điểm tự động qua Email ở trường phổ thông theo
những định hướng và các biện pháp nêu ra trong đề tài thì sẽ rút ngắn khoảng cách
10. giữa nhà trường-học sinh-gia đình, giúp tiết kiệm thời gian, tăng cường việc trao đổi
và cung cấp thông tin giữa nhà trường và gia đình.
5. Nhiệm vụ nghiên cứu:
- Nhiệm vụ 1: Nghiên cứu cơ sở lý luận của đề tài về ứng dụng công nghệ
thông tin vào việc thông tin liên lạc, tập trung vào hệ thống báo điểm tự động qua
Email.
- Nhiệm vụ 2: Dự đoán nhu cầu và khó khăn của giáo viên- học sinh –phụ
huynh trong việc ứng dụng công nghệ thông tin vào việc thông tin liên lạc từ đó đề
ra phiếu khảo sát nhằm thu thập ý kiến của giáo viên - học sinh - phụ huynh thông
qua cuộc khảo sát thực tế tại một số trường THPT ở TP.HCM.
- Nhiệm vụ 3: Đưa ra những kết luận về khó khăn và nhu cầu. Từ đó đề ra
những phương hướng giải quyết và công cụ hỗ trợ.
6. Giới hạn đề tài:
- Về không gian: Tập trung nghiên cứu tại 14 trường THPT ở TP.HCM.
- Về thời gian: từ tháng 11 năm 2011 đến tháng 4 năm 2012
- Về nội dung: Do điều kiện nghiên cứu về không gian và thời gian có hạn
nên phạm vi nghiên cứu đề tài được thu hẹp như sau: Khai thác “Hệ thống báo điểm
tự động qua Email” trong việc thông tin liên lạc:
+ Giáo viên cập nhật điểm vào hệ thống.
+ Học sinh, phụ huynh nhận thông tin về điểm số môn học qua Email nhờ hệ
thống khi có yêu cầu.
7. Những đóng góp mới của đề tài:
7.1 Tính mới mẽ của đề tài
Về mặt lý luận:
Hệ thống hoá và phát triển lý luận về việc ứng dụng công nghệ thông tin
trong thông tin liên lạc, cụ thể là hệ thống báo điểm trong nhà trường THPT.
Về mặt thực tiễn:
- Hướng dẫn và cung cấp công cụ “Hệ thống báo điểm tự động qua Email” ở
nhà trường THPT.
11. - Góp phần đổi mới phương pháp thông tin liên lạc truyền thống trong nhà
trường THPT.
7.2 Hướng phát triển của đề tài
Đề tài cần được tiếp tục phát triển hướng đến thiết kế hệ thống thông báo
thông tin cho tất cả các hoạt động của học sinh ở trường, đồng thời có thể nhận
thông tin phản hồi từ phụ huynh.
8. Phương pháp luận và phương pháp nghiên cứu:
8.1. Phương pháp luận:
8.1.1. Tính toàn diện:
Công cụ có thể sử dụng để báo điểm cho mọi học sinh các khối lớp.
8.1.2 Tính phát triển:
“Hệ thống báo điểm tự động qua Email” có một số tính năng vượt trội: Dễ sử
dụng; Tốc độ nhanh; An toàn và tin cậy; Dễ dàng trong việc truyền tải thông tin; Dễ
tự động hóa; Giá thành đầu tư ít; Thân thiện với môi trường
8.2 Phương pháp nghiên cứu:
Để thực hiện đề tài, trong quá trình nghiên cứu, tôi đã sử dụng các nhóm
phương pháp sau:
+ PP phân tích và tổng hợp tài liệu: Tìm hiểu hệ thống thông tin liên lạc
hiện tại ở các trường THPT, tìm hiểu về lập trình VB.NET cho Oulook.
+ PP quan sát: nhằm đánh giá nhu cầu và thị hiếu người dùng.
+ PP Bút vấn: thực hiện với số lượng tương đối lớn đối với giáo viên, học
sinh, phụ huynh nhằm thu thập kết quả sát với nhu cầu thực tế.
+ PP Thống kê toán học: Sử dụng phép toán thống kê xử lý số liệu thu thập
được từ việc điều tra bút vấn. Phân tích số liệu, vẽ biểu đồ tương ứng
12. PHẦN I:
TỔNG QUAN VỀ HỆ THỐNG
BÁO ĐIỂM TỰ ĐỘNG QUA EMAIL,
DỰ ĐOÁN VỀ KHÓ KHĂN CỦA
GIÁO VIÊN-HỌC SINH-PHỤ
HUYNH
13. Chương 1: Giới thiệu
1.1. Tổng quan về hệ thống báo điểm tự động qua Email
Đây là hệ thống phần mềm tích hợp, phục vụ cho việc thông tin liên lạc giữa
nhà trường và học sinh, phụ huynh học sinh. Qua đó, học sinh và phụ huynh sẽ nhận
Email phản hồi điểm số môn học của học sinh theo yêu cầu.
Hệ thống sẽ quản lý điểm theo mã số học sinh. Mã số học sinh bao gồm mười
hai ký tự được quy định bởi Bộ Giáo dục. Theo đó, để nhận Email phản hồi điểm,
học sinh và phụ huynh phải đăng ký email được phép xem điểm và gửi email yêu
cầu xem điểm với cú pháp đã được quy định. Mỗi học sinh chỉ được đăng ký tối đa
hai email được phép xem điểm. Do đó, mỗi học sinh có thể đăng ký một địa chỉ
email của chính học sinh đó để tự xem điểm, địa chỉ còn lại là của phụ huynh học
sinh. Mặt khác, điều này giúp hệ thống mang tính bảo mật trong việc cung cấp
thông tin. Hệ thống sẽ kiểm chứng email yêu cầu xem điểm đã đăng ký chưa, để
đảm bảo không ai khác ngoài phụ huynh có thể nhận thông tin của con em mình và
học sinh nhận được thông tin của bản thân.
1.2. Lợi ích mà “Hệ thống báo điểm tự động qua Email” mang
lại
Việc cập nhật điểm trên hệ thống thay vì thông báo điểm trên lớp, trên bảng
tin hay phát sổ liên lạc, phiếu điểm có một số ưu điểm vượt trội hơn là:
+ Dễ sử dụng: Chỉ cần với trình độ tin học căn bản, người giáo viên cũng có
thể nhập điểm dễ dàng vào hệ thống. Các thao tác nhận, gửi email cũng là những
công việc đơn giản và phổ biến trong cuộc sống ngày nay. Quý phụ huynh và các
em học sinh có thể dễ dàng soạn email trên nhiều thiết bị có khả năng kết nối
internet với cú pháp ngắn gọn, dễ nhớ.
+ Tốc độ nhanh: Tốc độ nhận gửi email rất nhanh nên việc nhận thông tin
gần như là tức thời.
14. + An toàn và tin cậy: Email báo điểm chỉ được gửi đến những địa chỉ đã
đăng ký và chỉ gửi khi nhận được cú pháp yêu cầu chính xác. Qua đó, phụ huynh và
học sinh có thể an tâm vì bảng điểm và những thông tin của học sinh được giữ an
toàn tuyệt đối.
+ Dễ dàng trong việc truyền tải thông tin: Với hệ thống thông tin liên lạc
ngày càng hiện đại và mạng lưới internet được phủ sóng hầu khắp mọi nơi, việc gửi,
nhận email đang trở nên hết sức đơn giản và tiện lợi.
+ Dễ tự động hóa: Hệ thống được lập trình đảm nhiệm các chức năng lọc thư
trong Inbox, trả lời thư phù hợp với nội dung, xóa thư sau khi xử lý, phân loại
những địa chỉ thư Spam,… hướng đến mục tiêu tự động hóa toàn diện.
+ Giá thành đầu tư ít: Về phía nhà trường, chỉ cần một máy tính có kết nối
internet, một nhân viên vận hành. Về phía phụ huynh và học sinh, có thể dùng bất
cứ thiết bị nào có thể kết nối internet để gửi và nhận email.
+ Thân thiện với môi trường: Tiết kiệm một số lượng lớn giấy và mực in so
với phương cách gửi giấy báo điểm.
1.3. Những dự đoán về khó khăn và nhu cầu của nhà trường,
phụ huynh và học sinh đối với “Hệ thống báo điểm tự động qua
Email”
Điểm số là thước đo kết quả học tập. Mong muốn biết kết quả điểm số các
môn học không chỉ là nhu cầu của học sinh mà còn là của các bậc làm cha mẹ. Qua
đó, học sinh biết được những môn học tốt để phát huy và những môn điểm chưa tốt
để cố gắng cải thiện. Qua điểm số, phụ huynh có thể thấy được ưu, khuyết điểm của
con mình, giúp con định hướng học tập, định hướng nghề nghiệp tương lai, cũng
như kịp thời phát hiện những vấn đề trong kết quả học tập để kịp thời chấn chỉnh,
giúp con vượt qua những khó khăn trong học tập.
Với hệ thống thông tin liên lạc ngày càng hiện đại và mạng lưới internet
được phủ sóng hầu khắp mọi nơi, ứng dụng công nghệ thông tin là một xu thế của
thời đại. Nó cung cấp nguồn tài nguyên phong phú, đa dạng về mặt kiến thức, mang
15. đến một hình thức trao đổi thuận tiện giữa người và người. Do đó, việc sử dụng
công nghệ thông tin, cụ thể ở đây là “Hệ thống báo điểm tự động qua Email” góp
phần phát triển cuộc sống hiện đại và ngày càng tiện nghi của chúng ta.
Thông qua “Hệ thống báo điểm tự động qua Email”, điểm số của học sinh
được giữ an toàn. Những email chưa đăng ký kèm mã học sinh như quy định sẽ
không xem được điểm của học sinh tương ứng. Mặt khác, hệ thống còn giúp quý
phụ huynh có thể kiểm tra tình hình học tập của con em mình ở bất cứ đâu và bất cứ
lúc nào, rất tiện lợi cho những phụ huynh bận rộn hay thường đi công tác xa.
Việc nhận, gửi email để biết điểm, phần nào đó giúp các em học sinh có cơ
hội tiếp cận công nghệ thông tin, quen với việc tự quản lý công việc. Các em có thể
lưu giữ lại các Email báo điểm như một bộ hồ sơ học tập.
Mặc dù có nhiều ưu điểm nổi trội, nhưng việc áp dụng “Hệ thống báo điểm
tự động qua Email” cũng gây khó khăn cho một số phụ huynh và các em học sinh.
Tuy hệ thống internet đã trở nên phổ biến và rộng khắp nhưng vẫn chưa đến được
với tất cả mọi hộ gia đình, vẫn có những gia đình không có điều kiện lắp đặt hay
trang bị những thiết bị kết nối internet. Một khía cạnh nhạy cảm khác là trình độ tin
học của một số phụ huynh còn hạn chế, nhiều gia đình có điều kiện về vật chất song
chưa coi trọng việc sử dụng phương tiện truyền thông hiện đại này.
16. PHẦN II:
TÌM HIỂU VÀ ĐÁNH GIÁ NHỮNG
KHÓ KHĂN CỦA
GIÁO VIÊN-HỌC SINH-PHỤ
HUYNH ĐỀ RA PHƯƠNG HƯỚNG
THỰC HIỆN LUẬN VĂN
17. Chương 2: Khảo sát thực tế
Trước khi thực hiện cuộc khảo sát ở các trường phổ thông, chúng tôi đã tiến
hành cuộc khảo sát để lấy ý kiến phản hồi và nhận định của các bạn sinh viên về hệ
thống thông tin liên lạc tại các trường THPT hiện nay cũng như trong môi trường
học tập hiện tại. Qua đó, chúng tôi sẽ có thêm ý tưởng cho đề tài luận văn và hoàn
thiện hơn các bản khảo dành cho đối tượng giáo viên-học sinh-phụ huynh. Với sự
đồng ý của trường Đại học Sư phạm cũng như sự hỗ trợ nhiệt tình và quý báu từ
Ban giám hiệu và tập thể giáo viên, học sinh và phụ huynh của các em tại 14 trường
THPT nội, ngoại thành ở TP.HCM, chúng tôi đã thu được kết quả khả quan với số
lượng giáo viên là 171, học sinh là 676 em và 333 bản khảo sát từ quý phụ huynh
học sinh.
2.1. Mục đích khảo sát
2.1.1. Đối với giáo viên
Thông qua bảng khảo sát, chúng tôi muốn biết:
- Mức độ am hiểu cũng như mật độ sử dụng công nghệ thông tin của giáo
viên trong trường THPT.
- Sự quan tâm của giáo viên đối với việc liên lạc, trao đổi với học sinh.
- Mức độ hài lòng của giáo viên về trang thiết bị, cơ sở vật chất phục vụ cho
việc thông tin, liên lạc và hỗ trợ giảng dạy trong trường THPT mà giáo viên
đang công tác.
- Mức độ đầu tư của giáo viên về công nghệ trong việc giảng dạy.
- Tìm hiểu về các phần mềm giáo viên đang sử dụng phụ vụ cho giảng dạy.
Các hình thức mà giáo viên thường thông tin, liên lạc đến học sinh và gia đình
- Ý kiến của giáo viên về những đặc tính mà một phần mềm.
- Sự quan tâm của giáo viên đến một môi trường dạy-học khác NGOÀI LỚP
HỌC. Quan điểm của giáo viên về tính khả thi của việc đầu tư tăng cường cho
khâu thông tin liên lạc giữa nhà trường và gia đình
18. Đặc biệt, câu số 11 đưa ra nhằm đánh giá mức độ chú ý trả lời câu hỏi của
phụ huynh học sinh (có nội dung tương tự câu 2 nhưng diễn đạt bằng cách khác)
2.1.2. Đối với học sinh
Thông qua bản khảo sát, chúng tôi muốn biết:
- Mức độ am hiểu về công nghệ thông tin của học sinh THPT ra sao và các em
ứng dụng chúng vào trong việc học như thế nào.
- Mức độ hài lòng của học sinh về trang thiết bị công nghệ thông tin nhà trường
em đang học.
- Mức độ trao đổi giữa các em và giáo viên. Các em sử dụng hình thức nào là
thường xuyên nhất khi tiến hành trao đổi với giáo viên.
- Các em có quan tâm đến vấn đề cập nhật thông tin từ trường-lớp hay không?
- Các em có quan tâm đến một môi trường học tập NGOÀI LỚP HỌC hay
không. Thái độ của các em như thế nào về việc phụ huynh học sinh sẽ cập nhật
thông tin về tình hình học tập của các em một cách thường xuyên và thuận tiện hơn?
- Tìm hiểu nhu cầu, mong muốn của học sinh về một phương tiện thông tin liên
lạc hiệu quả giữa nhà trường và các em.
- Đặc biệt, câu số 9 đưa ra nhằm đánh giá mức độ chú ý trả lời câu hỏi của học
sinh (có nội dung tương tự câu 6 nhưng diễn đạt bằng cách khác).
2.1.3. Đối với phụ huynh học sinh
Thông qua bảng khảo sát, chúng tôi muốn biết:
- Việc thông tin liên lạc giữa gia đình và nhà trường đã thực sự đầy đủ chưa.
- Mức độ quan tâm của phụ huynh đối với việc học tập và hoạt động của con
em ở trường, quan tâm đến việc ứng dụng công nghệ thông tin vào trong việc học
và thông tin liên lạc của con.
- Hình thức liên lạc hiện nay của phụ huynh với nhà trường và giáo viên của
con em mình. Các phương tiện phục vụ quá trình thông tin liên lạc của phụ huynh
học sinh và nhà trường đã đầy đủ và hữu ích chưa.
- Những khó khăn của phụ huynh học sinh trong quá trình thông tin liên lạc với
nhà trường và giáo viên của con em.
19. - Những thông tin mà phụ huynh học sinh cần biết trong quá trình học tập và
hoạt động ở trường của con em.
- Mức độ quan tâm của phụ huynh học sinh về một hình thức liên lạc mới là tin
nhắn SMS, website, chi phí sẽ bỏ ra cho tiện ích này.
- Ngoài ra, câu số 7 đưa ra nhằm đánh giá mức độ chú ý trả lời câu hỏi của phụ
huynh học sinh (có nội dung tương tự câu 5 nhưng diễn đạt bằng cách khác)
2.2. Phương pháp khảo sát
Cuộc khảo sát được thực hiện thông qua phương pháp sử dụng bảng câu hỏi.
Bản khảo sát được xây dựng trên bộ những câu hỏi kín gồm nhiều lựa chọn
và có một đến hai câu hỏi mở nhằm thu thập những ý kiến chủ quan của người được
khảo sát. Các câu hỏi mang tính khách quan và đa dạng nhất có thể để hướng đến
mục đích của cuộc khảo sát.
Bộ câu hỏi hàm chứa 1 hoặc nhiều câu kiểm tra mức độ chuyên tâm trả lời
của người được khảo sát (xem họ có thực sự đọc-hiểu-điền không). Từ đó đưa ra kết
quả sai số trong quá trình khảo sát.
Quá trình khảo sát được thực hiện trên địa bàn TP. HCM bao gồm cả vùng
nội và ngoại thành. Các đối tượng được khảo sát bao gồm sinh viên khoa Toán-Tin
trường ĐH Sư phạm TP.HCM, học sinh, phụ huynh và giáo viên các trường trung
học phổ thông. Cuộc khảo sát được thực hiện trên diện rộng và với số lượng người
được khảo sát tương đối lớn để đảm bảo tính khách quan.
20. 2.3. Kết quả số liệu, biểu đồ
STT Các trường đã khảo sát Địa bàn
Số lượng
Giáo
viên
Học
sinh
Phụ
huynh
1 Trung học thực hành Quận 5 17 47 51
2 THPT Diên Hồng Quận 10 9 47 0
3 THPT Nguyễn Khuyến Quận 10 0 82 84
4 THPT Nguyễn An Ninh Quận 10 32 55 54
5 THPT Lương Thế Vinh Quận 1 20 84 50
6 THPT Thủ Đức Thủ Đức 0 44 26
7 THPT Nguyễn Hữu Huân Thủ Đức 12 77 25
8 THPT Trần Quang Khải Quận 11 12 20 1
9 THPT Lê Hồng Phong Quận 5 12 0 0
10 THPT Long Trường Quận 9 28 70 0
11 THPT Nguyễn Huệ Quận 9 5 18 0
12 THPT Bùi Thị Xuân Quận 1 24 21 15
13 THPT Lý Thường Kiệt
Huyện
Hóc Môn
0 28 5
14 THPT Nguyễn Hữu Cầu
Huyện
Hóc Môn
0 33 0
15 Khác 0 50 22
Tổng cộng 171 676 333
Bảng 2.1 Bảng thống kê số lượng khảo sát
21. 2.3.1. Kết quả khảo sát giáo viên
Bảng số liệu
Bảng 2.2. Bảng số liệu khảo sát giáo viên
Biểu đồ
Hình 2.1 Biểu đồ thể hiện đáp án của giáo viên
Phân tích – đánh giá
Câu A % B % C % D % E %
1 118 69.01 103 60.23 128 74.85 24 14.04 7 4.09
2 18 10.53 153 89.47
3 25 14.62 146 85.38
4 107 62.57 107 62.57 58 33.92
5 21 12.28 26 15.2 12 7.02 101 59.06
6 153 89.47 75 43.86 18 10.53 61 35.67
7 167 97.66 2 1.17
8 105 61.4 107 62.57 35 20.47
9 89 52.05 76 44.44
10 140 81.87 27 15.79
11 49 28.65 113 66.08 9 5.26
12 82 47.95 49 28.65 46 26.9 32 18.71
13 74 43.27 62 36.26 27 15.79 4 2.34
14 53 30.99 89 52.05 27 15.79
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Đáp án E
Đáp án D
Đáp án C
Đáp án B
Đáp án A
22. Thông qua bản khảo sát, ta thấy được rằng:
Câu 1:
- Đa phần giáo viên chọn hướng liên lạc với phụ huynh học sinh thông qua điện
thoại, cho thấy giáo viên cần một phương tiện truyền tin hữu hiệu và nhanh chóng
nhất để có thể liên lạc với phụ huynh và nhận được phản hồi. Ngoài ra, các cách
thức liên lạc truyền thống như sổ liên lạc, gặp trực tiếp vẫn được rất nhiều thầy cô
lựa chọn và hiện vẫn là phương thức truyền thông chủ yếu ở trường học.
-Khác với thế hệ trước, những phương tiện liên lạc hiện đại và đa dạng như
máy tính và Internet (Chat, Email,…) đã phần nào làm thay đổi cách thức liên lạc
giữa giáo viên và phụ huynh, góp phần hiệu quả trong việc hợp tác giáo dục học
sinh của giáo viên và học sinh.
Câu 2 & 3
-Phần lớn giáo viên được khảo sát cho biết bản thân và nhà trường lưu dữ liệu
học sinh (danh sách, bảng điểm) bằng Microsoft Excel, một số rất ít giáo viên dùng
phương thức nhập liệu cũ là sổ chủ nhiệm, đánh máy thủ công qua Word. Điều đó
cho thấy đa phần giáo viên có sự hiểu biết và sử dụng đúng phần mềm công nghệ
cho mục đích của mình và Excel vẫn là sự lựa chọn khá phổ biến. Phần mềm
Access chưa được quan tâm nhiều do Access nâng cao và khó sử dụng hơn.
Câu 4 & 5:
-Thực tế chỉ rõ, phần lớn các trường đã có sự quan tâm trang bị công nghệ
trong việc quản lý và thông tin liên lạc với học sinh, giáo viên và phụ huynh, điều
này được chứng minh với đa số giáo viên nói rằng trường họ đã được trang bị máy
tính có kết nối internet và điện thoại – fax phục vụ mục đích này.
-Với gần một phần ba giáo viên được hỏi cho biết trường nơi họ công tác có sự
quan tâm và hỗ trợ kinh phí cho mục đích thông tin liên lạc của giáo viên. Từ đó
thấy rằng, mặt bằng chung, các trường đã suy nghĩ nghiêm túc vào việc ứng dụng
công nghệ thông tin vào trong thực tiễn giảng dạy và liên lạc.
Câu 6:
23. -Đa số giáo viên được khảo sát có sử dụng điện thoại di động và khoảng một
nửa giáo viên có máy tính cá nhân được kết nối internet.
-Ngoài ra, việc tiếp cận hình thức giảng dạy, chia sẻ thông tin – tài liệu thông
qua internet cũng được giáo viên ngày càng quan tâm với gần 10% giáo viên có
trang web cá nhân và tài khoản mạng xã hội, cũng như một phần ba giáo viên đã tự
tạo cho mình hòm thư điện tử riêng.
Câu 7 & 9 & 10:
Hầu hết giáo viên chọn Windows làm hệ điều hành cho máy vi tính của mình,
nhưng một số lượng lớn lại là Windows không bản quyền, mà nguyên do chính là
do chi phí bản quyền khá cao (89.47% giáo viên cho biết họ sẵn sàng mua phần
mềm hợp pháp nếu giá cả phù hợp hay có một chương trình hỗ trợ - giảm về giá).
Câu 8 & 11:
Hầu hết giáo viên đã biết và sử dụng được công nghệ và áp dụng vào trong thực
tiễn giảng dạy. Thông qua thực tế sử dụng, các giáo viên cho rằng một phần mềm
cần phải có các chức năng cần thiết như giao diện tiếng Việt thân thiện, dễ thao tác,
có chức năng tự phát triển.
Câu 13 & 14:
-Gần một nửa giáo viên cho biết họ thường xuyên sử dụng công nghệ thông tin
trong việc quản lý học sinh, liên lạc với học sinh và phụ huynh học sinh.
-Phần lớn giáo viên rất đồng ý với việc tạo một môi trường học tập ngoài lớp
học để có thể hỗ trợ tốt hơn cho học sinh. Tuy nhiên, các giáo viên cho rằng chưa có
đủ điều kiện về thời gian và cơ sở vật chất để triển khai kế hoạch thành thực tiễn.
Điều này cho thấy nhu cầu của giáo viên cao nhưng sự hỗ trợ và tình hình kinh tế
hiện thực chưa đáp ứng được nhiều.
Câu 15:
Nhu cầu của các giáo viên về một phần mềm quản lý thông tin liên lạc: Giao
diện đẹp, tiếng Việt thân thiện, dễ sử dụng, giá rẻ, nhiều chức năng, truy cập nhanh,
nhà trường có hỗ trợ về giá.
24. 2.3.2. Kết quả khảo sát học sinh
Bảng số liệu
Bảng 2.3. Bảng số liệu khảo sát học sinh
Biểu đồ
Hình 2.2 Biểu đồ thể hiện đáp án của học sinh
Phân tích – đánh giá
Câu A B C D E F G H I J K L
1 530 52 114 131 14
% 78.99 7.75 16.99 19.52 2.09
2 313 180 29 191 8
% 46.65 26.83 4.32 28.46 1.19
3 383 174 82 218 7
% 57.08 25.93 12.22 32.49 1.04
4 242 314 82 29
% 36.07 46.8 12.22 4.32
5 407 322 66 44
% 60.66 47.99 9.84 6.56
6 220 243 181 21
% 32.79 36.21 26.97 3.13
7 130 352 67 113 21
% 19.37 52.46 9.99 16.84 3.13
8 365 174 71 114 10
% 54.4 25.93 10.58 16.99 1.49
9 262 163 226 20
% 39.05 24.29 33.68 2.98
10 438 75 133 33 8
% 65.28 11.18 19.82 4.92 1.19
11 462 350 304 397 172 29 433 165 32 346 76 22
% 68.85 52.16 45.31 59.17 25.63 4.32 64.53 24.59 4.77 51.56 11.33 3.28
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 10 11
Đáp án L
Đáp án K
Đáp án J
Đáp án I
Đáp án H
Đáp án G
Đáp án F
Đáp án E
Đáp án D
Đáp án C
Đáp án B
25. Thông qua bản khảo sát, ta thấy được rằng:
Câu 1 & 3:
Đa số học sinh được khảo sát thường trao đổi thông tin với nhà trường và
giáo viên theo phương thức truyền thống là gặp trực tiếp hoặc xem thông báo trên
bảng thông báo của nhà trường. Điều đó cho thấy đa phần các em chưa quen với
việc tiếp cận thông tin từ phía nhà trường và giáo viên từ những kênh thông tin
khác.Bên cạnh đó, một số ít học sinh tiếp cận thông tin từ những kênh thông tin đa
dạng và tiện lợi hơn như điện thoại, website thông tin hoặc email.
Câu 2:
Khó khăn lớn nhất của học sinh trong việc trao đổi với giáo viên là do ngại
trao đổi, thứ đến là không có thời gian và cơ hội để trao đổi với giáo viên. Qua đó
cho thấy phần nào hạn chế của hình thức trao đổi truyền thống.
Tuy nhiên vẫn có 28.46% học sinh cho rằng các em không gặp khó khăn gì
và 4.32% học sinh trả lời rằng các em không có phương tiện liên lạc (điện thoại,
máy tính nối mạng …). Do đó, việc thay đổi hình thức trao đổi thông tin chỉ có thể
thực hiện từng bước, việc thay đổi đồng bộ sẽ cần tốn một thời gian dài.
Câu 4 & 5:
Về mức độ sử dụng công nghệ thông tin để phục vụ học tập và cập nhật
thông tin từ trường lớp, có 46.8% học sinh cho rằng thỉnh thoảng, 36.07% học sinh
thường xuyên sử dụng, chỉ 12.22% học sinh rất ít sử dụng và 4.32% học sinh chưa
từng sử dụng công nghệ thông tin để phục vụ mục đích này. Do đó, khi được hỏi
trong học tập, các bạn thường trao đổi với nhau bằng cách nào; thì đa số học sinh trả
lời là họp nhóm, thảo luận trực tiếp, cũng có khá nhiều học sinh sử dụng chat group
(yahoo, Gtalk, Skype, Facebook chat …) và chỉ 9.84% học sinh được khảo sát sử
dụng email.
Câu 6 & 9:
Về thái độ của học sinh đối với việc thay hình thức trao đổi thông tin truyền
thống bằng các kênh thông tin khác (SMS, website, email …) thì đa số các em đồng
26. ý (32.79%), một số tỏ ra không mấy quan tâm đến vấn đề này (36.21%) và một vài
em tỏ ra không đồng ý (26.97%)
Câu 7:
Về trang thiết bị công nghệ thông tin của nhà trường phục vụ việc học,
52.46% học sinh cho rằng thiết bị vừa đủ dùng, nhưng muốn hoàn thiện hơn; và
16.84% học sinh cho rằng cơ sở vật chất của nhà trường còn thiếu thốn. Qua đó cho
thấy nhu cầu cần thiết của việc nâng cấp trang thiết bị cho nhà trường hiện nay.
Ngoài ra, có 19.37% học sinh tỏ ra hài lòng với trang thiết bị của nhà trường.
Mặt khác, có 9.99% học sinh cho rằng trang thiết bị của nhà trường cũng
tương đối đầy đủ nhưng lại không được quan tâm sử dụng nhiều.
Câu 8: Về vấn đề quản lý điểm cá nhân:
Đa số học sinh (54.4%) cho rằng cần có một trang web cập nhật điểm thường
xuyên. Một số lượng lớn học sinh (25.93%) lại muốn nhận điểm thông qua tin nhắn
SMS hay email một cách tự động. Bên cạnh đó, cũng có 10.58% học sinh cho rằng
có thể nhắn tin hoặc gửi email khi cần biết điểm mà không cần tự động. Ngoài ta, có
một bộ phận học sinh (16.99%) tỏ ra không mấy quan tâm đến vấn đề này, chỉ cần
có điểm tổng kết cuối kì của thầy cô là được.
Câu 10:
Khi khảo sát ý kiến của học sinh về việc tạo một môi trường học tập trực
tuyến giữa giáo viên và học sinh, đa số các em (65.28%) tỏ ra khá hào hứng và hoàn
toàn đồng ý với ý tưởng này. Qua đó cho thấy đây thật sự là một môi trường học tập
khá thú vị và mới mẻ, thu hút được sự quan tâm của học sinh.
Câu 11:
Khi được hỏi về các hình thức học sinh đã sử dụng trong hoạt động và học
tập, kết quả thu được nhiều nhất là Chat, sử dụng điện thoại di động, truy cập các
website thông tin, tìm kiếm và download tài liệu học tập trên Internet, kế đến là các
em tham gia mạng xã hội, trao đổi email, một số ít các em trao đổi qua hòm thư góp
ý của trường và tiến hành học nhóm.
27. 2.3.3. Kết quả khảo sát phụ huynh học sinh
Bảng số liệu
Bảng 2.4 Bảng số liệu khảo sát phụ huynh học sinh
Biểu đồ
Hình 2.3 Biểu đồ thể hiện đáp án của phụ huynh học sinh
Phân tích – đánh giá
Câu A B C D E F G H I J K L
1 161 94 18 60
% 48.35 28.23 5.41 18.02
2 91 217 120 19 2
% 27.33 65.17 36.04 5.71 0.6
3 179 25 46 111 0
% 53.75 7.51 13.81 33.33 0
4 139 109 193 111 244 108 94 134 171 84 41 89
% 41.74 32.73 57.96 33.33 73.27 32.43 28.23 40.24 51.35 25.23 12.31 26.73
5 183 95 49 4
% 54.95 28.53 14.71 1.2
6 219 182 194 5
% 65.77 54.65 58.26 1.5
7 178 97 53 5
% 53.45 29.13 15.92 1.5
8 229 65 35 3
% 68.77 19.52 10.51 0.9
9 52 203 98 48 76 60 3
% 15.62 60.96 29.43 14.41 22.82 3.9 0.9
10 97 191 45
% 29.13 57.36 13.51
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 10
Đáp án L
Đáp án K
Đáp án J
Đáp án I
Đáp án H
Đáp án G
Đáp án F
Đáp án E
Đáp án D
28. Thông qua bản khảo sát, ta thấy được rằng:
Về hình thức thông tin liên lạc giữa gia đình và nhà trường hiện nay
Câu 2:
Phần lớn sự lựa chọn của phụ huynh là trao đổi thông tin qua sổ liên lạc
(65.17%). Số lượng phụ huynh trao đổi thông tin bằng cách gặp trực tiếp giáo viên,
ban giám hiệu, xem thông báo trên trường chiếm 27.33% hay gọi điện thoại 36.04%
chỉ vào khoảng một nửa so với hình thức trên. Trong đó, trao đổi bằng điện thoại có
phần cao hơn trao đổi trực tiếp. Qua đó, ta có thể thấy đây là hình thức “sổ liên lạc”
hiện vẫn đang là hình thức trao đổi thông tin chủ yếu ở các trường trung học phổ
thông, song đó chỉ là cần nhưng chưa đủ.
Một số ít phụ huynh (khoảng 5.71 %) còn liên lạc qua website và email cho
thấy tuy hình thức này chưa được phổ biến nhưng rất có tiềm năng trong tương lai.
Về những khó khăn
Câu 3:
Khó khăn lớn nhất của các bậc phụ huynh khi trao đổi thông tin với nhà
trường và giáo viên của con em là ít có thời gian và cơ hội để trao đổi (53.75%), thứ
đến là do thiếu thông tin về giáo viên (13.81%), cuối cùng là do thiếu phương tiện
liên lạc (7.51%). Qua đó, ta thấy việc sắp xếp thời gian cho việc trao đổi thông tin
giữa gia đình và nhà trường còn hạn chế. Thời gian học chính khóa và làm việc của
nhà trường, giáo viên cũng trùng lắp với thời gian làm việc của phụ huynh. Thông
tin của giáo viên khó cập nhật. Thông thường, phụ huynh chỉ được biết thông tin
của giáo viên chủ nhiệm qua sổ liên lạc và buổi họp phụ huynh học sinh đầu học kì.
Về nhu cầu và mức độ quan tâm của phụ huynh đối với việc học tập và hoạt
động của con cũng như việc ứng dụng công nghệ thông tin trong việc học tập và
liên lạc.
Câu 1:
48.35% phụ huynh thường xuyên tìm hiểu thông tin các hoạt động của con cái,
khoảng 28.23% phụ huynh thỉnh thoảng mới tìm hiểu và một số lượng nhỏ phụ
29. huynh (5.41%) rất ít quan tâm vấn đề này. Đặc biệt, có 18% phụ huynh chỉ biết
thông tin khi con cái tự nói.
Câu 6:
Điện thoại di động không còn là vật quá xa xỉ và con số 65.77% phụ huynh
được khảo sát có trang bị điện thoại cho con cũng không đáng ngạc nhiên. Thấy
được sự cần thiết của internet trong thời đại công nghệ ngày nay, rất nhiều phụ
huynh đã đầu tư kết nối internet nhằm phục vụ cho việc học tập và thông tin liên lạc
của con thể hiện qua con số (58.26%) trong cuộc khảo sát.
Câu 8:
Ngoài giờ lên lớp, khi tự học ở nhà, học sinh có những thắc mắc không thể tự
giải quyết hoặc hỏi phụ huynh học sinh. Thế nên, một môi trường trao đổi trực
tuyến với giáo viên ngoài giờ học chính thức là thực sự cần thiết cho các em. Ý kiến
này đã được 68.77% phụ huynh trong cuộc khảo sát đồng tình, 19.52% cảm thấy
cũng hay nhưng có hay không cũng được, 10.51% phụ huynh thấy hình thức này
chưa cần thiết.
Câu 4:
Nhìn chung, giữa thông tin về quá trình học tập và các hoạt động ở trường thì
quý phụ huynh quan tâm thông tin về học tập hơn. Điều này cũng dễ giải thích vì
hướng giáo dục ở nước ta hiện nay vẫn là chú trọng việc học lý thuyết trên trường
hơn hoạt động ngoại khóa và vấn đề này chiếm hầu như toàn bộ thời gian học sinh.
Câu 5 & Câu 7
Khi được hỏi về hình thức nhận thông tin của con em qua email, tin nhắn hay
trang web điện tử thì có 54.95% phụ huynh cảm thấy vấn đề này rất hay và ủng hộ,
28.53% phụ huynh thấy cũng hay nhưng có hay không cũng được, 14.71% phụ
huynh thấy chưa cần thiết
Câu 9
Hình thức liên lạc giữa gia đình và nhà trường mà quý phụ huynh đồng tình
nhất vẫn là sổ liên lạc (60.96%) . Điều này có thể giải thích do tính quen thuộc và
hiệu quả không thể phủ nhận của sổ liên lạc. Hình thức liên lạc qua SMS, Email
30. đang ngày càng phổ dụng và cũng khá được quan tâm (29.43%). 22.82% phụ huynh
có mong muốn được cập nhật thông tin của con thông qua một trang web, chỉ
15.62% phụ huynh có thể xem thông báo trực tiếp trên trường. Nhắn tin hoặc gởi
email để nhận thông tin khi có nhu cầu được ít phụ huynh đồng tình 14.41%, nghe
con cái thông báo lại chỉ chiếm 3.9%. Một số ít ý kiến mong muốn giáo viên gọi
điện báo trực tiếp hoặc đến gặp trực tiếp giáo viên.
Câu 10
Về vấn đề đóng kinh phí cho việc nhận thông báo từ nhà trường cho các hoạt
động của con, hầu hết phụ huynh (57.36%) đồng ý tham gia nếu thấy phù hợp. Vì
quý phụ huynh chưa hình dung được phần mềm được xây dựng sẽ hoạt động ra sao
và hiệu quả của nó như thế nào nên có sự cân nhắc ở đây.
Câu 11
Để khảo sát tính kinh tế của hệ thống thông tin liên lạc sẽ đề xuất, chúng tôi có
đưa câu hỏi về mức kinh phí mà phụ huynh có thể chấp nhận được. Kết quả khảo
sát cho thấy, mức giá đưa ra dao động trong khoảng 10,000 đến 1,000,000. Trong
đó, mức giá trung bình cũng như mức giá được đưa ra nhiều nhất là 50,000.
Câu 12
Những yêu cầu của phụ huynh về một phần mềm phục vụ cho việc thông tin
liên lạc với nhà trường và giáo viên của con:
Về hình thức: Thông báo một cách tự động mỗi khi có thông tin; Thông tin qua
tin nhắn; Thầy cô thông qua điện thoại thông báo; Có một trang web cập nhật
thường xuyên thông tin.
Về việc sử dụng: Phần mềm cần có hai chiều, khi phụ huynh nhận được thông
tin có thể cho ý kiến phản hồi; Càng nhiều chức năng càng tốt; Dễ hiểu, dễ sử dụng;
Chi phí thấp hoặc giá hợp lý
Về chất lượng thông tin: Cung cấp đầy đủ thông tin; Thông tin được cập nhật
liên tục, chính xác, rõ ràng và nhanh chóng; Cập nhật điểm hàng tháng thường
xuyên; Tra cứu số điện thoại, email của giáo viên.
31. 2.4. Phương pháp phân tích kết quả
Dựa trên những lựa chọn đề ra trong câu hỏi, chúng tôi tính số lượng đáp án
nào được người sử dụng chọn nhiều nhất.
Với những đáp án thuộc về tự luận cho ý kiến khác, chúng tôi ghi nhận lại
những ý kiến và lựa chọn những ý kiến nào được người dùng đồng tình nhất.
Sau khi đã tổng kết số lượng đáp án trong tổng số người trả lời câu hỏi chúng
chúng tôi đã sử dụng phương thức sau để tính kết quả số liệu:
.100%=
soá ngöôøi choïn ñaùp aùn ñoù
Ñaùp aùn moãi caâu (%)
toång soá ngöôøi ñöôïc khaûo saùt
2.5. Đánh giá đề tài theo kết quả khảo sát
Sau khi tiến hành khảo sát, tôi thấy rằng hầu hết giáo viên lẫn học sinh đều quen
thuộc với phần mềm thông dụng Microsort Office nên tôi nhận thấy cần tập trung
nghiên cứu phát triển các phần mềm này. Cụ thể, bằng việc lập trình VB.NET, tôi
sẽ tạo ra một Add-in dành cho ứng dụng Microsoft Outlook -công cụ quản lý emai
và chọn Microsoft Excel làm phần mềm lưu cơ sở dữ liệu.
Qua phương hướng trên, mục đích chính của tôi là xây dựng một công cụ với
giao diện tiếng Việt, đặt tên là “Hệ thống báo điểm tự động qua Email”
32. Chương 3: Cơ sở khoa học
3.1. Tổng quan về Visual Basic.NET
Visual Basic.NET ( VB.NET ) là một ngôn ngữ lập trình hướng đối tượng, có
thể được xem như là một sự tiến hóa của ngôn ngữ cổ điểnVisual Basic (VB) được
hiện thực trên nền .NET.
3.1.1. Môi trường phát triển Visual Studio
Visual Studio (VS.NET) là bộ công cụ giúp phát triển các ứng dụng từ ứng
dụng desktop đến ứng dụng mạng. Nó là môi trường để hỗ trợ tất cả các ngôn ngữ
như VB.NET, Visual C++
, Visual C#.Net hết sức mạnh mẽ và thuận lợi.
Khởi động chương trình:
Hình 3.1 Cửa sổ làm việc của chương trình Visual Studio
33. Dự án (Project) và giải pháp (Solutions):
Trong Visual Studio, các chương trình đang triển khai và phát triển được gọi
là dự án (Projects) hoặc giải pháp (Solution) bởi chúng chứa rất nhiều file và do
nhiều thành phần, đối tượng riêng lẻ hợp lại. Một chương trình VS.NET bao gồm
một file giải pháp và một file dự án hợp lại. File dự án chứa thông tin đặc biệt liên
quan đến một tác vụ lập trình đơn lẻ. File giải pháp lại chứa thông tin về một hay
nhiều dự án.
Các công cụ của VS.NET
Công cụ trong VS.NET rất phong phú. Sau đây là mô phỏng màn hình làm
việc của bộ VS.NET
Output Windows Properties Windows
Windows Form Designer
Menu Bar Standard Toolbar Solution ExplorerTools Box
34. Hình 3.2 Các công cụ làm việc của Visual Studio .NET
3.1.2. Biến, hằng, các phát biểu cấu trúc trong VB.NET
3.1.2.1. Sử dụng biến để chứa thông tin
Trong VB.NET bạn cần khai báo biến trước khi sử dụng nó.
Việc khai báo được tiến hành bằng câu lệnh Dim. Cấu trúc của phát biểu là
Dim <tên biến> As <kiểu dữ liệu>. Phát biểu này có thể đặt ở bất kỳ đâu nhưng
thường được đặt ở đầu mỗi thủ tục, nơi cần dùng biến. Sau khi đã khai báo biến, ta
có thể gán hay lưu thông tin vào biến và có thể gán nội dung biến cho thuộc tính của
đối tượng.
Quy ước khai báo biến: Không có khoảng trắng trong tên biến. Tên biến bắt
đầu bằng dấu gạch chân ‘_’ hay chữ cái. Tên biến có chiều dài tùy thích nhưng nên
đặt tên cho gợi nhớ và không nên dài quá 33 ký tự. Không nên đặt tên biến trùng
với các từ khóa, tên thuộc tính, phương thức chuẩn của VB để tránh gặp lỗi khi biên
dịch.
Các kiểu dữ liệu: VB.NET cung cấp rất nhiều kiểu dữ liệu giúp ta định nghĩa
biến.
Kiểu dữ liệu Kích thước Phạm vi
Short 16-bit -32,678 - 32,767
Integer 32-bit -2,147,483,648 đến 2,147,483,647
Long 64-bit
-9,233,372,036,854,775,808 đến
9,233,372,036,854,775,807
Single
32-bit (dấu phảy
động)
-3.402823E38 đến 3.402823E38
35. Double
64-bit (dấu phảy
động)
-1.797631348623E308 đến
1.797631348623E308
Decimal 128-bit Trong khoảng +/-79,228x1024
Byte 8-bit 0-255
Char 16-bit 0-65,536
String Nhiều ký tự Chứa 0 đến 2 tỷ ký tự
Boolean 16-bit Hai giá trị True hay False
Date 64-bit Từ 1/1/1 đến 31/12/9999
Object 32-bit Bất kỳ kiểu đối tượng nào
Bảng 3.1. Các kiểu dữ liệu của VS.NET
Ngoài ra, Visual Basic cũng cho phép ta tự định nghĩa kiểu dữ liệu của riêng
mình – gọi là kiểu dữ liệu cấu trúc hay kiểu dữ liệu tự định nghĩa bởi người dùng
(User – Defind Type hay UDT) bằng phát biểu Structure.
3.1.2.2. Hằng số: Biến không cho thay đổi giá trị
Trong VB cũng như nhiều ngôn ngữ khác tồn tại khái niệm hằng. Hằng là một
biến đặc biệt không thay đổi giá trị. Nó cũng giống như biến nhưng không tồn tại
khái niệm gán lưu giá trị mới cho hằng số. Hằng số được khai báo bằng từ khóa
Const.
3.1.2.3. Các Phát biểu và hàm chuẩn trong VB
Cấu trúc Mục đích
Phát biểu GoTo Nhảy đến một nhãn cụ thể
Cấu trúc If – Then Thực hiện một điều gì đó nếu điều gì đó đúng
36. Select Case
Thực hiện một vài điều, tuỳ thuộc vào một vài
giá trị
Vòng lặp For – Next Thực hiện một số phát biểu với số lần cụ thể.
Vòng lặp Do – While
Thực hiện điều gì đó cho trong khi điều kiện nào
đó vẫn đúng.
Vòng lặp Do – Until
Thực hiện điều gì đó cho tới khi điều kiện nào
đó đúng
Bảng 3.2 Các phát biểu hàm chuẩn trong VB
Các toán tử so sánh có thể dùng trong biểu thức điều kiện:
Toán tử so sánh Ý nghĩa
= Bằng
<> Khác
< Nhỏ hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng
Bảng 3.3 Các toán tử so sánh
Sử dụng các toán tử logic trong biểu thức điều kiện
Bạn có thể kiểm tra đồng thời nhiều điều kiện trong cùng một mệnh đề If then
hay elseif nhờ các toán tử logic.
37. Toán tử Logic Ý nghĩa
And TRUE nếu cả hai cùng True.
Or Nếu chỉ cần một biểu thức True thì giá trị TRUE. Nếu cả hai
False thì kết quả FALSE
Not Nếu một biểu thức False thì kết quả TRUE và ngược lại.
Xor Nếu có duy nhất một biểu thức True, kết quả trả về là TRUE. Nếu
cả hai cùng True hay cùng False thì kết quả trả về là FALSE
Bảng 3.4 Các toán tử logic
3.1.2.4. Xử lý lỗi sử dụng cú pháp Try…Catch
Lỗi có thể phát sinh bất cứ lúc nào. Ví dụ như khi ta nạp một file mà không có
thực trong đĩa thì chương trình sẽ gặp lỗi. VB có khả năng xử lý nhưng nhiệm vụ
của ta là phải thông báo cho VB biết. Chính vì thế khối lệnh Try…Catch sẽ bao bọc
đoạn mã lệnh có khả năng gây ra lỗi cho chương trình. Thông thường có các lỗi xảy
ra do nhập xuất dữ liệu, phép chia cho 0, thiết bị ngoại vi không sẵn sàng.
Cú pháp Try…Catch
Try <Các phát biểu có thể gây lỗi>
Catch <Các phát biểu xử lý nếu có lỗi phát sinh>
Finally <Các phát biểu được gọi ngay cả khi có hay không có lỗi>
End Try
Trong đó Finally là tùy chọn, các từ khóa còn lại là bắt buộc.
38. 3.1.3. Regular Expression
3.1.3.1 Định nghĩa:
Regular Expression, còn gọi ngắn gọn là Regex, là một thư viện giúp tìm
kiếm và so khớp mẫu. Regex làm việc dựa trên những mẫu văn bản theo các quy
tắc định sẵn trước để từ đó xử lý những văn bản khác theo các yêu cầu khác nhau.
Các mẫu văn bản có sẵn gọi là partern.
Làm việc với string thường rất vất vả và đòi hỏi độ chính xác cao. Với
Regular Expression, công việc này được đơn giản đi rất nhiều. Một dòng code làm
việc với string trong trường hợp này có thể sánh với hàng trang code trong các ngôn
ngữ khác. Ta có thể ứng dụng những đoạn code đơn giản vào các biểu mẫu đòi hỏi
nhập dữ liệu, thông tin người dùng, ... hay dùng để lọc các biến được truyền.
3.1.3.2 Các lớp để thao tác với Regular Expression
Ký hiệu Diễn giải
. Đại diện cho 1 ký tự bất kỳ trừ ký tự xuống dòng n.
d Ký tự chữ số tương đương [0-9]
D Ký tự không phải chữ số
s Ký tự khoảng trắng tương đương [ fnrtv]
S Ký tự không phải khoảng trắng tương đương [ ^fnrtv]
w Ký tự word (gồm chữ cái và chữ số, dấu gạch dưới _ )
tương đương [a-zA-Z_0-9]
W Ký tự không phải ký tự word tương đương [^a-zA-Z_0-
9]
^ Bắt đầu 1 chuỗi hay 1 dòng
$ Kết thúc 1 chuỗi hay 1 dòng
A Bắt đầu 1 chuỗi
39. z Kết thúc 1 chuỗi
| Ký tự ngăn cách so trùng tương đương với phép OR (sử
dụng khi muốn kết hợp nhiều điều kiện)
[abc] Khớp với 1 ký tự nằm trong nhóm là a hay b hay c.
[a-z] So trùng với 1 ký tự nằm trong phạm vi a-z, dùng dấu -
làm dấu ngăn cách.
[^abc] Sẽ không so trùng với 1 ký tự nằm trong nhóm, ví dụ
không so trùng với a hay b hay c.
() Xác định 1 group (biểu thức con) xem như nó là một yếu
tố đơn lẻ trong pattern . Ví dụ ((a(b))c) sẽ khớp với b, ab,
abc
? Khớp với đứng trước từ 0 hay 1 lần. Ví dụ A?B sẽ khớp
với B hay AB.
* Khớp với đứng trước từ 0 lần trở lên
A*B khớp với B, AB, AAB
+ Khớp với đứng trước từ 1 lần trở lên.
A+B khớp với AB, AAB
{n} n là con số khớp đúng với n ký tự đúng trước nó .
Ví dụ A{2}) khớp đúng với 2 chữ A
{n, } Khớp đúng với n ký tự trở lên đứng trước nó , A{2,}
khớp với AA, AAA ...
{m,n} Khớp đúng với từ m→n ký tự đứng trước nó, A{2,4}
Bảng 3.5 Các lớp để thao tác với Regular Expression
40. 3.1.3.3. Các phương thức:
+ Match()
Phương thức Match dùng để tách các chuỗi con từ chuỗi gốc ban đầu theo
chuỗi mẫu partern đưa vào. Kết quả từ phương thức Match là tập hợp các chuỗi con
thỏa mãn điều kiện ban đầu.
+ Matches()
Tương tự với phương thức Match, Matches dùng để tách chuỗi theo chuỗi
mẫu partern. Nhưng điều thú vị của Matches nằm ở kết quả trả về, cho ta biết được
vị trí xuất hiện của chuỗi con.
+IsMatch()
Phương thức này hỗ trợ kiểm tra xem một chuỗi con có tồn tại trong chuỗi
ban đầu hay không. Đối số của phương thức tương tự với Match() và Matches()
gồm: chuỗi ban đầu và partern mẫu cho truy vấn. Kết quả trả về là True hoặc False.
+Replace: cho thay thế những xuất hiện của một pattern được định nghĩa bởi một
Regular Expression bởi một chuỗi ký tự thay thế được chỉ định.
+Split: chẻ một pattern thành một mảng gồm những chuỗi con ở những vị trí được
chỉ định bởi một so khớp trên Regular Expression.
+Unescape: cho unescape bất cứ những ký tự nào được escape trên pattern.
+GetGroupNames: trả về mảng gồm toàn tên nhóm thu lượm đối với Regular
Expression .
+GetGroupNumbers: trả về mảng gồm toàn số nhóm thu lượm tương ứng với tên
nhóm trên một mảng.
+GroupNameFromNumber: đi lấy tên nhóm tương ứng với số nhóm được khai báo.
41. 3.1.4. Phân phối và đóng gói ứng dụng VB.NET
Khi đã hoàn tất chương trình ta có thể đóng gói ứng dụng bằng cách tạo bộ cài
đặt để đem đi cài trên máy khác được. Cài đặt theo mô hình COM trước kia có rất
nhiều hạn chế như: các đăng ký DLL bị trùng lắp, không phù hợp phiên bản, xung
đột. Một số chương trình cài đặt được nhưng không thực thi được, cài đặt xong
không gỡ được hay gỡ nhưng vẫn để lại rác…Giờ đây VB.NET đã khắc phục những
nhược điểm đó vì nó có thể cài đặt mà không cần đăng ký vào Registry của hệ
thống. Nó chủ yếu dựa trên bộ khung .NET Framework thay vì yêu cầu đối tượng
COM gọi đến hàm API của Windows. Chương trình sẽ được biên dịch thành các
gói (Assembly) và chương trình cài đặt sẽ ráp các phần lại cùng với các file thư viện
cần thiết.
Một gói Assembly của ứng dụng .NET gồm 4 thành phần: ngôn ngữ diễn dịch
trung gian MSIL (Microsoft Intermediate Language), mã (MSIL code), dữ liệu mô
tả (metadata) và file chứa thông tin (manisfest file), các file hỗ trợ (support files) và
tài nguyên (resource) dành cho chương trình.
Setup Project là 1 kiểu Project đặc biệt trong Visual Studio .NET . Khác với
kiểu Project khác , nó thuộc dạng không đặc thù ngôn ngữ . Thay vì viết mã kịch
bản cài đặt , bạn cấu hình tùy chọn cài đặt thông qua GUI . Sau đó Project này được
biên dịch thành 1 ứng dụng cài đặt Windows Installer (file .msi)
* Các tính năng mà công cụ đóng gói của VS.net hỗ trợ :
- Chương trình tự động phát sinh cùng lúc cả Install và Uninstall lúc Compile.
- Tạo Shortcut.
- Cho phép tạo chương trình Install gồm nhiều đồ án, nhiều chương trình thực
thi và nhiều thư viện.
- Tùy chọn đường dẫn cài đặt.
- Kiểm soát được tình huống cài đặt.
42. * VS.net hỗ trợ 6 kiểu tạo file setup như sau:
1. Setup Project : tạo bộ đóng gói cho ứng dụng Windows (hay còn gói là ứng
dụng chạy trên Desktop).
2. Merge Module Project : Tạo ra file .msm , đóng gói các components cho
phép bạn chia sẽ các components đó giữa nhiều Project hoặc nhiều ứng dụng.
3. CAB Project : Cho phép bạn tạo 1 file .cab để nén ActiveX controls chứ
không phải những ứng dụng, tuy nhiên có thể được download từ Web server tới
trình duyệt web
4. Web Setup Project : Cho phép bạn triển khai 1 ứng dụng Web tới web
server. Bạn tạo 1 WebSetup project, build nó tạo ra file đóng gói, copy file đó tới
Web Server, và chạy file đó để cài đặt ứng dụng này trên server, sử dụng những
Setting định nghĩa Web Setup project của bạn.
5. Smart Device CAB Project : tạo Cab project để cài đặt trên ứng dụng trên
thiết bị di động.
6. Setup Wizard : nếu bạn không rõ mình dùng loại đóng gói nào thì dùng lựa
chọn này để dùng trình thuật sỹ Wizard sẽ hướng dẫn chúng ta đi từng bước trong
suốt quá trình tạo file đóng gói. Áp dụng cho mọi loại ứng dụng, kể cả ứng dụng
Web. Tuy nhiên sẽ khó tùy chỉnh.
* Trong khuôn khổ đề tài này, tôi sử dụng kiểu Setup Project với các bước cơ
bản sau:
1. Mở Solution Explorer của VS.net ra, right click vào Solution.
Trong menu thả ra, vào mục Add → New project → Xuất hiện hộp thoại Add
new project.
2. Trong hộp thoại Add new project:
43. Bên trái có Project Types: Chọn Other Project Types → Setup and
Deployment
- Bên phải có Templates: Chọn Setup Project.
- Đặt tên Setup Project vào trường name.
- Chọn đường dẫn cần lưu thư mục tại trường Location.
3. Sau khi click Ok → VS.net sẽ tự động hiển thị Child window là File System
ở dạng Explorer.
4. Mở Solution Explorer, right click vào Setup Project vừa tạo.Trong menu thả
ra, Chọn Add Project Output → xuất hiện hộp thoại: Add Project Output Group.
Chọn một project muốn đóng gói trong Combobox đầu tiên.
ListBox thứ hai chứa các loại đầu ra (output) lấy từ tên Project của combobox
trên mà chúng ta có thể đưa vào toàn bộ Setup, bắt buộc phải chọn Primary Output,
tức là chứa file .exe và file .dll của project.
Có những thứ không tự động thêm vào Setup thì chúng ta phải dùng Child
Window File System để thêm. Chúng ta có thể tạo thêm các thư mục, Shortcut, đưa
các file từ Source Machine đến Target Machine,...
* Các loại Setup Editors
Khi triển khai một ứng dụng, ta có thể thực hiện một thao tác đặc biệt nào đó
như thay đổi cấu trúc thư mục của ứng dụng trên máy client , thêm 1 số registry , và
đặt một số điều kiệm kiểm tra đặc biết nào đó , thay đổi GUI trong quá trình cài đặt
với VS.NET. VS.NET cung cấp một số editor sau :
File System Editor: editor này được dùng để add files vào gói cài đặt.
Registry Editor: giúp thêm một số key vào registry của máy client .
44. File Types Editor: cho phép liên kết loại file nào đó tới ứng dụng.
User Interface Editor: editor này cho phép cấu hình một số GUI của dialog
được show trong suốt quá trình cài đặt.
Custom actions Editor: với editor này, ta có thể tự chỉ định chương trình nào
đó muốn installer gọi khi install hay uninstall.
Launch conditions Editor: editor này cho phép kiểm tra các yêu cầu tối thiểu
cho ứng dụng install trên máy client.
Trên mỗi máy chạy chương trình .NET cần có một bộ khung .NET
FrameWork. Trong gói cài đặt của công cụ “Hệ thống báo điểm”, tôi đã chép kèm
file Dotnetfx.exe. Nhờ đó, chương trình .NET Framework 4.0 sẽ được tự động cài
đặt nếu máy vi tính của người dùng còn thiếu.
3.2. Các đối tượng của Outlook
3.2.1. Thư viện NetOffice
Có hai phương pháp để có thể tạo Addin tương tác với Microsoft Office trong
.NET là Primary Interop Assemblies và VSTO. Cả hai phương pháp truy cập trên
đều có bất lợi là bị giới hạn cho một phiên bản, tức là chúng chỉ làm việc với một
hoặc một số phiên bản của Office. Điều đó gây trở ngại trong khi chuyển hoặc cài
đặt trên các hệ thống khác. Chúng không cung cấp cơ chế bảo vệ trong việc quản
lý proxy COM. NetOffice loại bỏ những nhược điểm này và duy trì lớp bao bọc 1:1
có cú pháp và ngữ nghĩa giống như các Interop Assembly.
Netoffice chỉ được sử dụng để truy cập các lời gọi kết nối trễ (LateBinding
Call) thông qua COM Interop, nhưng không mất đi tính thuận lợi và đơn giản của
các lời gọi kết nối sớm (EarlyBind call). Kiến trúc mỏng và thiết kế hiệu năng giúp
cho điều này chỉ chậm hơn các lời gọi kết nối sớm trong .NET (tối đa khoảng 10%).
Các sự kiện trong NetOffice được hiện thực với một kỹ thuật mà tác giả gọi là kết
nối sớm động (Dynamic EarlyBinding)
45. Tất cả các ứng dụng Office sử dụng các kiểu được định nghĩa trong các thư
viện thành phần và thư viện kiểu. Những thư viện kiểu phụ thuộc đó cho phép độc
lập các assembly. Mỗi assembly cũng yêu cầu đến các assembly trong thư viện
LateBindingApi.Core, thư viện này định nghĩa kiểu COMObject, được sử dụng bởi
các assembly khác.
Trong khuôn khổ luận văn này, tôi cần sử dụng các gói thư viện sau để tạo
một ứng dụng cho Outlook, trích xuất ra từ thư viện netoffice download tại
netoffice.codeplex.com:
- LateBindingApi.Core: thư viện tham chiếu gốc cho 2 thư viện OfficeApi và
OutlookApi
- OfficeApi: thư viện này chứa các lớp để thao tác với Office
- OutlookApi: thư viện này chứa các lớp để thao tác với Outlook
3.2.2. Các đối tượng của Outlook
3.2.2.1 Khai báo
' Lấy tham chiếu đến Outlook Application hiện tại
Dim myApp As Outlook.Application = New Outlook.Application()
Dim oInbox As Outlook.MAPIFolder
Dim newMail As Outlook.MailItem
Dim noidung As String = ""
' Tham chiếu đến namespace MAPI của Outlook
Dim outlookNS As Outlook._NameSpace =
myApp.GetNamespace("MAPI")
Ví dụ: Truy xuất tới thư mục Input trong Personal Folders.
oInbox = outlookNS.GetDefaultFolder(OlDefaultFolders.olFolderInbox)
46. 3.2.2.2 Làm việc với Email - MailItem
• Khai báo: Dim msg As MailItem
• Các thuộc tính: (msg.Tên_thuộc_tính)
– BCC, CC: Địa chỉ BCC, CC
– Body, BodyFormat: Nội dung thư
– HTMLBody: Nội dung thư dạng HTML
– Recipients: Người nhận
– SenderName: Người gửi
– Subject: Chủ đề thư
– To: Tên người nhận
– UnRead: Đã đọc chưa?
– SenderEmailAddress: Email người gửi
• Các phương thức:
– Close
– Copy, Move, Delete
– Save
– Print Out
– Send
– Forward, Reply, ReplyAll
47. 3.3. SQL - chuẩn ngôn ngữ ANSI để truy cập cơ sở dữ liệu
3.3.1. SQL là gì?
SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu
chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống cơ sở dữ liệu. Các câu lệnh SQL
được sử dụng để truy xuất và cập nhật dữ liệu trong một cơ sở dữ liệu.
3.3.2. Bảng cơ sở dữ liệu
Một cơ sở dữ liệu thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng
được xác định thông qua một tên (ví dụ Customers hoặc Orders). Bảng chứa các
mẫu tin - dòng (record - row), là dữ liệu của bảng.
Dưới đây là một ví dụ về một bảng có tên là Persons (người):
LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Pettersen Kari Storgt 20 Stavanger
Bảng 3.6 Ví dụ bảng cơ sở dữ liệu
Bảng ở trên bao gồm 3 mẫu tin (dòng), mỗi mẩu tin tương ứng với một người
và bốn cột (LastName, FirstName, Address và City).
48. 3.3.3 SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation
Language)
SQL là cú pháp để thực thi các câu truy vấn. SQL cũng bao gồm cú pháp để
cập nhật - sửa đổi, chèn thêm và xoá các mẩu tin.
Danh sách các lệnh và truy vấn của SQL:
• SELECT - lấy dữ liệu từ một bảng cơ sở dữ liệu.
• UPDATE - cập nhật/sửa đổi dữ liệu trong bảng.
• DELETE - xoá dữ liệu trong bảng.
• INSERT INTO - thêm dữ liệu mới vào bảng.
Câu lệnh SELECT
Câu lệnh SELECT được dùng để truy xuất dữ liệu từ một bảng. Kết quả
trả về dưới dạng bảng được lưu trong một bảng, gọi là bảng kết quả - result
table (còn được gọi là tập kết quả - result set).
Cú pháp: Cú pháp của câu lệnh SELECT như sau:
SELECT tên_các_cột
FROM tên_bảng
Với SQL ta có thể truy vấn cơ sở dữ liệu và nhận lấy kết quả trả về thông qua
các câu truy vấn.
Một câu truy vấn như sau đối với bảng 3.6
SELECT LastName FROM Persons
Sẽ trả về kết quả như sau:
49. LastName
Hansen
Svendson
Pettersen
Bảng 3.7 Ví dụ bảng kết quả trả về (SQL)
Mệnh đề WHERE
Mệnh đề WHERE được dùng để thiết lập điều kiện truy xuất.
Để truy xuất dữ liệu trong bảng theo các điều kiện nào đó, một mệnh đề
WHERE có thể được thêm vào câu lệnh SELECT.
Cú pháp
Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:
SELECT tên_cột FROM tên_bảng
WHERE tên_cột phép_toán giá_trị
Trong mệnh đề WHERE, các phép toán được sử dụng là
Phép toán Mô tả
= : So sánh bằng
<> : So sánh không bằng
> : Lớn hơn
< : Nhỏ hơn
>= : Lớn hơn hoặc bằng
<= : Nhỏ hơn hoặc bằng
50. BETWEEN : Nằm giữa một khoảng
LIKE : So sánh mẫu chuỗi
Toán tử AND và OR : Hai toán tử AND và OR nối hai hoặc nhiều điều kiện
trong mệnh đề WHERE lại với nhau.
Toán tử AND sẽ hiển thị một dòng nếu TẤT CẢ các điều kiện đều thoả mãn.
Toán tử OR hiển thị một dòng nếu BẤT KỲ điều kiện nào được thoả.
Toán tử BETWEEN...AND: Lấy ra một miền dữ liệu nằm giữa hai giá trị. Hai
giá trị này có thể là số, chuỗi văn bản hoặc ngày tháng.
SELECT tên_cột FROM tên_bảng
WHERE tên_cột
BETWEEN giá_trị_1 AND giá_trị_2
Từ khoá DISTINCT
Câu lệnh SELECT sẽ trả về thông tin về các cột trong bảng. Nhưng nếu
chúng ta không muốn lấy về các giá trị trùng nhau thì ta chỉ cần thêm từ khoá
DISTINCT vào câu lệnh SELECT theo cú pháp sau:
SELECT DISTINCT tên_cột FROM tên_bảng
Từ khoá ORDER BY
Mệnh đề ORDER BY được dùng để sắp xếp các dòng kết quả trả về..
SELECT tên_cột FROM tên_bảng
ORDER BY tên_cột ASC|DESC (theo thứ tự tăng|giảm dần)
Câu lệnh INSERT INTO
51. Câu lệnh INSERT INTO được dùng để chèn dòng mới vào bảng.
Cú pháp:
INSERT INTO tên_bảng
VALUES (giá_trị_1, giá_trị_2,....)
Câu lệnh UPDATE
Câu lệnh UPDATE được sử dụng để cập nhật/sửa đổi dữ liệu đã có trong
bảng.
Cú pháp:
UPDATE tên_bảng
SET tên_cột = giá_trị_mới
WHERE tên_cột = giá_trị
Câu lệnh DELETE
Câu lệnh DELETE được dùng để xoá các dòng ra khỏi bảng.
Cú pháp:
DELETE FROM tên_bảng
WHERE tên_cột = giá_trị
SQL có sẵn lệnh để đếm các dòng trong cơ sở dữ liệu.
Cú pháp của hàm COUNT:
SELECT COUNT(tên_cột) FROM tên_bảng
Hàm COUNT(*):
52. Hàm COUNT(*) trả về số lượng các dòng được chọn ở trong bảng.
Hàm COUNT(column):
Hàm COUNT(column) sẽ trả về số lượng các dòng có giá trị khác NULL
ở cột được chỉ định
Nối kết và khoá
Đôi khi chúng ta phải lấy dữ liệu từ hai bảng cùng một lúc, chúng ta thực hiện
một kết nối.
Các bảng trong cơ sở dữ liệu có thể quan hệ ràng buộc với nhau thông qua các
khoá. Một khoá chính (primary key) là một cột mà trong đó mỗi giá trị của hàng
phải là duy nhất. Mục đích của khoá là kết nối dữ liệu lại với nhau, từ nhiều bảng
khác nhau mà không gây trùng lắp dữ liệu giữa các bảng.
Sử dụng JOIN
Ta có thể sử dụng từ khoá JOIN để kết nối dữ liệu từ hai bảng.
Ví dụ: INNER JOIN
Cú pháp:
SELECT cột_1, cột_2, cột_3
FROM bảng_1
INNER JOIN bảng_2
ON bảng_1.khoá_chính = bảng_2.khoá_ngoại
3.4. Kiến trúc COM Addin
COM Add-in là một chức năng của Office được hiện thực lần đầu tiên trong
phiên bản Microsoft Office 2000. Kiến trúc này được hỗ trợ bởi tất cả các chương
53. trình Office, bao gồm Outlook. Những điểm thuận lợi chủ chốt của COM add-in
bao gồm:
•COM Add-in chạy trong cùng tiến trình với chương trình chính, do đó
mã thực thi sẽ chạy nhanh hơn so với mã được lập trình bởi Visual Basic for
Application (VBA)
•Kiến trúc COM add-In là kiến trúc nhất quán cho tất cả các chương
trình Office, trong khi trong các phiên bản trước của Office (trước Office
2000), mỗi chương trình có kiến trúc mở rộng khác nhau.
•COM Addin có thể được sử dụng cho nhiều hơn một chương trình
Office.
Để hiện thực COM Addin, nhà phát triển cần hiện thực giao diện
IDTExtensibility2 được mô tả trong Microsoft Add-in Designer Type Library
(MSADDNDR.DLL). Tất cả COM Add-in được kế thừa từ giao diện này phải hiện
thực năm phương thức:
OnConnection
Sự kiện OnConnection xảy ra mỗi khi COM Add-in được kết nối. Add-in có
thể được kết nối vào lúc khởi động, bởi người dùng cuối, hoặc thông qua cơ chế tự
động. Nếu OnConnection thực hiện thành công, addin sẽ thông báo là nó được nạp.
Nếu một giá trị lỗi được trả về, ứng dụng chính sẽ ngay lập tức giải phóng tham
chiếu đến Addin và đối tượng Addin bị hủy.
OnConnection nhận bốn tham số sau:
1. Application : Là tham chiếu đến đối tượng của ứng dụng chính
2. ConnectMode : Một hằng số xác định Addin được kết nối bằng cách nào.
54. Ext_cm_AfterStartup : Được bắt đầu bởi người dùng cuối từ
hộp thoại COM Addin
Ext_cm_CommandLine: Được kết nối từ dòng lệnh. (Không
ứng dụng cho COM Add-in của Office)
Ext_cm_External: Được kết nối bởi ứng dụng ngoài, thông qua
cơ chế tự động (Không ứng dụng cho COM Addin của Office)
Ext_cm_Startup : Được bắt đầu bởi ứng dụng chính khi khởi
tạo (Phương pháp này được điều khiển bởi thiết đặt trong registry)
3. AddInInst : Một tham chiếu đến đối tượng COMAddin đại diện cho Addin
này trong tập hợp Addin của ứng dụng chủ.
4. Custom: Một mảng có kiểu Variant lưu trữ dữ liệu được định nghĩa bởi
người dùng.
OnDisconnection:
Sự kiện OnDisconnection xảy ra khi COM Addin được ngắt kết nối và trước
khi nó được giải phóng khỏi bộ nhớ chương trình. Addin cần phải thực hiện bất cứ
thao tác giải phóng tài nguyên nào trong sự kiện này, và khôi phục bất cứ thay đổi
nào đến ứng dụng chủ.
OnDisconnection nhận vào hai tham số sau:
1. RemoteMode : Một hằng số xác định Addin được tháo kết nối như thế nào.
Ext_dm_HostShutdown – Tháo kết nối khi ứng dụng chính
được đóng
Ext_dm_userclosed – Tháo kết bởi người sử dụng đầu cuối
hoặc điều khiển tự động
2. Custom: Một mảng kiểu Variant giữ những dữ liệu được định nghĩa bởi
người dùng.
55. OnAddinsUpdate:
Sự kiện OnAddinsUpdate xảy ra khi những thiết đặt của COM Addin bị thay
đổi. Nói một cách khác, sự kiện này sẽ xảy ra bất cứ khi nào một COM add-in được
cài đặt hoặc gỡ bỏ khỏi ứng dụng chủ
OnStartupComplete và OnBeginShutdown
Hai phương thức OnStartupComplete và OnBeginShutdown được gọi khi ứng
dụng chủ không được tương tác, hoặc đang ở trong trạng thái khi mà những tương
tác của người sử dụng bị bỏ qua bởi vì ứng dụng đang bận nạp dữ liệu hoặc giải
phóng nó trong bộ nhớ. OnStartupComplete chỉ được gọi nếu Addin của bạn được
kết nối trong giai đoạn khởi động, và OnBeginShutdown thì chỉ được gọi nếu Addin
của bạn được ngắt kết nối bởi ứng dụng chủ trong lúc đóng chương trình.
Bởi vì hai sự kiện này cho phép có sự tương tác trong lúc nó được gọi, chúng
là cách duy nhất để thực hiện một tác vụ mà không thể thực hiện được trong sự kiện
OnConnection và OnDisconnection.
Đăng ký COM Add-in
Để đăng ký COM, một COM Add-in cần phải đăng kí chính nó vào mỗi ứng
dụng mà nó sẽ chạy. Nó cần phải tạo một khóa thành phần trong Registry sử dụng
ProgID như là tên của khóa, ở vị trí:
HKEY_CURRENT_USERSoftwareMicrosoftOffice<OfficeApp>Addins
<ProgID>
Addin có thể cung cấp những giá trị ở vị trí khóa này, bao gồm cả tên hiển thị
và phần mô tả chi tiết. Một thành phần cần thiết khác, là Addin phải xác định cơ chế
nạp của nó bởi một giá trị DWORD gọi là “LoadBehavior”. Giá trị này xác định
cách thức Addin được nạp vào ứng dụng chủ như thế nào, nó được tạo thành bởi
việc kết hợp những giá trị sau:
56. 0 = Ngắt kết nối – không được nạp
1 = Kết nối – được nạp
2 = Bootload – Nạp lúc ứng dụng khởi động
8 = DemanLoad – Nạp khi có yêu cầu từ người sử dụng
16 = ConnectFirstTime – Nạp chỉ duy nhất một lần (vào lần khởi động kế)
Giá trị mà hầu hết một Addin thông thường đăng ký là 3 (Connected (1) +
Bootload(2))
3.5. Vài vấn đề về HTML hỗ trợ việc trình bày văn bản
HTML (tiếng Anh, viết tắt cho HyperText Markup Language, tức là "Ngôn
ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên
các trang web, nghĩa là các mẩu thông tin được trình bày trên World Wide Web.
Được định nghĩa như là một ứng dụng đơn giản của SGML, vốn được sử dụng
trong các tổ chức cần đến các yêu cầu xuất bản phức tạp, HTML giờ đây đã trở
thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì.
Trong khuôn khổ bài luận này, tôi sử dụng một số kiến thức về HTML để
trình bày một email trả về.
Các thẻ trong HTML (HTML Tag)
Một tài liệu HTML được tạo nên từ các cặp thẻ html. Thẻ HTML được bắt đầu
bằng dấu < (dấu nhỏ hơn) và kết thúc bằng dấu > (dấu lớn hơn). Nội dung nằm giữa
dấu <> là tên thẻ. Cặp thẻ HTML được tạo nên từ thẻ mở (<tên thẻ>) và thẻ đóng
(</tên thẻ>). Một số thẻ chỉ có thẻ mở mà không có thẻ đóng (như các thẻ <img>,
<br />, <hr />)
57. Những thẻ HTML cơ bản:
Tag Mô Tả
<html> Xác định một văn bản dạng HTML
<body> Xác định phần thân của tài liệu
<h1> to <h6> Xác định header từ 1 đến 6
<p> Xác định một đoạn văn
<br> Chèn một dòng trắng
<hr> Xác định một đường thẳng
<!--> Xác định vùng chú thích
Bảng 3.8 Những thẻ HTML cơ bản
Bảng HTML
Bảng được định dạng bởi thẻ <table>. Một bảng được chia ra làm nhiều hàng
với thẻ <tr>, môi hàng được chia ra làm nhiều cột dữ liệu với thẻ <td>. Chữ td là
chữ viết tắt của "table data", là nội dung của cột dữ liệu. Một cột dữ liệu có thể bao
gồm chữ, hình ảnh, danh sách, đoạn vắn, form và bảng v.v.
Tag Mô Tả
<table> Vẽ bảng
<th> hàng đầu của bảng
<tr> hàng trong bảng
<td> ô trong hàng
<caption> nhãn của bảng
<colgroup> nhóm các cột
<col> Định các thuộc tính của cột
<thead> Hàng Đầu bảng
<tbody> Thân của bảng
<tfoot> Hàng cuối bảng
58. Bảng 3.9 Thẻ Table (HTML)
Ví dụ:
<table border="1"><tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td></tr><tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td></tr></table>
Đoạn code trên sẽ hiển thị như thế này trong cửa sổ trình duyệt
row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2
Hình 3.3 Hình minh họa bảng được trình bày trong web nhờ HTML
60. Chương 4: Trình bày các tính năng, giải thuật và
lập trình công cụ
4.1 Tư tưởng chính
4.1.1. Mục đích
Xây dựng công cụ hỗ trợ trả lời tự động email được gửi đến với yêu cầu:
- Đăng ký email được phép xem điểm, mỗi học sinh được đăng ký tối đa 2 địa chỉ.
Cú pháp đăng ký là DK X
Trong đó X là 12 kí tự quy định mã học sinh với 6 ký tự đầu là mã trường.
- Xem điểm bằng email đã đăng ký.
Cú pháp xem điểm là XD X
Trong đó X là 12 kí tự quy định mã học sinh với 6 ký tự đầu là mã trường.
- Gửi thông tin hướng dẫn khi cần thiết.
4.1.2. Các tính năng của công cụ
Các tính năng chính của công cụ:
-Tính năng kết nối cơ sở dữ liệu
-Tính năng lọc và xử lý mail spam
-Tính năng cập nhật cơ sở dữ liệu
-Tính năng trích xuất cơ sở dữ liệu
- Tính năng gửi email tự động
61. 4.1.3. Lưu đồ hệ thống chi tiết
Hình 4.1 Lưu đồ tổng quan hệ thống báo điểm tự động qua Email
S
Đ
S
Đ
START
Trích xuất Subject
trong thư đến
Kiểm tra cú
pháp DK (đăng
ký)
Kiểm tra cú
pháp XD (xem
điểm)
Thực
hiện
công việc
B
Thực
hiện
công việc
A
Lưu địa chỉ
vào spamLog;
Gửi email
thông báo sai
cú pháp &
hướng dẫn
đăng ký + xem
điểm
END
S
Thư chưa đọc
(trong Inbox)
Đ
S
Kiểm tra mail
Spam
Đ
62. Công việc A – Xử lý mail với nhu cầu đăng ký
Hình 4.2 Lưu đồ xử lý mail với nhu cầu đăng ký
Lưu địa chỉ
email vào cột
Email1
S
Đ
Đ
Đ Đ
Lưu địa chỉ
email vào cột
Email2
Đ
Gửi mail
thông báo
“Mã HS
không tồn
tại”
Gửi mail thông
báo “Số email
đăng kí đã đạt tối
đa” & hướng dẫn
xem điểm
Gửi email
thông
báo
“Email
này đã
đăng ký”
& hướng
dẫn xem
điểm
Gửi mail thông báo
“Đăng kí thành công” &
hướng dẫn xem điểm
Đếm số email
đã đăng ký
Số email đã
đăng ký
bằng 1
Số email đã
đăng ký
bằng 0
Số email đã
đăng ký
bằng 2
Kiểm tra mã
học sinh có
trong CSDL
Kiểm tra email
đã đăng ký
START
S
END
63. Công việc B – Xử lý mail với nhu cầu xem điểm
Hình 4.3 Lưu đồ xử lý mail với nhu cầu xem điểm
Truy xuất điểm
trong CSDL
tương ứng mã
môn trong Body
Đ S
S
S
Đ
Đ
S
Gửi mail
thông báo
“Email xem
điểm không
hợp lệ” &
hướng dẫn
xem điểm.
Gửi mail
thông
báo “Mã
HS không
tồn tại”&
hướng
dẫn xem
điểm
Thông
báo chưa
nhập mã
môn &
hướng
dẫn xem
điểm
Gửi mail
thông báo
“Email xem
điểm chưa
đăng ký” &
hướng dẫn
đăng ký.
Đếm số email
đã đăng ký
Số email đã
đăng ký
<=1
Kiểm tra mã
học sinh có
trong CSDL
START
Kiểm tra email
đã đăng ký
Trích xuất
Body trong
thư đến
Có mã môn
trong Body
Gửi mail thông
báo điểm
những môn
được yêu cầu
Đ
END
64. 4.2 Thuyết minh chi tiết các tính năng của công cụ
4.2.1 .Tính năng kết nối cơ sở dữ liệu
Chức năng: Đảm bảo sự liên kết giữa công cụ và cơ sở dữ liệu Excel.
Mô tả:
Khi sử dụng công cụ, người dùng cần chỉ rõ file Excel làm cơ sở dữ liệu. Vì
vậy trong lần đầu tiên sử dụng sẽ có một cửa sổ tự động mở ra yêu cầu cung cấp
đường dẫn. Trong những lần sử dụng tiếp theo, người dùng không cần khai báo nữa
vì đường dẫn trên đã được lưu vào registry.
Nếu file Excel dùng làm cơ sở dữ liệu bị di chuyển sang thư mục khác, tức là
đường dẫn trong registry không còn chính xác, thì hệ thống sẽ tự động hỏi trong lần
khởi động chương trình sau đó. Đường dẫn mới sẽ được ghi đè lên đường dẫn cũ
trong registry, đảm bảo hệ thống vẫn hoạt động ổn định và kết nối được với cơ sở
dữ liệu.
Giải thuật:
-Dùng chuỗi kết nối sau để có thể kết nối với cơ sở dữ liệu Excel phiên bản Office
97 trở lên:
sConnIMEX = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; _
Data Source=""{0}"";Extended Properties=""Excel 8.0; _
HDR=Yes;IMEX=1"";", fileName)
Data Source: đường dẫn, sẽ được gán bằng filename
HDR=Yes: chỉ ra rằng hàng đầu tiên là tên cột, không phải dữ liệu.
HDR=No : cho thấy điều ngược lại.
IMEX=1 : Mọi ô đều xem là chuỗi, là chế độ Import, ở chế độ này khi file excel
được mở chỉ ở chế độ đọc, không ghi vào được, khi đọc tự chuyển kiểu tùy vào cell.
65. IMEX=0 : chế độ cho phép cập nhật vào file excel, file sẽ được mở ở chế độ đọc ghi
và tất cả dữ liệu sẽ mặc định là kiểu text.
-Làm việc đối với registry:
Trong Project HeThongBaoDiem, ta làm ba công việc:
+ Add codebase value cho COM vào HKEY_CLASSES_ROOT/CLSID
Dim thisAssembly As Assembly = _
Assembly.GetAssembly(GetType(HeThongBaoDiem))
Dim key As RegistryKey = Registry.ClassesRoot.CreateSubKey( _
"CLSID{" + type.GUID.ToString().ToUpper() + _
"}InprocServer321.0.0.0")
key.SetValue("CodeBase", thisAssembly.CodeBase)
key.Close()
key = Registry.ClassesRoot.CreateSubKey("CLSID{" + _
type.GUID.ToString().ToUpper() + "}InprocServer32")
key.SetValue("CodeBase", thisAssembly.CodeBase)
key.Close()
+ Add Outlook addin key vào
HKEY_CURRENT_USER/Software/Microsoft/Office/Outlook/Addin
Registry.ClassesRoot.CreateSubKey("CLSID{" + _
type.GUID.ToString().ToUpper() + "}Programmable")
Registry.CurrentUser.CreateSubKey(_addinRegistryKey + _prodId)
Dim rk As RegistryKey = _
Registry.CurrentUser.OpenSubKey(_addinRegistryKey + _prodId, True)
rk.SetValue("LoadBehavior", CInt(3))
rk.SetValue("FriendlyName", _addinName)
rk.SetValue("Description", "Hệ thống báo điểm cho Outlook")
rk.Close()
66. + Tạo Registry key để lưu đường dẫn đến file Excel: Tạo key trong lần đầu tiên
Load Addin. Khi Office load, nó sẽ giới hạn quyền của Addin và không cho tạo mới
key nữa.
Registry.CurrentUser.CreateSubKey("HeThongBaoDiem")
Dim dk As RegistryKey = _
Registry.CurrentUser.OpenSubKey("HeThongBaoDiem", True)
dk.SetValue("ExcelName", "") ' gán rỗng cho key excel filename
dk.Close()
-Ghi vào registry:
' Tìm tên file ở registry
' Nếu không có thì hỏi người dùng và ghi chép vào registry
' Nếu có thì đọc ra filename
Public Function GetExcelName() As String
Dim fileName As String
fileName = GetKeyValue()
If Not IsFileExists(fileName) Then
fileName = PickExcelName() ' Hỏi người dùng chọn tập tin
If fileName = "" Then
MsgBox("Xin vui lòng chọn file Excel làm cơ sở dữ liệu!")
Return ""
End If
End If
Return fileName
End Function
' Hàm này sẽ mở hộp thoại chọn tập tin, mặc định là tại thư mục My Documents
Private Function PickExcelName() As String
Dim fileName As String
fileName = ModuleFileDialog.ShowOpen("Excel Files ( _
*.XLS; *.XLSX)|*.xls; *.xlsx", , "*.xls; *.xlsx", _
System.Environment.GetFolderPath(Environment.SpecialFolder.Personal))
' Nếu mở tập tin thành công
If fileName <> "" Then
67. ' Ghi khóa vào Registry
SetKeyValue(fileName)
Return fileName
Else
Return ""
End If
End Function
' Hàm lấy giá trị của một khóa của Registry
Private Function GetKeyValue() As String
Dim reg As RegistryKey
Dim keyValue As String
keyValue = "HeThongBaoDiem"
reg = Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim fileName As String = ""
If (Not reg Is Nothing) Then
fileName = reg.GetValue("ExcelName", 0)
reg.Close()
End If
Return fileName
End Function
' Hàm đặt giá trị cho một khóa của Registry
Private Sub SetKeyValue(fileName As String)
Dim reg As RegistryKey
reg = Registry.CurrentUser.OpenSubKey("HeThongBaoDiem", True)
If (reg Is Nothing) Then
reg = Registry.CurrentUser.CreateSubKey("HeThongBaoDiem", True)
End If
If (Not reg Is Nothing) Then
reg.SetValue("ExcelName", fileName)
reg.Close()
End If
End Sub