Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Основные свойства компонента TstringGrid




Cells(NCol, NRow:Integer): String - определяет содержимое ячейки с табличными координатами (NCol, NRow).

Col: Longint - содержит номер колонки с ячейкой, имеющей фокус ввода.

Row: Longint - содержит номер ряда ячейки, имеющей фокус ввода.

ColCount: Longint - содержит количество колонок таблицы.

RowCount: Longint - содержит количество рядов таблицы.

FixedCols: Integer - определяет количество колонок фиксированной зоны.

FixedRow: Integer - определяет количество рядов фиксированной зоны.

+TgridOption = set of TGridOptions - это множество, далее значения элементов множества

goFixedVertLine - колонки фиксированной зоны разделяются вертикальными линиями;

goFixedHorzLine - ряды фиксированной зоны разделяются горизонтальными линиями;

goVertLine - колонки рабочей зоны разделяются вертикальными линиями;

goHorzLine - колонки рабочей зоны разделяются горизонтальными линиями;

goRowSelect - выделяет все ячейки и запрещает их редактирование;

goEditing - разрешено редактирование ячейки, игнорируется, если включён элемент goRowSelect.

 

Пример 7. Работа с таблицей

В данном примере рассмотрим следующие вопросы.

1. Назначение свойств компоненту TstringGrid

2. Нумерация строк и столбцов фиксированной зоны таблицы

3. Контроль ввода данных в таблицу

4. Формирование массива по данным таблицы, вывод массива

5. Вывод двумерного массива в таблицу

 

1. Назначение свойств компоненту TstringGrid.

1 Object TreeView®StringGrid1 1Object Inspector ®Ì Properties ®

ColCount ® 4 //кол-во колонок с учётом фиксированных

RowCount ® 4 //кол-во рядов

FixedCols ® 1 //кол=во фиксированных колонок

FixedRows ® 1 //кол=во фиксированных рядов

+TgridOption

goVertLine ® True //вертикальные линии

goHoizLine ® True //горизонтальные линии

goEditing ® True //разрешено редактирование ячейки

 

Нумерация строк и столбцов фиксированной зоны таблицы

Нумерация строк и столбцов должна появляться после загрузки формы. Для этого можно использовать событие OnEnter, возникающее после вывода таблицы при загрузке.

1 Object TreeView®StringGrid1 1Object Inspector ®ÌEvents ®

OnEnter (двойной щелчок)

· В цикле нумеруются столбцы [i, 0]

· В цикле нумеруются строки [j, 0]

 

procedure TForm1.StringGrid1Enter(Sender: TObject);

Var I, J: Integer; // счётчики

Begin

With StringGrid1 do // с StringGrid1 выполнить

Begin

For I:=1 To ColCount-1 do // нумерация столбцов

Cells[I,0]:= IntToStr(I);

For J:=1 To RowCount-1 do // нумерация строк

Cells[0,J]:= IntToStr(J);

End;

End;

With StringGrid1
For
Начало
Конец
For
i=1..ColCount-1
Cells[0, j]:= IntToStr(j)
J =1..RowCount-1
Cells[i,0]:= IntToStr(i)
ColCount – кол-во столбцов RowCount – кол-во строк
Схема алгоритма. Нумерация фиксированной зоны procedureTForm1.StringGrid1Enter(Sender: TObject)  

Контроль ввода данных в таблицу

Контроль ввода в таблицу свяжем с событием ввода в ячейки таблицы KeyPress. Убедитесь, что свойство goEditing ® True, в противном случае редактирование невозможно.

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);

Begin

If not (Key in ['0'..'9', '-']) then Key:= #0; // Алфавит целых чисел

End;

Формирование массива по данным таблицы, вывод массива

Установим кнопку Button1. Элементам строкового массива М[i, j] будем присваивать табличные значения Cells[i, j] при одинаковых индексах i и j. Вывод массива будем производить в метку Label1.

 

procedure TForm1.Button1Click(Sender: TObject);

var i, j: Integer; // Счётчики циклов

M: Array [1..3, 1..3] of String; // Массив

Begin

With StringGrid1 do // для StringGrid1 выполнять

For i:=1 to 3 do

for j:= 1 to 3 do

M[i, j]:= Cells[i, j];

With Label1 do // для Label1 выполнять

Begin

Caption:= ''; // Очистка метки

For i:=1 to 3 do

Begin

For j:= 1 to 3 do

Caption:= Caption+ M[i, j] + #9;

Caption:= Caption +#13; // Начать новую строку

end; // For i

end // With

End;

На рисунке приведён результат работы. Обратите внимание на различие в последовательности расположения данных таблицы и массива. В массиве последовательность индексов [i, j] определяют [Строка, Столбец], а в таблице – [Столбец, Строка].





Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 591 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2347 - | 2058 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.