Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вопросы и упражнения. 1. Измените программу в примере 4 таким образом, чтобы можно было добавить записи, просмотреть данные по номеру записи




Строковые таблицы

Вопросы и упражнения.

1. Измените программу в примере 4 таким образом, чтобы можно было добавить записи, просмотреть данные по номеру записи.

2. Где объявляется локальные и глобальные типы?

3. Какие операции определены в Delphi для множеств?

4. Как открыть текстовые файлы для добавления записей?

5. Имеется файл со случайными целыми числами. Перепишите этот файл таким образом, чтобы числа в нем были сортированы по возрастанию.

6. Создайте программу “Русско-английский словарь терминов по информатике”.

7. Сохраните в файле всевозможные варианты троек целых чисел, которые составляют стороны египетского треугольника.

 

Компонент StringGrid является наиболее универсальным компонентом Delphi и представляет собой электронную таблицу для работы со строками. Такой элемент Вам знаком из офисных программ, а именно при вставке символов в документы появляется диалоговое окно с таблицей символов. Приведем основные свойства и методы StringGrid.

Таблица 2.17.

Свойства, методы Назначение Свойства, методы Назначение
BorderStyle Стиль бордюра: Font Устанавливает шрифт текста
BsSingle- одинарный GridLineWidth Устанавливает толщину линий сетки таблицы в пикселях.
BsNone – отсутствует Options Устанавливает опции элемента. Посмотрите рисунок за таблицей.
ColCount Устанавливает количество столбцов RowCount Устанавливает количество строк таблицы
Color Устанавливает цвет фона таблицы ScroolBars Устанавливает полосы прокрутки
Cursor Выбор типа курсора мыши: ssBoth – вертикальную и горизонтальную,
CrCross – курсор плюс, ssHorizontal – только горизонтальную,
CrArrow – курсор стрелка, ssVertical – только вертикальную,
CrHelp- курсор стрелка с вопросительным знаком и т.д. ssNone – нет полос прокрутки.
FixedCols Устанавливает количество фиксированных столбцов. ColWidths[i]:=m Устанавливает ширину ячейки в m пикселей
FixedRows Устанавливает количество фиксированных строк. Cells[i,j]:=строку(символ) Посылает в ячейку на пересечении к –ой cтроки и j столбца cтроку(символ).

 

Приведем основные установки(options) элемента StringGrid

Таблица 2.18.

GoFixedVertLine Установить (выключить) вертикальные разделительные линии фиксированных ячеек
GoFixedHorzLine Установить (выключить) горизонтальные разделительные линии фиксированных ячеек
GoVertLine Установить (выключить) вертикальные разделительные ячеек рабочей области
GoHorzLine Установить (выключить) горизонтальные разделительные линии ячеек рабочей области
GoRangeSelect Разрешить(запретить) выбор группы ячеек(блока)
GoRowSizing Разрешить(запретить) выбор высоты строки.
GoColSizing Разрешить(запретить) выбор ширины колонки.
GoRowMoving Разрешить(запретить) перемещение строки.
GoColMoving Разрешить(запретить) перемещение столбца.
GoEditing Включить(выключить) режим редактирования ячеек
goRowSelect Разрешить (запретить) выделение строки.
GoTabs Переход на следующую ячейку при нажатии на кнопку Tab

 

Теперь создадим таблицу для просмотра символов различных шрифтов Windows.

Установим на форме элемент Combobox для отражения списка экранных шрифтов, таблицу с 255 ячейками для отображения символов. Откажемся от бордюра.

В итоге мы имеем следующую форму (см. рис.58).

Приведем код модуля.

unit grid;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, StdCtrls;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

ComboBox1: TComboBox;

procedure FormCreate(Sender: TObject);

procedure ComboBox1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

var j,i,k:byte;

begin

for i:=0 to 24 do stringgrid1.ColWidths[i]:=21;

k:=0;j:=0;

for i:=1 to 255 do

begin

stringgrid1.Cells[k,j]:=char(i);

k:=k+1;

if k>24 then begin k:=0;j:=j+1; end;

end;

combobox1.items:=Screen.Fonts;

combobox1.Text:=combobox1.Items[1];

stringgrid1.Font.Size:=12;

stringgrid1.Font.Style:=[fsbold];

stringgrid1.Font.Name:=combobox1.text;

end;

procedure TForm1.ComboBox1Click(Sender: TObject);

begin

stringgrid1.Font.Name:=combobox1.text;

end;

end.

Приведем несколько кадров (см. рис.59).

Рис.58. Рис.59.

В этом кадре выбран шрифт WingDings3

Приведем второй кадр с другим шрифтом (см. рис.60).

Рис.60.

Теперь рассмотрим методы сохранения таблиц и чтения текстовых файлов.

Для сохранения таблицы Stringrid в файле можно использовать обычное сохранение каждой ячейки или же использовать построчное сохранение таблицы - stringgrid1.Rows[i].SaveToFile('имя файла'). Для чтения файла используется процедура stringgrid1.Rows[i].loadfromfile(‘имя файла’).

Пусть требуется создание проекта для сохранения и для чтения сохраненных таблиц. Установим на форме кнопки, таблицу с десятью строками и 5 столбцами. В окне инспектора объектов определим изменение размера строк, столбцов. За кнопками закрепим сохранение и чтение информации.

Установим следующие значения свойств компонента stingrid1.

Таблица 2.18.

Свойства Значение Свойства Значение
Name Stringgrid1 FixedRows  
ColCount   Option.GoEditing True
Rowcount   Option.GoColSizing True
FixedCols   Option. GoRowSizing True

 

Установим ширину колонок с помощью мыши. В итоге мы имеем следующую заготовку (см. рис.61).

Рис.61.

unit gridls;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Button2: TButton;

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

{чтение из файла}

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;

begin

stringgrid1.Font.Color:=rgb(120,0,0);

for i:=0 to stringgrid1.rowcount do

stringgrid1.rows[i].loadfromfile('tttt.txt');

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

stringgrid1.Font.Size:=14;

stringgrid1.cells[1,0]:='Фамилия';

stringgrid1.cells[2,0]:='курс';

stringgrid1.cells[3,0]:='факультет';

end;

procedure TForm1.Button1Click(Sender: TObject);

{сохранение в файле}

var i:integer;

begin

for i:=0 to stringgrid1.RowCount do

stringgrid1.Rows[i].SaveToFile('tttt.txt');

end;

end.

1. Напишите редактор с использованием компонента Richedit c возможностью вставки символов. Для отображения символов используйте компонент StringGrid.

2. Создайте программу “Классный журнал” c использованием компонента StringGrid.

3. Напишите программу “Личная библиотека” с использованием элемента StringGrid.

4. Создайте каталог любимых музыкальных произведений с использованием элемента StringGrid.

5. Изучите свойство Canvas компонента StringGrid. Как сохранить рисунки компонента StringGrid?

6. Изучите свойство компонента DrawGrid. Определите отличительные свойва таблиц DrawGrid и StringGrid?

 




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


Дата добавления: 2014-01-05; Просмотров: 565; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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