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).
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<>'';
hehe az wlaczylem TP i sprawdzilem u mnie trybi
--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.
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.
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
Dzieki Wam wszystkim bardzo, ale mam jeszcze jedno pytanko. Gdzie moge sie dowiedziec jakie numery (np. #13 dla entera) maja poszczegolne klawisze?
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
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.