Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 5.2. Ввод и обработка массива целых чисел



unit getar_;

Interface

Uses

Windows, Messages, SysUtils, Variants,

Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls;

Type

TForm1 = class(TForm)

Label1: TLabel;

StringGrid1: TStringGrid;

Button1: TButton;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

Var

Form1: TForml;

Implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

Var

a: array [1..5] of integer; // массив

summ: integer; // сумма элементов

sr: real; // среднее арифметическое

i: integer; // индекс

Begin

// ввод массива

// считаем, что если ячейка пустая, то соответствующий

// ей элемент массива равен нулю

for i:= 1 to 5 do

if Length(StringGrid1.Cells[i-1, 0]) <>0

then a[i]:= StrToInt(StringGridl.Cells[i-1,0])

else a[i]:= 0;

// обработка массива

summ:= 0;

for i:=1 to 5 do summ:= summ + a[i];

sr:= summ / 5;

// вывод результата

Label2.Caption:='Сумма элементов: ' + IntToStr(summ)

+ #13+ 'Среднее арифметическое: ' + FloatToStr(sr);

end;

End.

После пробных запусков программы возникает желание внести изменения в процесс ввода массива. Так, было бы неплохо, чтобы курсор автоматически переходил в следующую ячейку таблицы, например, в результате нажатия клавиши <Enter>. Сделать это можно при помощи процедуры обработки события OnKeyPress. На эту же процедуру можно возложить задачу фильтрации вводимых в ячейку таблицы данных. В нашем случае надо разрешить ввод в ячейку только цифр.

Текст процедуры обработки события OnKeyPress приведен в листинге 5.3. Следует обратить внимание на свойство Col, которое во время работы программы содержит номер колонки таблицы, в которой находится курсор. Это свойство можно также использовать для перемещения курсора в нужную ячейку таблицы. Однако нужно учитывать, что колонки таблицы, впрочем, как и строки, нумеруются с нуля.





Дата публикования: 2015-01-14; Прочитано: 166 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.098 с)...