Klawisze w Pascalu (?).

0

No wiec mam problem. Chcialbym, aby po wcisnieciu jednego klawisza (np. enter) cos sie dzialo, a po wcisnieciu innego klawisza (np. spacja) dzialo sie cos innego... Czy tak sie da? Blagam, pomozcie. Mowie o Pascalu (Turbo Pascal 7.0).

0

Zapewne sie da. Zrob cos moze w stylu [moze nie dzialac bo dawno TP nie uzywalem, ale idea jest OK :)]

var
Key: Char;
[....]
repeat
Key:=ReadKey;
if Ord(Key)=13 then CosZEnterem;
if Key='l' then CosZMalymL;
{ itp }
until Key&lt&gt'';

hehe az wlaczylem TP i sprawdzilem u mnie trybi

--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.

0

Stwórz pętlę
Var Z:CHar;

{---}
Repeat
If KeyPressed Then
Begin
Z:=ReadKey;
If Z=#0 Then Z:=ReadKey; {Kod Rozszeżony}
If Z=#13 Then {Enter};
If Z=#32 Then {Spacja};
End;

Until KoniecProgramu{Tutaj musi być warunek zakończenia programu np. Z='K'};
--Szymek

Prawo Bolingsa - jeżeli czujesz się świetnie, nie martw się, to minie.

0

Ja mam na to inny sposob moze lepszy moze gorszy no nie wiem:

var znak : char;
int : 0..1;

BEGIN
Writeln('Nacisnij ENTER gdy TAK a ESC gdy NIE.');
znak := readkey;
IF ord(znak) IN [13,27] THEN
BEGIN
CASE znak OF
13 : int := 0; { gdy przycisnieto ENTER (#13) }
27 : int := 1; { gdy przycisnieto ESC (#27) }
END; { Case }
IF int := 0 THEN
BEGIN
Writeln('Nacisnieto ENTER i inne takie');
END
ELSE IF int := 1 THEN
BEGIN
Writeln('Nacisnieto ESC');
END;
ELSE
BEGIN
Writeln(' Nie wybrales klawisza sposorod ENTER i ESCAPE');
END;
END.--GW

0

Dzieki Wam wszystkim bardzo, ale mam jeszcze jedno pytanko. Gdzie moge sie dowiedziec jakie numery (np. #13 dla entera) maja poszczegolne klawisze?

0

Najlepiej sciagnij sobie do tego program to sa kody ASCII i na pewno program taki jest na http://www.pascal.netax.pl w dziale download. --GW

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