for i: = 1 to 5 do
'Сума елементів:' + IntToStr (summ) + # 13 +
'Середнє арифметичне:' + FloatToStr (sr);
end. Після пробних запусків програми виникає бажання внести зміни в процес введення масиву. Наприклад, було б непогано, щоб курсор автомати тично переходив в наступний елемент таблиці, наприклад, в результаті натискання клавіші. Зробити це можна за допомогою процедури обробки події O nKeyPress. На цю ж процедуру можна покласти завдання фільтрації вводяться в елемент таблиці даних. У нашому випадку треба дозволити введення в осередок тільки цифр. Текст процедури обробки події OnKeyPress приведений в лістингу 5.3. Слід звернути увагу на властивість Col, яке під час роботи програми містить номер колонки таблиці, в якій знаходиться курсор. Це властивість можна також використовувати для переміщення курсору в потрібну комірку таблиці. Однак потрібно враховувати, що колонки таблиці, втім, як і рядки, нумеруються з нуля. Лістинг 5.3. Процедура обробки події OnKeyPress
procedure TForm1.StringGridlKeyPress (Sender: TObject; var Key: Char);
# 8, '0' .. '9'. ; // цифри і клавіша
# 13: // клавіша
if StringGrid1.Col then StringGrid1.Col: = StringGrid1.Col + 1; else key: = Chr (0); // інші символи заборонені end; Якщо потрібно ввести масив дробових чисел (a: array [1..5] of real), то процедура обробки події OnKeyPress кілька ускладнитися, т. К. Крім цифр допустимим символом є символ-роздільник (кома або крапка, який - залежить від налаштування Windows) і мінус. З метою забезпечення деякої дружності програми до користувача можна застосувати трюк: підмінити вводиться користувачем невірний роздільник вірним. Визначити, який символ-роздільник допустимо в установленою Windows, можна звернувшись до глобальної змінної DecimalSeparator. У лістингу 5.4 приведений текст модуля програми введення та обробки масиву дрібних чисел. Процедура обробки події OnKeyPress забезпечує введення в осередок таблиці тільки допустимих при записі дробового числа символів. Лістинг 5.4. Введення і обробка масиву дрібних чисел Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls;Схожі статті