MẠNG MÁY TÍNH

147 142 0
MẠNG MÁY TÍNH

Đ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

MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ MÁY TÍNH 1.1 CÁC KHÁI NIỆM CƠ BẢN 1.1.1 Thông tin- Biểu diễn xử lý thông tin .7 1.1.2 Khái niệm Tin học - Informatics 1.1.3 Khái niệm Công nghệ thông tin 1.1.4 Hệ đếm .8 1.1.5 Các lĩnh vực ứng dụng Tin học 11 1.2 CƠ BẢN VỀ MÁY TÍNH 12 1.2.1 Lịch sử máy tính .12 1.2.2 Các loại máy tính .14 1.2.3 Các linh kiện phần cứng cấu thành lên máy tính cá nhân 15 1.2.4 Nguyên lý hoạt động máy tính 17 1.3 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH .18 1.3.1 Hệ điều hành MS-DOS 18 1.3.2 Hệ điều hành Windows 20 CHƯƠNG 26 TỔNG QUAN VỀ MẠNG MÁY TÍNH 26 2.1 KHÁI NIỆM 26 2.1.1 Mạng LAN .26 2.1.2 Mạng MAN 26 2.1.3 Mạng WAN 27 2.2 INTERNET .28 2.2.1 Khái niệm 28 2.2.2 Lịch sử 29 2.2.3 Các dịch vụ Internet 30 CHƯƠNG 33 THUẬT TOÁN 33 3.1 KHÁI NIỆM 33 3.2 MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN 34 3.2.1 Đặc tả tự nhiên (Liệt kê bước) 34 3.2.2 Sử dụng sơ đồ khối 34 3.3 CÁC CẤU TRÚC CƠ BẢN CỦA THUẬT TOÁN .36 3.3.1 Cấu trúc 36 3.3.2 Cấu trúc rẽ nhánh .37 3.3.3 Cấu trúc lặp 38 3.4 MỘT SỐ THUẬT TOÁN THƯỜNG GẶP 40 3.4.1 Bài tốn tính tổng dãy số 40 3.4.2 Bài tốn tính tích dãy số .42 3.4.3 Bài toán đếm 42 3.4.4 Bài tốn tìm giá trị lớn nhất, giá trị nhỏ 44 CHƯƠNG 46 TỔNG QUAN VỀ VISUAL BASIC 6.0 46 4.1 GIỚI THIỆU VỀ VB 6.0 46 4.2 CÀI ĐẶT VISUAL BASIC 6.0 46 4.3 LÀM QUEN VỚI MÔI TRƯỜNG VISUAL BASIC 47 4.3.1 Khởi động môi trường vb6 .47 4.3.2 Các công cụ mơi trường lập trình 48 4.3.3 Cửa sổ Project Explorer 49 4.3.4 Properties Windows 50 4.3.5 Biên dịch chạy đề án 51 4.4 TẠO MỘT ĐỀ ÁN ĐẦU TIÊN .51 4.4.1 Bài toán .51 4.4.2 Khởi động VB tạo đề án .52 4.4.3 Thiết kế giao diện .52 4.4.4 Viết Code 53 4.4.5 Lưu đề án 55 4.4.6 Chạy chương trình 56 4.4.7 Dừng chương trình 56 4.5 MỞ ĐỀ ÁN ĐÃ CÓ .56 4.6 THOÁT KHỎI VISUAL BASIC 57 CHƯƠNG 58 BIỂU MẪU VÀ MỘT SỐ ĐIỀU KHIỂN THÔNG DỤNG .58 5.1 MỘT SỐ KHÁI NIỆM 58 5.1.1 Khái niệm thuộc tính, phương thức kiện 58 5.1.2 Mối quan hệ Thuộc tính – Phương thức – Sự kiện 60 5.2 ĐIỀU KHIỂN FORM (BIỂU MẪU) 61 5.2.1 Thuộc tính 61 5.2.2 Sự kiện 62 5.3 NHÃN – LABEL 63 5.3.1 Thuộc tính 63 5.3.2 Sự kiện 63 5.3.3 Ví dụ 63 5.4 NÚT LỆNH – COMMAND BUTTON 64 5.4.1 Thuộc tính 64 5.4.2 Sự kiện 65 5.4.3 Ví dụ 65 5.5 HỘP VĂN BẢN – TEXTBOX .67 5.5.1 Thuộc tính 67 5.5.2 Sự kiện 68 5.5.3 Ví dụ 69 5.6 ĐIỀU KHIỂN HỘP KIỂM – CHECKBOX 70 5.6.1 Thuộc tính 70 5.6.2 Sự kiện 71 5.6.3 Ví dụ 71 5.7 ĐIỀU KHIỂN NÚT TÙY CHỌN – OPTIONBUTTON 73 5.7.2 Sự kiện 73 5.7.3 Ví dụ 73 5.8 ĐIỀU KHIỂN KHUNG – FRAME 75 5.8.1 Thuộc tính 75 5.8.2 Ví dụ 75 5.9 ĐIỀU HỘP DANH SÁCH – LISTBOX 75 5.9.1 Thuộc tính 75 5.9.2 Sự kiện 77 5.9.3 Phương thức .77 5.9.4 Ví dụ 77 5.10 ĐIỀU KHIỂN HỘP KẾT HỢP - COMBOBOX 79 5.10.1 Thuộc tính .79 5.11 ĐIỀU KHIỂN THỜI GIAN – TIMER 82 5.11.1 Thuộc tính 82 5.11.3 Ví dụ .82 5.12 ĐIỀU KHIỂN HỘP ẢNH – PICTUREBOX .83 5.12.1 Thuộc tính .83 5.12.3 Phương thức 84 5.12.3 Ví dụ .84 5.13 BÀI TẬP .85 CHƯƠNG 88 NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 88 6.1 BIẾN, HẰNG 88 6.1.1 Biến 88 6.1.2 Hằng 89 6.2 KIỂU DỮ LIỆU 89 6.2.1 Kiểu số 89 6.2.2 Kiểu xâu ký tự (String) .90 6.2.3 Kiểu Boolean 91 6.2.4 Kiểu Date 92 6.2.5 Kiểu Variant .93 6.2.6 Kiểu Object .93 6.2.6 Kiểu mảng- ARRAY .94 6.4 HÀM KIỂU TRA KIỂU DỮ LIỆU 95 6.5 CHUYỂN ĐỔI KIỂU DỮ LIỆU 95 6.6 CÁC CẤU TRÚC ĐIỀU KHIỂN 96 6.6.1 Câu lệnh lựa chọn If…Then…Else 96 6.6.2 Câu lệnh lựa chọn Case 100 6.6.3 Cấu trúc lặp For…Next 103 6.6.4 Cấu trúc lặp Do … Loop 104 6.7 GỠ LỖI CHƯƠNG TRÌNH 105 6.7.1 Một số giải pháp giảm lỗi .105 6.7.1 Gỡ lỗi 106 6.8 HỘP THOẠI THÔNG BÁO – MESSAGE Box 110 6.8.1 Khái niệm .110 6.8.2 Hộp thông báo MsgBox 110 6.9 HỘP THOẠI NHẬP LIỆU - INPUTBOX 112 6.10 BÀI TẬP .113 CHƯƠNG 115 xỬ LÝ TẬP TIN .115 7.1 MỘT SỐ VẤN ĐỀ LIÊN QUAN 115 7.2 CÁC HÌNH THỨC TRUY CẬP TẬP TIN 116 7.3 XỬ LÝ DỮ LIỆU TRONG TẬP TIN VỚI CÁC HÀM I/O .117 7.3.1 Mở tập tin .117 7.3.2 Đọc liệu từ tập tin 118 7.3.3 Ghi liệu vào tập tin 120 7.3.4 Đóng tập tin .122 CHƯƠNG 123 TỔ CHỨC CHƯƠNG TRÌNH 123 PHỤ LỤC .129 PHÂN PHỐI ỨNG DỤNG .129 PHỤ LỤC .137 TẠO HELP BẰNG HTML HELP WORKSHOP 137 Cài đặt HTML Help Workshop 137 Tạo tệp hướng dẫn .137 Tạo file Help 137 Sử dụng tệp Help.chm .142 PHỤ LỤC .142 SỬ DỤNG DLL VÀ WINDOWS API 142 Giới thiệu DLL API 142 Cách sử dụng hàm API 144 TÀI LIỆU THAM KHẢO .147 LỜI NÓI ĐẦU Hiểu rõ cách thức hoạt động phần mềm tùy biến xây dựng phần mềm phục vụ cơng việc, kiến thức lập trình nhu cầu tất yếu BASIC ngôn ngữ lập trình hãng Microsoft xây dựng giới thiệu từ cuối thập niên 1950 Qua trình phát triển Visual Basic đời phiên Visual Basic 6.0 đời vào khoảng năm 1997 Ngoài mạnh ngơn ngữ lập trình windows, ta sử dụng ngôn ngữ để viết đoạn chương trình nhúng phần mềm khác Ms word, ms Excel, hay AutoCAD… Giáo trình xây dựng với mục đích làm tài liệu học tập thức cho sinh viên ngành Xây dựng cơng trình giao thông ngành Kỹ thuật xây dựng Trường Đại học Giao thơng Vận tải Trong q trình biên soạn giáo trình chúng tơi nhận nhiều ủng hộ đồng nghiệp Khoa Công nghệ thông tin, nhận hỗ trợ, góp ý giảng viên Bộ mơn Tự động hóa Thiết kế cầu đường, Khoa Cơng trình Chúng xin trân trọng cảm ơn mong muốn nhận góp ý độc giả để giáo trình hồn thiện Mọi góp ý xin gửi bmcpm@utc.edu.vn Tháng 6/2014 Các tác giả CHƯƠNG TỔNG QUAN VỀ MÁY TÍNH 1.1 CÁC KHÁI NIỆM CƠ BẢN 1.1.1 Thông tin- Biểu diễn xử lý thông tin Thông tin theo nghĩa thông thường đời sống hàng ngày hiểu thông báo, cắt nghĩa, Thông tin tồn nhiều dạng lưu trữ nhờ vật mang tin tờ báo, sách, băng ghi âm, đĩa từ, Thông tin đối tượng kiện đối tượng Thơng tin có khả làm thay đổi hiểu biết người, nguồn gốc nhận thức Trước thời điểm nhận thơng tin, có ta chưa biết, chưa xác định (bất định) Chẳng hạn ta biết sinh viên A học Trường Đại học Giao thông vận tải khoa nào, lớp việc tìm đến sinh viên A có độ bất định Bây giờ, giả sử biết thêm sinh viên A học khoa Cơng nghệ thơng tin trường, điều làm giảm độ bất định Như tính bất định thay đổi nhận thêm thơng tin Ta xét ví dụ khác: Nếu biết A thi đạt kỳ thi học kỳ môn Tin học đại cương, chưa biết điểm việc xác định điểm A có độ bất định Nếu biết thêm A đạt điểm lượng thơng tin bổ sung làm giảm độ bất định Tính bất định kiện lúc đầu thể (điểm 5, 6, 7, 8, 9, 10) lúc sau (điểm 8) Tính bất định gắn liền với khái niệm xác suất Xác suất nhỏ độ bất định lớn, hay nói cách khác, lượng thơng tin tỷ lệ nghịch với xác suất kiện Thông tin thường biểu diễn qua ký hiệu Ví dụ, ta có tập đối tượng X cần biểu diễn (tập thí sinh chẳng hạn) Chọn tập hữu hạn Y chữ số làm bảng chữ cái, ta gọi dãy hữu hạn chữ từ Y (ở số báo danh) Với phần tử x  X ta gán từ y Y gọi mã x (Y gọi bảng mã) Phép tạo mã tương ứng cần đảm bảo tính chất với x1≠x2 (x , x2 X) có y1≠y2 (y1 , y2  Y) mã tương ứng chúng Khi biết mã số (số báo danh), phép giải mã ta tìm đối tượng tương ứng (thí sinh) Thơng tin đưa vào MTĐT (để lưu trữ, tính tốn, ) thực chất dãy tín hiệu nhị phân hay gọi bit (binary digit), tương ứng với trạng thái mạch điện tử bên máy tính Vì vậy, xử lý thơng tin tự động, dạng mã quan trọng dùng mã nhị phân Thơng tin mã hóa bảng chữ gồm ký hiệu chữ số chữ số Ví dụ, với bảng mã ASCII, mã tiêu chuẩn Mỹ, ký tự (chữ cái, chữ số, ký tự đặc biệt) tương ứng với mã bit Như bảng mã với bit có trạng thái cho phép mã hóa 27=128 ký tự Với bảng mã ANSI, hay gọi ASCII mở rộng, ký tự mã hóa bit, lượng ký tự mã hóa 28=256 ký tự Cuối năm 80 kỷ trước, bảng mã UNICODE giới thiệu Bảng mã sử dụng 16 bit để mã hóa ký tự, nên lượng ký tự mã hóa 216=65536 ký tự Hiện UNICODE trở thành tiêu chuẩn chấp nhận rộng rãi mã hóa ký tự tất ngôn ngữ giới 1.1.2 Khái niệm Tin học - Informatics Theo bách khoa mở toàn thư wikipedia: Tin học ngành nghiên cứu việc tự động hóa xử lý thơng tin hệ thống máy tính cụ thể trừu tượng Với cách hiểu nay, tin học bao hàm tất nghiên cứu kỹ thuật có liên quan đến việc xử lý thơng tin Trong nghĩa thơng dụng, tin học bao hàm liên quan đến thiết bị máy tính hay ứng dụng tin học văn phòng Về định nghĩa tin học, Edsger Dijkstra tóm tắt câu sau đây: quan hệ tin học với máy tính khơng khác quan hệ thiên văn học với kính viễn vọng Ngồi ra, biết đến khái niệm khác: Tin học ngành khoa học công nghệ nghiên cứu phương pháp, q trình xử lý thơng tin cách tự động dựa phương tiện kỹ thuật mà chủ yếu máy tính điện tử 1.1.3 Khái niệm Công nghệ thông tin Công nghệ thông tin viết tắt CNTT, (tiếng Anh: Information Technology IT) ngành ứng dụng công nghệ quản lý xử lý thông tin CNTT ngành sử dụng máy tính phần mềm máy tính để chuyển đổi, lưu trữ, bảo vệ, xử lý, truyền, thu thập thông tin Ở Việt Nam:khái niệm CNTT hiểu định nghĩa nghị Chính phủ 49/CP kí ngày 04/08/1993 : Cơng nghệ thông tin tập hợp phương pháp khoa học, phương tiện công cụ kĩ thuật đại - chủ yếu kĩ thuật máy tính viễn thông - nhằm tổ chức khai thác sử dụng có hiệu nguồn tài ngun thơng tin phong phú tiềm lĩnh vực hoạt động người xã hội 1.1.4 Hệ đếm Hệ đếm hiểu tập ký hiệu tập qui tắc xác định dùng để biểu diễn tính giá trị số Trước hết xét hệ đếm quen thuộc, đại diện cho hai cách đếm là: hệ đếm La Mã (đếm không theo vị trí) hệ đếm thập phân (đếm theo vị trí) Hệ đếm La Mã: Mỗi ký hiệu biểu thị giá trị (I=1, V=5, X=10, D=500, M=1000) Nó có qui tắc, chẳng hạn: n ký hiệu đứng cạnh cho biết ký hiệu lặp lại n lần, ví dụ: II=2, III=3, XXX=30; hai ký hiệu ký hiệu lớn đứng trước biểu thị tổng hai ký hiệu đó, ví dụ: VI=6, XI=11, Như hệ đếm La Mã, ký hiệu đại diện cho giá trị, không phụ thuộc vào vị trí biểu diễn Hệ đếm thập phân: Sử dụng 10 ký hiệu (là chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Qui tắc tính giá trị: giá trị ký hiệu phụ thuộc vào thân ký hiệu vị trí biểu diễn Ví dụ: số 555, chữ số hàng đơn vị đơn vị, chữ số hàng chục 50 đơn vị (5*101), chữ số hàng trăm 500 đơn vị (5*102) Số lượng chữ số dùng hệ thập phân (10 chữ số) gọi số hệ đếm Số mũ số 10 xác định giá trị định lượng đơn vị Hệ đếm thập phân trường hợp riêng chọn số 10 Tổng quát, số nguyên b > chọn làm số Lúc ký hiệu hệ đếm 0, 1, 2, , b-1 Trong tin học, hệ đếm thường sử dụng là: hệ số (hệ nhị phân) dùng ký hiệu {0, 1} hệ số dùng ký hiệu {0, 1, 2, 3, 4, 5, 6, 7} hệ số 16 dùng ký hiệu {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Khi cần phân biệt số hệ đếm nào, ta sử dụng số làm số, ví dụ: 1012 , 58 , 516 MTĐT tác động trực tiếp với số nhị phân, người lại thường làm việc hệ thập phân Vì cần phải có thuật toán để chuyển đổi số từ hệ đếm sang hệ đếm khác Để chuyển đổi số từ hệ đếm số b1 sang hệ đếm số b2 , người ta thường dùng hệ thập phân làm trung gian: chuyển số từ hệ đếm số b1 sang hệ thập phân, sau chuyển tiếp số từ hệ thập phân sang hệ đếm số b2 a Biến đổi số hệ đếm sang hệ thập phân Cho số N= (dn-1dn-2 d1d0d-1d-2 d-m) hệ đếm số b Để tìm biểu diễn N hệ thập phân, ta tiến hành theo bước: Viết N dạng đa thức: N = dn-1 bn-1 + dn-2 bn-2 + + d1 b1 + d0 b0 + d-1 b-1 + d-2 b-2 + + d-mb-m Sử dụng phép tốn hệ thập phân để tính giá trị đa thức Ví dụ: 1110,12 = 1.23 + 1.22 + 1.21 + 0.20 + 1.2-1 = 14,5 D3F,416 = D.162 + 3.161 + F.160 + 4.16-1 = 13.162 + 3.161 + 15.160 + 4.16-1= 3391,25 b Biến đổi số hệ thập phân sang hệ đếm số Trước hết cần tách phần nguyên phần thập phân (nếu có), tiến hành biến đổi chúng riêng biệt sang hệ đếm số b Sau cách ghép nối kết ta thu giá trị cần tìm Để biến đổi phần nguyên N, ta chia nguyên cho b thương số N số dư d1 Sau lại lấy N1 chia nguyên cho b, thương số N2 vào số dư d2, Lặp lại trình đến thương số Nk=0, ta có kết cần tìm (dk d2d1) Ví dụ: 5210 = ?2 Ta thực theo thuật toán sau: Phép chia nguyên Thương số Số dư 52 : 26 26 : 13 13 : 6:2 3:2 1 1:2 Như 5210 = 1101002 Ví dụ: 5850610 = ?16 Ta thực theo thuật toán sau: Phép chia nguyên Thương số Số dư 58506 : 16 3656 10 3656 : 16 228 228 : 16 14 14 : 16 14 Như 5850610 = E48A16 Để biến đổi phần thập phân 0,M ta nhân với b, phần nguyên kết d1, phần thập phân lại sau lấy kết trừ d1 0,M1 Sau lấy 0,M1 nhân với b, phần nguyên kết d2, phần thập phân lại sau lấy kết trừ d2 0,M2, Tiếp tục lặp lại q trình này, có kết thúc lặp vơ hạn, tùy theo u cầu mà định dừng Ta có kết cần tìm (0,d1d2d3 ) 10 Gõ tên muốn hiển thị vào hộp Installation title, sau chọn Next, xuất hộp hội thoại cho phép bổ sung ứng dụng vào menu Start người dùng: Chọn Next, xuất hình liệt kê vị trí tệp cài đặt (không nên thay đổi mặc định này) 133 Chọn Next, xuất hộp hội thoại cho phép tạo khả cho người chia sẻ tập tin bạn Tuỳ chọn nói chung chọn chương trình truyền thơng với ứng dụng khác xử dụng dịch vụ COM/ OLE: Chọn Next, xuất hình Finished: 134 Kích chọn Finish, xuất hình báo cáo: Kích chọn Close để kết thúc việc đóng gói ứng dụng Khi thư mục Package chứa tất tệp ứng dụng đóng gói: 135 Để phân phối ứng dụng này, đơn giản ta cần chép thứ thư mục Package vào CD Web Chú ý: Để cài đặt ta chạy file Setup.exe thư mục Package, khơng phải chương trình thư mục Support 136 PHỤ LỤC TẠO HELP BẰNG HTML HELP WORKSHOP Cài đặt HTML Help Workshop HTML Help Workshop ứng dụng tạo lập Help Microsoft, cho phép tạo file Help dạng chm đơn giản tiện dụng Để cài đặt HTML Help Workshop ta chạy tập tin HTMLHELP.EXE thư mục HTMLHELP có sẵn đĩa Visual Studio thực theo hướng dẫn cài đặt Tạo tệp hướng dẫn Để tạo nội dung cho file Help ta phải tạo tệp hướng dẫn có phần mở rộng htm Sử dụng phần mềm Microsoft FrontPage tạo file html Khach.htm, Nhanvien.htm, Hang.htm, Hoadon.htm Chitiet.htm (giả sử lưu thư mục C:\Quanly\Help) Nội dung trang htm có dạng tương tự sau (các hình ảnh ví dụ Khach.jpg lưu C:\Quanly\Help) Tạo file Help Sau hoàn thành nội dung tệp hướng dẫn htm, ta tiến hành đặt nội dung mục cho tệp Đầu tiên ta phải tạo file Project (.hhp) để sau dịch file Help.chm Chọn Start/Programs/HTML Help Workshop/HTML Help Workshop, xuất cửa sổ HTML Help Workshop Chọn File/New xuất cửa sổ New: 137 Chọn Project/ OK xuất cửa sổ New Project chọn Next Trong cửa sổ New Project – Destination tạo tệp Help.hhp lưu vào thư mục C:\Quanly\Help Chọn Next xuất cửa sổ sau: Kích chọn lựa chọn HTML files (.htm) nhấn Next xuất cửa sổ New Project – HTML files Nhấn nút Add kích chọn tất file htm tạo thư mục C:\Quanly\Help 138 Nhấn nút Next chọn Finish để kết thúc tạo Project trở cửa sổ HTML Help Workshop Tại tab Project chọn biểu tượng Change project options, xuất hộp thoại Options gõ tiêu đề cho file Help ô Title chọn OK 139 Tiếp tục nhấn chọn tab Contents xuất cửa sổ sau: Chọn Create a new contents file chọn OK, xuất cửa sổ yêu cầu đặt tên cho tệp hhc, ta gõ tên tệp Contents.hhc lưu vào thư mục C:\Quanly\Help + Tại tab Contents chọn biểu tượng Contents Properties xuất hộp hội thoại cho phép chọn font chữ mong muốn, ví dụ Vntime để gõ tiếng Việt + Chọn biểu tượng Insert a heading , gõ “Danh muc” ô Entry title nhấn OK Tiếp theo chọn biểu tượng Insert a page xuất hộp thoại, chọn No để trang chèn vào nằm Heading vừa tạo Sau xuất hộp thoại Table of Contents Entry, gõ “Danh muc khach hang” vào phần Entry Title chọn nút Add, cửa sổ xuất hiện, chọn nút Browser cửa sổ chọn tệp Khach.htm, chọn Close/OK/OK để đóng cửa sổ Kết tệp Khach.htm chèn vào file Help Tương tự nhấn vào nút Insert a page nhập nội dung “Danh muc nhan vien” vào ô Entry Title nhấn Add để liên kết đến tệp Nhanvien.htm + Tiếp tục nhấn vào nút Insert a page nhập nội dung “Danh muc hang” vào ô Entry Title nhấn Add để liên kết đến tệp Hang.htm Chú ý: kích chọn biểu tượng mũi tên để mục Hang ngang hàng với heading “Danh muc” 140 + Tương tự chọn biểu tượng Insert a heading tạo heading “Hoadon” gồm đề mục “Hoadon” liên kết tới tệp Hoadon.htm “Hoa don chi tiet” liên kết tới tệp Chitiet.htm Kết thúc ta tệp Contents với nội dung sau: Tiếp theo ta tạo mục Index cho tệp Kích chọn tab Index xuất cửa sổ Index Not Specified, đánh dấu lựa chọn Create a new index file chọn OK Xuất cửa sổ Save as, ô File name gõ tên tệp số Index.hhk chọn Save để lưu vào thư mục C:\Quanly\Help + Tại tab Index chọn biểu tượng Index Properties xuất hộp hội thoại cho phép chọn font chữ thích hợp + Chọn biểu tượng Insert a keyword có hình chìa khoá, xuất hộp thoại Index Entry, gõ “Khach” ô Keyword chọn nút Add, cửa sổ xuất hiện, chọn nút Browser chọn tệp Khach.htm, chọn Close/OK/OK để đóng cửa sổ Kết tệp Khach.htm liên kết tới Keyword “Khach” + Tương tự tạo keyword “Nhanvien” liên kết tới tệp Nhanvien.htm, “Hang” liên kết tới tệp Hang.htm, “Hoa don” liên kết tới tệp Hoadon.htm, “Chi tiet” liên kết tới tệp Chitiet.htm + Cuối kích chọn biểu tượng để xếp mục Index theo thứ tự A, B, C 141 Bước cuối cùng, nhấn chọn tab Project kích chọn biểu tượng Save all project files and complie để lưu lại tất file Contents, Index … tạo dịch chúng thành file tổng hợp có chm chạy độc lập mơi trường khác Kết cuối ta có tệp Help.chm lưu thư mục C:\Quanly\Help Sử dụng tệp Help.chm Giả sử menu form frmMain ta thêm mục menu có tên mnuHelp, mục menu có tác dụng mở file Help.chm Mã lệnh viết sau: Private Sub mnuHelp_Click() Shell "EXPLORER.EXE " & App.Path & "\Help\Help.chm", vbNormalFocus End Sub PHỤ LỤC SỬ DỤNG DLL VÀ WINDOWS API Giới thiệu DLL API Ngoài hàm thủ tục tự tạo Visual Basic, người lập trình sử dụng hàm thủ tục viết sẵn Windows, Windows cung cấp vô số hàm gọi dạng Thư viện liên kết động – DLL (Dynamic Link Libraries) Sử dụng DLL không tiết kiệm thời gian lập trình, mà tạo nên giao diện người sử dụng gần gũi thống với môi trường Windows 142 Vấn đề làm để ta sử dụng hàm viết sẵn đó? câu trả lời phải liên kết (Link) tới nó, có hai loại liên kết: Liên kết tĩnh liên kết động Liên kết tĩnh - Static Link: Cung cấp kết nối bền vững chương trình modul viết sẵn lúc thiết kế, tương tự ta tạo modul Visual Basic gọi thủ tục đó, khác liên kết tĩnh chứa bên ngồi Visual Basic Tuy nhiên, đề sử dụng liên kết tĩnh ta cần copy phần chương trình viết sẵn thư viện vào tập tin chương trình biên dịch, chúng trở thành phần bị khố chặt với chương trình Liên kết động - Dynamic Link: Là giải pháp linh hoạt liên kết tĩnh, tập tin thư viện bên ngồi khơng bị ràng buộc với chương trình, mà chứa nơi cho thi hành, tập tin EXE tìm gửi thơng báo tới hàm thủ tục cần dùng Các DLL Visual Basic: Visual Basic minh họa cho việc sử dụng DLL, vào thư mục \Windows\System ta thấy loạt tập tin cấu tạo lên chế thi hành VB, ví dụ: VB5DB.DLL chứa chương trình liên kết với DAO (Đối tượng truy cập liệu) lúc thi hành để ứng dụng tìm kiếm sở liệu cục Thế mạnh DLL: Nhất quán: Tạo giao diện sử dụng phổ biến cho ứng dụng Windows Dễ bảo trì: Những thay đổi bổ sung có thể ứng dụng Tập tin EXE nhỏ hơn: Do phần công việc chứa nơi khác không kết gắn cứng nhắc liên kết tĩnh kích cỡ tập tin EXE giảm nhỏ Windows thực chất tập hợp DLL để ứng dụng khác dùng chung, bên DLL hàng trăm hàm / thủ tục gọi Windows API – Giao diện lập trình ứng dụng (Application Programmer’s Interface) Các API tổ chức DLL Windows: KERNEL32: Là DLL chính, đảm nhiệm quản lý nhớ, thực chức đa nhiệm hàm ảnh hưởng trực tiếp đến hoạt động Windows USER32: Thư viện quản lý Windows, chứa hàm xử lý menu, hệ thống, tập tin, … nhiều phần không hiển thị khác Windows GDI32: Giao diện thiết bị đồ hoạ (Graphics Device Interface), cung cấp hàm vẽ hình kiểm tra phần biểu mẫu cần vẽ lại WINNM: Cung cấp hàm Multimedia để xử lý âm thanh, nhạc, video, thời gian thực, lấy mẫu… 143 Cách sử dụng hàm API Các hàm API gọi tương tự hàm/ thủ tục modul đề án, có điều API thủ tục khơng nằm ngồi modul mà nằm ngồi Visual Basic Khai báo hàm API: Private|Public Declare Sub|Function Tên hàm API Lib “Tên DLL” (Tham số truyền) [Kiểu trả về] Khai báo API tương tự khai báo hàm/ thủ tục thông thường, dùng từ khoá Sub/ Function khác trước phải có từ khố Declare, vấn đề sau: + Tên hàm/ thủ tục + Tập tin DLL chứa + Tham số truyền + Kiểu liệu trả (nếu hàm) Ví dụ Ví dụ 1: Tạo cửa sổ nhấp nháy cách gọi API: Mở đồ án Đưa điều khiển Timer vào form, định thuộc tính Interval = 10 Nhấn đúp chuột lên điều khiển Timer để mở cửa sổ code: Private Sub Timer1_Timer() Dim nReturnValue As Long nReturnValue = FlashWindow(Form1.hWnd, True) End Sub Khai báo hàm FlashWindow phần General Declarations: Private Declare Function FlashWindow Lib “User32” _ (ByVal hWnd As Long, ByVal Invert As Long) As Long Thi hành chương trình, biểu mẫu xuất tiêu đề nhấp nháy Chú ý: Hàm API phân biệt chữ hoa chữ thường Giải thích: Từ khố Declare báo cho VB biết khai báo hàm DLL Sau Declare từ khoá Sub hay Function, cho biết thủ tục hay hàm FlashWindow tên hàm API Từ khoá Lib cho biết tên DLL chứa hàm/ thủ tục (ở thư viện Uses32) 144 Tiếp theo khai báo tham số truyền, tham số truyền là: (ByVal hWnd As Long, ByVal Invert As Long) + Tham số đầu, hWnd “handle” xác định cửa sổ cần nhấp nháy + Tham số thứ 2, Invert có kiểu Boolean, Invert có giá trị True tiêu đề nhấp nháy ngược lại Cuối khai báo kiểu liệu hàm trả Sau khai báo hàm API, ta gọi API hàm thủ tục thông thường VB Gọi FlashWindow gọi đến API DLL ta lưu giá trị trả biến nReturnValue Chú ý 1: Khi sử dụng hàm thủ tục, biến khai báo ByVal (tham trị) hệ thống làm việc biến, giá trị biến khơng bị thay đổi hàm thủ tục Ngược lại biến khai báo ByRef (tham biến – mặc định) hàm thủ tục dùng biến đó, giá trị biến bị thay đổi Chú ý 2: Nếu ta không muốn dùng trực tiếp tên hàm API, ta dùng tên ta tự đặt theo quy tắc sau: (Nói chung tốt nên dùng tên thực hàm API) Private|Public Declare Sub|Function Tên tự đặt Lib “Tên DLL” Alias “Tên hàm API chuẩn” (Tham số truyền) [Kiểu trả về] VD: Private Declare Function Flash Lib “User32” Alias “FlashWindow” _ (ByVal hWnd As Long, ByVal Invert As Long) As Long Khi ta gọi sau: nReturnValue = Flash(Form1.hWnd, True) Ví dụ 2: Tạo form có suốt hàm API, mã lệnh sau: ' Khai báo hàm cần thiết để gọi API Const LWA_COLORKEY = &H1 Const LWA_ALPHA = &H2 Const GWL_EXSTYLE = (-20) Const WS_EX_LAYERED = &H80000 ' Danh sách hàm API cần thiết Private Declare Function GetWindowLongA Lib "user32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLongA Lib "user32" _ (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long ' Hàm API 145 Private Declare Function SetLayeredWindowAttributes Lib "user32" _ (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, _ ByVal dwFlags As Long) As Long Private Sub Form_Load() Dim Ret As Long ' Định nghĩa cửa sổ thành lớp Ret = GetWindowLongA(Me.hWnd, GWL_EXSTYLE) Ret = Ret Or WS_EX_LAYERED SetWindowLongA Me.hWnd, GWL_EXSTYLE, Ret ' Chỉnh tính mờ đục cửa sổ giá trị 128, giá trị  [ 0, 255] SetLayeredWindowAttributes Me.hWnd, 0, 128, LWA_ALPHA End Sub Chú ý: Danh sách công dụng hàm API, bạn tham khảo tập tin trợ giúp 146 TÀI LIỆU THAM KHẢO [1] Lê Minh Trí, Tự học Kỹ lập trình Visual Basic 6, Nhà xuất Thống kê, 1999 [2] Nathan Gurewith, On Gurewith; Ngô Quốc Việt, Phạm Nguyễn Tuấn Kỳ, Nguyễn Tiến dịch, Kỹ thuật lập trình Visual Basic : Tự học 21 ngày, Nhà xuất Giáo dục, 1994 [3] Lê Quỳnh Mai (Chủ biên), Giáo trình Tự động hóa Thiết kế cầu đường, Nhà xuất Đại học Giao thông Vận tải, 2009 [4] Phạm Văn Ất (chủ biên), Giáo trình Tin học Đại cương, Nhà xuất Đại học Giao thông Vận tải, 2009 [5] www.vi.wikipedia.org [6] microsoft.com 147

Ngày đăng: 10/11/2017, 11:16

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

Tài liệu liên quan