• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja "keybd_event" pisze litery zamiast liczb

Cloud VPS
0 głosów
201 wizyt
pytanie zadane 29 grudnia 2017 w C i C++ przez Karol Barczak Początkujący (440 p.)

Program ma za zadanie napisać wszystkie cyfry z pewnego przedziału lecz zamiast wypisać liczby  z niewiadomego powodu wypisuje litery.

#include <iostream>
#include <windows.h>

using namespace std;
void pisanie(int x,int y)
{
    int c=195;

    Sleep(2000);

    while(x<=y)
    {

        SetCursorPos(450,c);
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);
        cout<<x<<endl;

////////////////////////////////problem

        keybd_event(VkKeyScan(x), 0, 0, 0);//   funkcja wypisuje litery zamiast cyfr

//////////////////////////////////////////////////////////////
        Sleep(650);
        c+=32;
        x++;
    }


}

int main()
{
    int x,y;
    cout << "Od ilu pozycji mam zaczac: " ;
    cin>>x;
    cout<<"Do ilu wypisywac: ";
    cin>>y;

    pisanie(x,y);
    return 0;
}
 


    


 

 

komentarz 29 grudnia 2017 przez SebekChlebek Stary wyjadacz (11,290 p.)
komentarz 29 grudnia 2017 przez Karol Barczak Początkujący (440 p.)
Co mam zrobić by program działał poprawnie?  :) ​​​​​
komentarz 29 grudnia 2017 przez SebekChlebek Stary wyjadacz (11,290 p.)

Jaki jest cel tego programu?

SetCursorPos(450,c);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0); 

po co to?

Tak samo

 keybd_event(VkKeyScan(x), 0, 0, 0);

i cała zmienna c?

 

komentarz 29 grudnia 2017 przez Karol Barczak Początkujący (440 p.)

Program ma za zadanie  przesuwać kursor o kolejną rubrykę w tabeli aby je ponumerować np:

1  
2  
3  

 

1 odpowiedź

+1 głos
odpowiedź 29 grudnia 2017 przez SebekChlebek Stary wyjadacz (11,290 p.)
wybrane 29 grudnia 2017 przez Karol Barczak
 
Najlepsza
W keybd_event(VkKeyScan(x), 0, 0, 0);  zamiast x daj (x + '0'). Zamieniasz int na char ale później (powyżej 9) musisz zrobić to dwa razy bo jedna daje pierwszą cyfrę a druga funkcja da drugą cyfrę.

Podobne pytania

0 głosów
2 odpowiedzi 1,898 wizyt
+1 głos
3 odpowiedzi 356 wizyt
pytanie zadane 7 lutego 2021 w C i C++ przez Kacperek_code Obywatel (1,690 p.)
0 głosów
2 odpowiedzi 852 wizyt

93,469 zapytań

142,404 odpowiedzi

322,713 komentarzy

62,852 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...