русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задание № 2


Дата добавления: 2015-01-16; просмотров: 719; Нарушение авторских прав


Работа с таблицами. Компонент StringGrid.

 

Данная группа компонентов предназначена для просмотра и редактирования данных, представленных в виде прямоугольных таблиц ,состоящих из столбцов и строк ,количество и характеристики которых могут изменяться во время выполнения программы. С помощью соответствующих свойств, реализованных в этих компонентах:

- компонент StringGrid. Компонент для редактирования данных в табличной форме;

- компонент DrowGrid. Компонент для отображения данных в табличной форме;

- компонент ValueListEditor. Компонент для редактирования данных в табличной форме;

Все перечисленные компоненты поддерживают следующие возможности:

· отображение таблиц с возможностью изменения видимой области, если вся информация не может быть одновременно выведена на экран;

· редактирование текстовых значений в ячейках;

· изменение высоты строк и ширины столбцов ,а также изменение их положения в таблице;

· организацию «фиксированных » строк и столбцов, не перемещаемых во время прокрутки видимой области;

· гибкую прорисовку ячеек, что позволяет выводить в ячейки таблицы сложные графические данные.

Компонент StringGrid построен на основе (является наследником) DrowGrid и реализует возможности редактирования текста с его автоматическим сохранением в свойстве Cells , представляющем собой интерфейс к двумерному массиву строковых значений:

 

Property Cells[ACol, ARow: Integer] : String;

 

Данное свойство доступно во время работы программы для чтения и записи. При изменении какого-либо элемента свойства Cells изображение таблицы автоматически обновляется для отображения нового значения:

Заметим также, что возможностью редактирования обладает и компонент DrowGrid, однако информация, введенная пользователем не сохраняется в компоненте, так как для этого не предусмотрено каких-либо свойств. Таким образом ,компонент DrowGrid используется в основном для отображения какой-либо сложной графической информации ,а компонент StringGrid для отображения и редактирования текстовой информации.



 

Компонент TStringGrid предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки, расположен на странице Additional.

 

 

Рисунок 3

 

Таблица делится на две части – фиксированную и рабочую. Фиксированная служит для показа заголовков столбцов/строк и для ручного управления их размерами .Обычно фиксированная часть занимает крайний левый столбец и самый верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных столбцов и строк(если эти свойства имеют 0 ,таблица не содержит фиксированной зоны). Рабочая часть – это остальная часть таблицы. Она может содержать произвольное количество строк и столбцов ,более того, эти величины могут изменяться программно. Рабочая часть может не умещаться целиком в пределах окна компонента ,в этом случае в него автоматически помещаются нужные полосы прокрутки. При прокрутке рабочей области фиксированная область не исчезает, но меняется ее содержимое- заголовки строк и рядов.

 

 

Рисунок 4.

 

Центральным свойством компонента является Cells- двумерный массив ячеек, каждая из которых может содержать произвольный текст. Конкретная ячейка определяется парой чисел – номером столбца и номером строки, на пересечении которых она находится (нумерация начинается с нуля). Свойство cells имеет тип String , поэтому программа может легко прочитать или записать содержимое нужной ячейки. Например:

Cells[1,1]:= ‘левая верхняя ячейка рабочей зоны’;

Количество ячеек по каждому измерению хранит пара свойств Colcount (количество столбцов) и RowCount (количество рядов). Значения этих свойств и, следовательно, размеры таблицы могут менятьс как на этапе разработки программы, так и в ходе ее работы , однако их значения должны быть как минимум на единицу больше соответственно значенйи в свойствах FixedCols и FixedRows? Определяющих размеры фиксированной зоны№ Свойства компоненты представлены в таблице 1.

 

Таблица 1 – Свойства компоненты StringGrid

Название Назначение
Свойства
Name: String Наименование компоненты (по умолчанию StringGrid)
Cell[ACol, ARow:Integer]: String; Определяет содержимое ячейки с табличными координатами (ACol, ARow)
ColCount: Longint Содержит количество столбцов таблицы
EditorMode: Boolean; Разрешает/запрещает редактирование ячеек
FixedColor: TColor; Определяет цвет фиксированной зоны
FixedCols: Integer; Определяет количество столбцов фиксированной зоны
FixedRows: Integer; Определяет количество строк фиксированной зоны
RowCount: Longint; Содержит количество рядов таблицы

 

Пример: Найти сумму всех элементов двумерного массива.

1. Расположить на форме следующие компоненты: StringGrid(Additional), Button, Label, Edit (для вывода результата);

2. Свойства StringGrid, заменить на FixedCols=0(без заголовков строк), FixedRows=0(без заголовков столбцов);

3. Свойства RowCount=4, ColCount=4;

4. Расположите компоненты следующим образом:

5. Напишите следующий обработчик события:

Procedure Form1.Button1Click (Sender: TObject);

Var a : array [0..3, 0..3] of integer;

I, j , s : integer;

Begin

S:=0;

For i:=0 to 3 do

For j:=0 to 3 do

Begin

A[I,j]:=StrToInt (StringGrid1.Cells[I,j]);

S:=s+a[I,j];

End;

Edit1.Text:=IntToStr(s);

End;

 



<== предыдущая лекция | следующая лекция ==>
Задания для самостоятельного выполнения | Задания для самостоятельного выполнения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.161 сек.