Ввод и вывод массивов так же осуществляется поэлементно.
Алгоритм ввода массива
Алгоритм вывода массива
Ввод массива с помощью функции InputBox
procedure TForm1.Button1Click(Sender: TObject);
var i,n:byte;
X:array [1..20] of real;
begin
n:=StrToInt(Edit1.Text);
for i := 1 to n do
X[i]:=StrToFloat(InputBox
('Ввод элементов массива',
'Введите '+IntToStr(i)+ '
элемент','0,00'));
end;
Результатом работы такой подпрограммы будет многократное появление на экране окна ввода:
Вывод с помощью функции MessageDlg:
for i := 1 to n do
MessageDlg('X['+
IntToStr(i)+']='
+FloatToStr(X[i]),
MtInformation,[mbOk],0)
Здесь будет открываться отдельное окно для каждого элемента.
Чтобы у пользователя была возможность просматривать элементы массива одновременно, можно из них сформировать строку, а затем вывести ее, например, на форму или в окне сообщения.
var i,n:byte;
X:array [1..20] of real; S:string;
begin
…
S:='';
for i:=1 to n do
S:=S+FloatToStrF(X[i],
ffFixed,5,2)+' ';
Label2.Caption:=S;
S:='';
for i:=1 to n do
S:=S+FloatToStrF(X[i],
ffFixed,5,2)+chr(13);
MessageDlg(S,MtInformation,
[mbOk],0);
Компонент Таблица
Компонент, называется StringGrid и представляет собой таблицу, ячейки которой предназначены для чтения или редактирования данных.
Компонент находится в группе Additional панели инструментов.
Содержимое ячейки, находящейся в C столбце и R строке.
ColCount
Кол-во столбцов.
RowCount
Кол-во строк.
Cols[Ind]
Элементы столбца с индексом Ind.
Rows[Ind]
Элементы строки с индексом Ind
ColWidtht[Ind]
Ширина столбца с индексом Ind.
RowHeights[Ind]
Высота строки с индексом Ind.
DefaultColWidth
Ширина столбца по умолчанию.
DefaultRowHeight
Высота строки по умолчанию.
GridHeight
Высота таблицы
GridWidth
Ширина таблицы
GridLineWidth
Толщина линий, расчерчивающих таблицу.
Options
Параметры:
goVertLine – наличие вертикальных линий;
goHorzLine – наличие горизонтальных линий;
goColSizing – возможность изменять размер столбца;
goRowSizing – возможность изменять размер строки;
goColMoving – возможность перемещать столбцы;
goRowMoving – возможность перемещать строки;
goEditing – возможность редактировать содержимое таблицы.
ScrollBars
Определяет полосы прокрутки:
ssNone – нет;
ssHorizontal –горизонтальная;
ssVertical –вертикальная;
ssBoth –обе.
ПРИМЕР. Создать программу, с помощью которой можно осуществить ввод массива целых чисел, а затем вывести его в обратном порядке.
Разместим на форме надпись, поле ввода, две таблицы и одну кнопку.
Поле ввода определяет кол-во элементов в будущем массиве.
В первую таблицу будем вводить элементы заданного массива. Во вторую выводить преобразованный массив.
Свойства компонентов
Свойство
StringGrid1
StringGrid2
Height (Высота)
Width (Ширина)
ColCount
(Кол-во столбцов)
RowCount
(Кол-во строк)
Options.goEditing
(Редактировать)
true
false
Щелчок по кнопке Ok вызовет следующую подпрограмму: