Здавалка
Главная | Обратная связь

Поняття бібліотеки процедур та функцій. Бібліотека CRT.



В Турбо Паскалі крім стандартних процедур та функцій мови Паскаль передбачено використання додаткових наборів процедур і функцій, які за своїм призначенням згруповані в окремі бібліотеки (модулі). Наприклад: базові функції для роботи з клавіатурою, звуком та текстовим вводом/виводом на дисплей описані в бібліотеці Crt.

Для того, щоб мати можливість використовувати функції бібліотеки в своїй програмі, необхідно вказати назву цієї бібліотеки в розділі оголошень програми після ключового слова Uses.Якщо таких бібліотек декілька, то їх назви перераховуються, через кому. Розділ Usesприйнято розташовувати одразу за назвою програми і до розділів оголошення констант та змінних.

Наприклад:

ProgramName_90;

UsesCrt, Graph;

Var

i : integer;

r : real;

Begin

{…}

End.

 

 

Програмування клавіатури.

Додаткові можливості для керування клавіатурою в бібліотеці Crtреалізовано за допомогою функцій KeyPressed та ReadKey.

· KeyPressedця функція повертає значення типу Boolean,яке вказує чи була натиснута клавіша клавіатури. Якщо функція повертає True, це означає, що було натискання клавіші, і буфер клавіатури містить відповідну комбінацію символів, не прочитаних програмою. Якщо ж функція повертає False – це означає, що натискання клавіш не було, і буфер клавіатури – пустий. Слід зазначити, що при натисканні клавіш відповідні коди записуються в проміжний буфер, звідки вони потім можуть зчитуватись програмою, цей буфер називається – буфером клавіатури. Буфер клавіатури має фіксовану ємність, і при повному його заповненні нові коди перестають записуватись і комп’ютер видає звуковий сигнал.

· ReadKey – функція, що повертає значення типу Char.Ця функція перевіряє буфер клавіатури, і якщо він не пустий, повертає код першого символу з цього буферу. Якщо ж буфер клавіатури пустий, то функція ReadKey буде очікувати на натиснення будь-якої клавіші.

 

При використанні функції ReadKey –требавраховувати, що при натисканні деяких клавіш, в буфер клавіатури попадає не один, а два символи, наприклад при натисканні F1…F12, клавіш управління курсором (стрілок), Ins, Del, PgUp, PgDn, Home, End у буфер клавіатури записується спочатку символ #0, а потім вже безпосередньо код клавіші. Якщо ж натискається будь-яка алфавітна або цифрова клавіша, то в буфер записується код відповідної латинської літери або цифри.

 

Для прикладу розглянемо програму, яка дозволяє читати і виводити на екран коди будь-яких клавіш. Свою роботу програма завершує при натисканні клавіші Esc з кодом #27.

ProgramName_91;

UsesCrt;

Var

ch : char;

Begin

Repeat

ch := ReadKey; {зчитуємо перший символ}

Write(ch); {виводимо його на екран}

ifch = #0 then Write(’ ’,Ord(ReadKey)); {якщо символ нуль, то зчитуємо наступний і виводимо його на екран через пробіл}

Writeln; {переходимо на новий рядок}

untilc=#27 {якщо код 27 завершуємо роботу}

End.

Таблиця кодів деяких клавіш.

Код Клавіша
Перший символ Другий символ (якщо він є)
  Backspase
  Tab
  Enter
  Пробіл
48…57   0…9
65…90   A…Z
97…122   a…z
Home
Переміщення вгору
PgUp
Переміщення вліво
Переміщення вправо
End
Переміщення вниз
PgDn
Ins
Del
59…70 F1…F12






©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.