Mình chưa dùng BC , nhưng dùng TC rồi.
Nếu trong TC thì:
Không biết có phải theo ý của bạn không?C Code:
ch=getch(); switch(ch) { //up case 72: ... break; //down case 80: ... break; //left case 75: ... break; //right case 77: ... break; }
Mình đang làm 1 chương trình có menu 1 chiều. dựa theo ý tưởng của thắng trần
http://forums.congdongcviet.com/showthread.php?t=4423
nhưng mình dùng BC3.01 và hàm getch() ko hề nhận bít được các phím lên xuống :| .![]()
![]()
![]()
![]()
vậy mình nên dùng hàm nào để nhập được phím lên , xuống trong bàn phím ???
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Mình chưa dùng BC , nhưng dùng TC rồi.
Nếu trong TC thì:
Không biết có phải theo ý của bạn không?C Code:
ch=getch(); switch(ch) { //up case 72: ... break; //down case 80: ... break; //left case 75: ... break; //right case 77: ... break; }
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
Mình test thử 1 ct như sau . Khj chạy rồi nhập phím lên hoặc xuống đều trả về giá trị là 0 hết :| Thật là chả hiểu nổi
C Code:
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Đúng rồi, vì nó là các phím đặc biệt và trả về 0.(Mình chỉ hiểu vậy)
Nếu bạn sử dụng để nhận biết nó thì đoạn code trên là hoàn toàn đúng rồi.
Ngày xưa khi làm mấy cái trò chơi ( như đua xe ôtô, hứng bóng...) mình cũng test như vậy và kết quả cũng là 0, sau mới biết là các mã trên.(Nó trùng với một vài phím đó as p,...).
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
@ nờ tê on li lớp : cám ơn bạn :| mình cần thận quá nên làm riêng 1 ct để tét mã các phím đâm ra lao vào bóng tối ko có lối ra .
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Trả về 0 tức nó là phím đặc biệt. Bạn phải làm như sau:
C Code:
char ch; ch = getch(); if(ch == 0) { ch = getch(); switch(ch) { case 72: break; ... } }
Mình thử lại với code dưới này mà vẫn ko được!!!
PHP Code:#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
char ch=0;
if (ch==0) {ch=getch();}
switch (ch)
{ case 80 : printf("aaaaa");break;
}
}
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
mình thử lại với code này cũng ko được
PHP Code:#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
char ch=0;
if (ch==0)
{ ch=getch();
switch (ch)
{ case 80 : printf("aaaaa");break;
}
}
}
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Cái này dễ lắm à . Bạn cứ hiểu là ký tự lên xuống qua lại là những ký tự có mã đặc biệt , chúng phải được gọi là " cặp mã " thì chính xác hơn . Cụ thễ như sau : phím lên là 0 72 , phím xuống là 0 85 , trái là 0 75 , phải là 0 77 . Code sau sẽ nhận phím bấm qua lại trái phải trên bàn phím và in ra câu chào tương ứng
ttecak ?