Tin Học Đại Cương

Chia sẻ bởi Nguyễn Thanh Phong | Ngày 26/04/2019 | 75

Chia sẻ tài liệu: Tin Học Đại Cương thuộc Công nghệ thông tin

Nội dung tài liệu:

Chương 10
GIAO TIẾP VỚI THIẾT BỊ NHẬP/XUẤT (I/O)
10.1 Tổng quát về tương tác giữa người dùng & chương trình
q    Trong lúc chương trình chạy, nó thường tương tác với người dùng. Sự tương tác gồm 2 hoạt động chính :
§        chờ nhận dữ liệu do người dùng cung cấp hay chờ nhận lệnh của người dùng để thực thi 1 chức năng nào đó.
§        hiển thị thông báo và/hoặc kết quả tính toán ra màn hình/máy in để người dùng biết và sử dụng.
q    Sự tương tác giữa người dùng và máy tính được thực hiện thông qua các thiết bị nhập/xuất (thiết bị I/O - input/output) như bàn phím/chuột để nhập dữ liệu hay lệnh, màn hình/máy in để xuất kết quả hay thông báo...
q    Hiện có hàng trăm hãng khác nhau chế tạo thiết bị I/O cho máy PC, mỗi hãng chế tạo rất nhiều model của cùng 1 thiết bị (thí dụ hãng HP đã chế rất nhiều model máy in phun mực, máy in laser,...). Mỗi model thiết bị của từng hãng có những tính chất vật lý riêng và khác với các model khác.
Để giúp người lập trình truy xuất các thiết bị I/O dễ dàng, độc lập với tính chất phần cứng của thiết bị, HĐH Windows và VB đã che dấu mọi tính chất phần cứng của các thiết bị và cung cấp cho người lập trình 1 giao tiếp sử dụng duy nhất, độc lập với thiết bị.
10.2 Kiến trúc tương tác giữa người dùng & ứng dụng VB

q    Xem hình vẽ của slide trước (miêu tả kiến trúc tương tác giữa người dùng & ứng dụng VB), ta thấy :
§        cấp thấp nhất là các thiết bị phần cứng, mỗi thiết bị có tính chất riêng và khác với các thiết bị khác (ngay cả cùng loại, cùng hãng nhưng khác model).
§        cấp device driver điều khiển và giao tiếp trực tiếp với phần cứng nhưng che dấu mọi tính chất chi tiết của phần cứng, nó cung cấp cho cấp trên 1 giao tiếp sử dụng phần cứng độc lập với tính chất phần cứng đó Þ Mỗi model thiết bị phần cứng của 1 hãng cần có device driver riêng.
§        cấp HĐH xử lý các chức năng luận lý (đệm dữ liệu, xử lý sai,...) trước khi nhờ device driver giao tiếp trực tiếp với phần cứng. Windows che dấu các loại phần cứng và tạo ra những thiết bị trừu tượng để ứng dụng truy xuất chúng dễ dàng và độc lập với loại thiết bị (đối tượng Printer, Screen, Mouse, Keyboard).
§        VB tạo ra những đối tượng giao diện cao cấp và dễ dùng : mỗi đối tượng giao diện (form, window, listbox,...) đều có thể giao tiếp trực tiếp với người dùng để nhập/xuất dữ liệu, chờ nhận sự kiện hay chủ động thông báo cho user.
q    Sau khi đã biết kiến trúc giao tiếp I/O của ứng dụng VB, khi cần giao tiếp với người dùng, ta nên :
§        dùng các đối tượng giao diện cao cấp (định sẵn của VB hay ActiveX Control).
§        trong 1 số trường hợp cần thiết ta sẽ dùng các đối tượng của Windows như Printer và Screen.
§        trong 1 số trường hợp tối cần thiết ta mới gọi các hàm trong giao tiếp của device driver.
§        và tuyệt đối không nên truy xuất trực tiếp phần cứng thiết bị I/O vì rất khó khăn, không an toàn, dễ bị tranh chấp với các ứng dụng chạy đồng thời.
q    Tương tác với người dùng thông qua các đối tượng giao diện được thực hiện như sau :
§        nhập liệu/nhận lệnh thông qua các thủ tục xử lý sự kiện của phần tử giao diện tương ứng.
§        xuất kết quả/thông báo bằng cách gán kết quả vào thuộc tính tương ứng của đối tượng giao diện hay dùng các method vẽ đồ họa tổng quát.
10.3 Giao tiếp với keyboard thông qua các đối tượng giao diện
q    Mặc dù có thể có nhiều phần tử giao diện cùng được hiển thị trên màn hình tại từng thởi điểm nhưng chỉ có 1 phần tử giao diện được giao tiếp với thiết bị I/O, ta gọi phần tử giao diện này là `active` hay được `focus`.
q    Liên quan đến việc ấn thả 1 phím, VB sẽ tạo ra 3 sự kiện sau đây và gởi về cho phần tử được `focus` hiện hành :
§        KeyDown : sự kiện xảy ra khi người sử dụng bấm (ấn xuống) bất kỳ một phím nào trên bàn phím.
§        KeyUp : sự kiện xảy ra khi người sử dụng thả phím vừa ấn ra.
§        KeyPress: sự kiện xảy ra khi người sử dụng ấn/thả bất kỳ một phím nào trên bàn phím mà tạo ra được 1 ký tự ANSI.
Thủ tục xử lý sự kiện KeyDown, KeyUp & KeyPress
q    Thủ tục có dạng sau :
Private Sub ControlName_KeyDown (KeyCode as Integer, Shift as Integer).
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Thanh Phong
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)