Diskuze: Ovladanie sipok

Ostatní jazyky Delphi Delphi (Pascal) Ovladanie sipok

Avatar
byzanth25
Člen
Avatar
byzanth25:

Zdravim,
zase vas otravujem s otazkou. Otazka sa tyka eventu FormKeyPress a sipok... pri eventu FormKeyDown funguju vk_left, vk_up... ale kedze Press ma Key zadefinovany ako char tak tu to nefunguje. Skusal som teda ord hodnotu
Enter If Key = #13 then... funguje
Ale ked zadam sipky 25-28 tak tie nefunguju...

Niaka rada alebo riesenie?

 
Odpovědět 27.10.2012 13:48
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na byzanth25
David Čápka:

Nechal bych si vypsat co leze z šipky.

Už jsem toho z Delphi naštěstí dost zapomněl, ale pokud je keypress jak Down a Potom Up, můžeš si pomocí těchto 2 metod udělat vlastní keypress.

Editováno 27.10.2012 13:51
Nahoru Odpovědět 27.10.2012 13:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Зайчик
Člen
Avatar
Odpovídá na byzanth25
Зайчик:

Zkus jiný programovací jazyk :D, a teď vážně s pascalem jsem moc nedělal ale ASCII kódy jsem v C měl vždy jako integer char mefunguje protože to je řetězec znaků, teda pokud tě dobře chápu... navíc šipky a prostě vstupy nějakých kláves (pokud jich je víc) dávej do switche nevím jak se přesně používá switch v pascalu ale místo if key == 13 tak normálně

switch(Key)
{
   case 13: // co se stane když bude klávesa 13
   break;
   case 25: // to je nějaká ta šipka
   break;
   case 28: // taky nějaká šipka
   break;
}

Ve škole jsme taky začali pascal no ale ještě nejsme nějak moc daleko :D teprve nám učitel "parádně" vysvětluje co je to datový typ real xDD
Takhle jak jsme ti to napsal jsem to používal v jazyce C ( v pascalu to bude hodně podobné, možná i stejné)

Nahoru Odpovědět 27.10.2012 13:56
Коммунизм для нашего будущего!
Avatar
Зайчик
Člen
Avatar
Зайчик:

Ahá koukám že jsem trošku mimo mísu :D ale to nevadí možná to tak bude taky fungovat :D

Nahoru Odpovědět 27.10.2012 13:57
Коммунизм для нашего будущего!
Avatar
byzanth25
Člen
Avatar
Odpovídá na David Čápka
byzanth25:

Pokial myslis cez ord tak tam nevylezie zo sipky ziadna odpoved...

A teoreticky by sa to dalo vyriesit tym vlastnym keypressom...

To Jíst nebo Vařit:
Tak vyber jazyka nieje na mne ale mam to dane zadanim do skoly... Case pouzijem skor to bol priklad spojazdnenia aspon jednej sipky...

 
Nahoru Odpovědět 27.10.2012 14:09
Avatar
Зайчик
Člen
Avatar
Odpovídá na byzanth25
Зайчик:

To byl jen takový žertík to s tím jazykem :)

Nahoru Odpovědět 27.10.2012 14:10
Коммунизм для нашего будущего!
Avatar
B@$$teR
Člen
Avatar
B@$$teR:

ja ked som robil so sipkami tak mi to tiez nejako blblo :/ tak som nakoniec dal WSAD ovladanie... niekedy to moze byt jedno, priklad:>

case Key of
  #119:hore:=true;
  #100:pravo:=true;
  #115:dole:=true;
  #97:vlavo:=true;
end;

a toto je velmi dobra vec ked chces zistit co ma aku ord. hodnotu

showmessage(inttostr(ord(key)));

skoda len ze prave na sipky to nefunguje :@

Editováno 13.1.2013 23:50
Nahoru Odpovědět 13.1.2013 23:49
Padá server, přej si něco !
Avatar
Odpovídá na B@$$teR
Luboš Běhounek (Satik):

Šipky v Delphi jsou tuším na číslech 37,38,39,40.

Nahoru Odpovědět 13.1.2013 23:54
:)
Avatar
Luboš Běhounek (Satik):

Přidal jsem sem prográmek (včetně zdrojáků), kterej zobrazuje všechny v tu chvíli stisknutý klávesy i tlačítka myši a funguje i na klávesy CTRL, SHIFT, WIN atd., i na šipky, až mi ho schválí, tak si z něj můžete tu funkci na zjišťování vytáhnout :)

Nahoru Odpovědět 14.1.2013 1:20
:)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.