Hiển thị kết quả từ 1 đến 8 / 8
  1. #1
    Tham gia
    02-11-2002
    Bài viết
    164
    Like
    0
    Thanked 1 Time in 1 Post

    Câu hỏi, cần giúp đỡ [Q] ascii trong đồ họa pascal

    khi trong chế độ đồ họa thì chương trình không đọc được :
    i:=readkey;
    if i=chr(80){phím mũi tên}then.........;
    tại sao vậy
    nếu muốn khi nhấn phím mũi tên thì chương trình thực hiện lệnh thì làm sao?
    Quote Quote

  2. #2
    Tham gia
    03-08-2002
    Location
    Đà Nẵng
    Bài viết
    4,163
    Like
    324
    Thanked 448 Times in 294 Posts
    có thể máy bạn chưa sửa lỗi 200 không?. Mình thì vẫn chạy được

  3. #3
    Tham gia
    02-11-2002
    Bài viết
    164
    Like
    0
    Thanked 1 Time in 1 Post
    đó là lỗi gì vậy

  4. #4
    Tham gia
    16-07-2002
    Location
    Ha noi
    Bài viết
    370
    Like
    0
    Thanked 9 Times in 9 Posts
    Lỗi 200 là lỗi mà khi chạy chương trình thì báo lỗi run time error 200 : division by zero.

    Bạn có thể nói cụ thể hơn không ? có phải bạn chạy chương trình và ẫn mãi phím mũi tên mà nó không hoạt động? có thể luc đó ct chưa chạy đến đoạn đó bạn thử F4 vào chố đó coi.

  5. #5
    Tham gia
    11-11-2002
    Location
    Thanh Hoa
    Bài viết
    5
    Like
    0
    Thanked 0 Times in 0 Posts
    Nếu bạn nhận phím trong PAS mà làm như vậy thì không ổn rồi. Có nhiều cách để nhận phím chuẩn trong PAS. Có thể dùng các ngắt về bàn phím(nếu bạn thạo ngắt thì đây là cách tốt nhất). Còn không thì có thể dùng cách khác. Bạn có thể dùng hàm
    PressdKey trả về đúng nếu có tác động phím và ngược lại.Nếu đúng thì hãy sử dụng Readkey. Nếu phím nhận được làm phím chức năng thì hàm Readkey trả về mã không vì vậy bạn phải sử dụng hàm Readkey một lần nữa nếu gặp phải trường hợp này.

    VD:
    procedure batphim(var ch:char)
    begin
    ch=#0;
    if PressdKey then
    begin
    ch:=readkey;
    if(ch=#0)then ch:=readkey;
    end;
    end;

    procedure main;
    var ch:char;
    begin
    while(true)do
    {
    batphim(ch);
    if(ch=#80)then
    begin
    .....
    end;
    }
    end;


    Chúc thành công. Chắc chắn thành công.

  6. #6
    Tham gia
    02-11-2002
    Bài viết
    164
    Like
    0
    Thanked 1 Time in 1 Post
    cảm ơn bạn.mình sẽ thử

  7. #7
    Tham gia
    26-04-2008
    Bài viết
    3
    Like
    0
    Thanked 0 Times in 0 Posts
    <sao phải vất vả thế làm gì chứ
    chỉ cần như thế này thôi
    begin
    if ReadKey=#80 then
    begin
    ....
    end.
    Thế là pascal đã nhận diện được phím mũi tên đó rồi
    Không tin thì chạy thử xem>

  8. #8
    Tham gia
    21-02-2014
    Bài viết
    2
    Like
    1
    Thanked 0 Times in 0 Posts

    Buồn quá đi ! Sao trong chế độ đồ họa việc nhận phím không diễn ra vậy nhỉ??

    Mình dùng freepascal thấy việc nhận phím là không được trong chế độ đồ họa. Khi chạy đồ họa nó chẳng nhận phím nào cả. hic

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •