XỬ LÍ BÀN PHÍM
Để xử lý bàn phím, Turbo Pascal cung cấp cho bạn hai hàm cơ bản :
KeyPressed : Boolean; là hàm trả lại giá trị True nếu một phím được ấn và False nếu không có. Tuy nhiên, hàm KeyPressed không thể xử lý các phím nóng như Shift, Alt, NumLock...
Ví dụ:
Uses Crt ;
BEGIN
(* Điền đầy màn hình bằng kí tự Xxcho đến khi gõ phím *)
Repeat
Write(' Xx ') ;
Until KeyPressed ;
END.
ReadKey : Char; đọc kí tự từ bàn phím. Nếu biến KeyPressed là True trước khi gọi tới ReadKey, kí tự được đọc vào ngay lập tức, không chờ ấn Enter. Nếu KeyPressed là False, tức không có một phím nào được ấn, ReadKey sẽ đợi cho đến khi có một phím được ấn và nhận diện phím được ấn đó.
Kí tự được đọc không hiện lên trên màn hình, cho dù các kí tự đó thuộc bảng chữ cái hay là các chữ số từ 0 đến 9.
Khi một phím đặc biệt được ấn, đầu tiên ReadKey trả lại giá trị không ( Nul #0 ), và sau đó trả lại mã quét mở rộng.
Một đoạn chương trình dưới đây đọc kí tự hay mã phím mở rộng vào trong biến Ch và đặt biến Boolean có tên là FuncKey tới giá trị True nếu kí tự là một phím đặc biệt :
Ch := ReadKey ;
If Ch <> Then
Begin
Writeln (' Khong phai phim dac biet ') ;
FuncKey := False ;
End
Else
Begin
FuncKey := Key ;
Ch := ReadKey ;
End ;
Sau đây là một ví dụ ngắn thể hiện cách sử dụng hàm ReadKey :
Uses Crt ;
Var
Ch: Char ;
BEGIN
Writeln (' Hien thi cac gia tri ma ki tu ASCII ') ;
Writeln (' An Ecs de thoat ') ;
Writeln ;
Repeat
Writeln (' Ki tu ? ') ;
Ch := Readkey ;
Writeln ( Ch,' : gia tri ma ASCII la ', Ord( Ch ) );
Until Ch = Chr ( 27 ) ;
END.
Đỗ Trung Thành @ 10:51 13/09/2009
Số lượt xem: 1948
- MÀU CHỮ VÀ MÀU NỀN (13/09/09)
- THIẾT LẬP MÀN HÌNH ĐỒ HỌA (13/09/09)
- Con trỏ: CON TRỎ KHÔNG ĐỊNH KIỂU (13/09/09)
- Con trỏ: DANH SÁCH ĐƯỢC GHÉP NỐI (13/09/09)
- Con trỏ: BỘ NHỚ HEAP (13/09/09)

Các ý kiến mới nhất