2010-03-11 20 views
7

Q1: Điều này có nghĩa là: WriteLn (#$0b)?Cách sử dụng # trong Pascal

$0b nên thập lục phân như 0x0b, nhưng còn dấu hiệu # thì sao?

Q2:

x:=readkey; 
if (x = #5) do... 

Liệu #5 bình lăm? Sau đó, ký hiệu # là gì?

Rất cám ơn.

+0

(Lưu ý rằng trong (thậm chí không như vậy) gần đây Delphi và FPC phiên bản số lượng lớn hơn 255 đang widechars, 16-bit thực thể cơ sở sử dụng cơ sở cho các loại chuỗi UTF16) –

Trả lời

7

Các # trước một số đại diện cho một nhân vật với giá trị chỉ định (cả hai số thập phân và số hex trước bởi một $, được chấp nhận). Vì vậy, #5 giống với chr(5) hoặc CtrlE.

+0

Phải tìm kiếm ['chr'] (http://physinfo.ulb.ac.be/cit_courseware/pascal/pas036.htm) để có câu trả lời này, nhưng ít nhất tôi biết tra cứu 'chr'. 'chr (65) = # 65 = 'A'' – DCShannon

2

Ah, kỷ niệm ...

#x thực sự là tương đương với chr(x), như Greg Hewgill nói.

Tôi muốn thêm một chút thông tin.
phím mở rộng, tức là các phím mũi tên, gửi zero và mã của char:

ch := ReadKey; 
    if ch = #0 then 
    begin // extended key 
    ch := ReadKey; // <-- read again to get the actual code 
    end else ... 
Các vấn đề liên quan