Klawisze

0

Jak w c++ deklaruje się klawisze że np: jeśli klikniesz szczałkę w lewo to button przesunie się w lewo,jeśli klikniesz szczałkę w prawo to button przesunie się w prawo,jeśli klikniesz szczałkę w górę to button przesunie się w górę,jeśli klikniesz szczałkę w dół to button przesunie się w dół i może wiek ktoś z kąd można pobrać zapis klawiszy taką całą klawiaturę w symbolach w c++

0

Musisz znać kody ASCI klawiszy. Są w dokumentacji.

0

w onkeydown formy dajesz :
switch(Key)
{
case VK_UP : // strzalka w gore
{
//costam
}
break;
case VK_DOWN : // dol
{
//costam
}
break;

case VK_RIGHT : // prawo
{
//costam
}
break;
case VK_LEFT : //lewo
{
//costam
}
break;
}

0

moge sie mylić ale nawiasy , które zaznaczyłem na czerwono są zbędne :
switch(Key)
{
case VK_UP : // strzalka w gore
<font color="red">{ </span>
//costam
<font color="red">} </span>
break;
case VK_DOWN : // dol
<font color="red">{ </span>
//costam
<font color="red">} </span>
break;

case VK_RIGHT : // prawo
<font color="red">{ </span>
//costam
<font color="red">} </span>
break;
case VK_LEFT : //lewo
<font color="red">{ </span>
//costam
<font color="red">} </span>
break;
}

0

Sa zbedne ale za to kod masz bardziej przejrzysty :)

0

oczywiście to tylko i wyłącznie kwestia gustu , ja np. jak zobaczyłem te case'y z tymi zbędnymi nawiasami to zobaczyłem bałagan ;) , bo wg mnie po co ładować break poza nawiasy , skoro jest on opcjonalny i jest częścią instrukcji case ?? Ale jak mówiłem jest to kwestia gustu

0

te nawiasy nie sa zbedne kiedy chce do jednego case'a wrzucic wiecej niz jedna instrukcje

0

ja nigdy nie używałem tych nawiasów przy case'ach jak miałem nawet klikanaście instrukcji między jednym a drugim casem i wszystko dobrze działało

0

Z tego co wiem nawiasy w case'ach potrzebne są kiedy w case'ach deklaruje się zmienne.

0

te nawasy nigdy nie są potrzebne , chyba że chcesz żeby zmienna którą zadeklarujesz w casie była dostępna tylko w tym casie wtedy robisz blok i zmienna działa tylko w tym bloku . Gdyby były potrzebne to wtedy break; też musiałby sie w nich znajdować , bo jest opcjonalny i jest częścią instrukcji case'a . zobaczcie gdziekolwiek , te nawiasy nigdy nie były częścią case'a

0

Zgadzam sie z przedmowca.
Deklarujac zmienna przy case miedzy { } bedziesz mial ja jako zmienna lokalna tylko od { do }, jesli tych nawasow nie bedzie to ta zmienna bedzie zmienna lokalna w bloku, ktory okreslaja gdzies tam wczesniej { } np.

foo()
<font color="green">{</span> // zm_lokalna - tylko od tego miejsca

int <font color="green">zm_lokalna</span>;
....
case cos:
<font color="red">{</span> // zm_lokalna2 - od tego miejsca

 int <font color=red>zm_lokalna2</span>;

<font color="red">}</span> // zm_lokalna2 - do tego miejsca
....
<font color="green">}</span> // zm_lokalna - do tego miejsca

Bez nawiaskow przy case zm_lokalna2 bedzie obowiazywac w calej funkcji foo()
Przynajmniej tak jest w standardowych zalozeniach jesli chodzi o c choc niektore kompilatory sybia jakimis warningami :D

Podsumowujac, nie trzeba ale mozna :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1