Chủ đề: nhờ các bạn chỉ giúp mình đoạn code C++, chỗ bắt sự kiện bàn phím được ấn xuống
-
09-05-2014, 08:12 AM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
nhờ các bạn chỉ giúp mình đoạn code C++, chỗ bắt sự kiện bàn phím được ấn xuống
mình viết 1 chương trình, khi ấn phím Left thì sẽ hiện ra số 0, ấn phím Right thì hiện ra số 1, nhưng sao khi ấn mà nó viết luôn 1 tràng dài số, mình muốn ấn 1 nút thì nó chỉ in 1 lần thôi thì phải làm sao?
Mã:include<conio.h> #include<stdio.h> #include<iostream> using namespace std; #include<Windows.h> void main() { int a; while (true) { if (GetKeyState(VK_LEFT)) { cout << "0"; } if (GetKeyState(VK_RIGHT)) { cout << "1"; } Sleep(100); } }
View more random threads:
- Đếm số lần xuất hiện chuỗi trong chuỗi
- Thắc mắc về SQL
- Giúp đỡ về bài tập c++
- Đọc ma trận n hàng m cột từ file text, sắp xếp ma trận theo hình xoắn ốc, xuất ra màn hình hoặc file text
- Vẽ hình thoi đặc.
- Đây là bài tập về KIỂU CẤU TRÚC , ai giúp em với[giúp gì? không xin code]
- Thư viện
và các hàm của nó - Đếm từ trong xâu trên C, giúp mình sửa lỗi với?
- Cho em hỏi về biên dịch trong C ++ Borlan 5.02
- giải thich các sử dụng con trỏ.
-
10-05-2014, 02:26 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
ai giúp mình được không?
-
10-05-2014, 06:13 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
sửa cái GetKeyState thành GetAsyncKeyState
-
11-05-2014, 11:08 AM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
muốn bấm trái phải để di chuyển à?
cách này là chữa cháy: nhấn giữ phím trái 1 lúc (tầm 300ms = 0.3 giây) thì nó mới in ra liên tục. Hằng số SENSITIVITY có thể là biến cũng được, ko nhất thiết là hằng số. Ta đặt tên hơi kì đáng lẽ phải là wait intervals mới đúng. (Phím phải thì làm tương tự)
Mã:#include <iostream>#include <windows.h> const double FPS = 60.0;const int MS_PER_FRAME = 1000 / FPS;const int SENSITIVITY = 300 / MS_PER_FRAME; int main(){ bool leftPressing = false; int leftWait = 0; while (true) { if (GetAsyncKeyState(VK_RETURN)) break; //enter để kết thúc chương trình leftPressing = GetAsyncKeyState(VK_LEFT); if (!leftPressing) leftWait = SENSITIVITY; else { if (leftWait == SENSITIVITY || !leftWait) std::cout << "0"; if (leftWait) --leftWait; } Sleep(MS_PER_FRAME); }}
-
11-05-2014, 07:37 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
wao, hay quá, hàm đó đúng là hàm mình cần, nhưng có 1 chút vẫn chưa vừa ý là nó sẽ in ra khi có 1 phím đang được giữ. nếu mình để sleep time =0 thì khi mình ấn xuống 1 cái là 1 loạt số hiện ra.
có cách nào để chỉ 1 số hiện ra sau 1 lần ấn ko?
nhưng dù sao cũng cảm ơn các bạn nhiều, hàm này cug khá ổn rồi.
xã hội vững mạnh, nhu cầu mặc đẹp của con người ngày càng cao. ngành công nghiệp thời trang cũng đang vững mạnh chóng vánh. những nhà máy gia công hàng may mặc chẳng thể đóng góp lặng thầm vào sự...
Tìm xưởng may gia công tại TP Hồ...