Тема: Использование компонентов таблиц для работа с двумерным массивом.
Цель работы:Получить практические навыки в использовании компонентов StringGrid для отображения матриц
Краткие сведения:
StringGrid служит для представления текстовых данных в виде таблицы. В TStringGrid вы можете вводить данные, и они там будут сохраняться и отображаться, а в TDrawGrid данные могут вводиться, но за отображение их должен отвечать ваш код. Другими словами, TStringGrid — это сетка строк, a TDrawGrid — это сетка рисунков.
Свойства:
· ColCount — количество колонок в сетке. Оставим так, как есть — 5 штук.
· DefaultColwidth — ширина колонок по умолчанию.
· DefaultDrawing — рисование по умолчанию. Если здесь установлено true, то компонент сам будет отображать введенные данные. Если false, то это придется делать самостоятельно.
· DefaultRowHeight — высота строк по умолчанию. Значение, установленное здесь, достаточно большое, поэтому давайте введем 16. Так сетка будет выглядеть более элегантно.
· FixedCols — количество фиксированных колонок. Они всегда первые, нельзя создать фиксированную колонку в середине сетки. Это можно сделать только самостоятельно.
· FixedRows — количество фиксированных строк. Они всегда первые, нельзя создать фиксированную строку в середине сетки. Это можно сделать только самостоятельно.
· RowCount — количество строк
· Options — настройки сетки. Если дважды щелкнуть левой кнопкой мыши по этому свойству или один раз по квадратику слева от названия свойства, то раскроется большой список дополнительных свойств:
• goEditing — можно ли вводить с клавиатуры данные в сетку (для нашего примера установим в true);.
• goTabs — если здесь установить true, то между ячейками можно путешествовать с помощью клавиши <Tabs>;
• goRowselect — если здесь false, то выделяется только выделенная ячейка (если true, то вся строка);
• goAlwaysShowEditor — если false, то когда вы обратились к ячейке, для ее редактирования нужно нажать <Enter> или <F2>, если true, то как только выделяется ячейка, ее сразу можно редактировать;
• goThumbTracking — будут ли данные прорисовываться, пока пользователь перемещает полосу прокрутки.
У объекта TStringGrid есть еще одно свойство, которое не описано в объектном инспекторе, — Cells. Это свойство — двухмерный массив из строк, в которых хранятся данные, отображаемые в сетке. Чтобы получить доступ к какой-либо ячейке, нужно записатьStringGridl.Cells[номер колонки, номер ячейки].
Нумерация колонок и строк начинается с нуля. Доступ к каждому элементу таблицы происходит через свойство Cell[Col][Row]. Здесь Col – номер столбца, Row – номер строки. Причем 0 £ Col £ ColCount-1, 0 £ Row £ RowCount-1, где свойство ColCount – количество столбцов, свойство RowCount – количество строк.
Примеры использования компонета StringGrid
1. Чтение целого числа из ячейки в строке Row и в столбце Col: