Cześć
Jestem nowy na tym forum, zwracam się do Was z wielką prośbą. Mianowicie, robię prosty program w Turbo Pascalu symulujący pianino, mam do klawiszy z zakresu A..Z przypisane odpowiednie częstotliwości dzięki funkcji ZnakNaDzwiek (dzięki czemu mogłem usunąć tablicę dźwięk, która zawiera to samo co tablica znaki), następnie mam procedurę nagrywanie w której wywołuje procedurę NagrajDzwięk. Problem jest taki, że podczas podawania znaku (readkey) wczytuje mi też znaki spoza zakresu, zastosowałem odpowiedniego if'a jednak nalicza mi klawisze mające te same kody co niektóre litery (np. strzałki, ins, home). Moje główne pytanie do Was brzmi "Jak zrobić aby nie naliczało mi tych klawiszy?". Pod spodem zamieszczam fragment kodu :
{.. Fragment kodu .. }
melodia.ilosc := 1;
repeat
ch := readkey;
ch := Upcase(ch);
if ch = KlawiszESC then
begin
dec(melodia.ilosc);
break;
end;
if ((ch >= KlawiszA) and (ch <= KlawiszZ)) or (ch = KlawiszSpacja) then
begin
NagrajDzwiek(ch);
end;
until (ch = KlawiszESC) or (melodia.ilosc = max);
{.. Fragment kodu .. }
liczę na pomoc, pozdrawiam Langol