- •12.Списки
- •Interface
- •Implementation
- •13.Модули
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •14.Таблицы
- •Interface
- •Implementation
- •15.Графика, отображение графиков функций
- •Interface
- •Implementation
- •Initialization
- •16.Графика, примитивы
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Initialization
- •17.Графика, растровые изображения и анимация
- •Interface
- •Implementation
- •Initialization
- •Interface
- •Implementation
- •18.Тестирование и отладка
- •19.Квадратное уравнение
- •Interface
- •20.Класс tThread
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •21.Класс tStream
- •Interface
- •Implementation
- •Initialization
- •Interface
- •Implementation
- •Initialization
- •22.Создание в Delphi кроссплатформенного приложения
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Prg_12__1: TForm_1;
Implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:='';
Edit1.SetFocus;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ComboBox1.Items.Add(Edit1.Text);
Edit1.Text:='';
Edit1.SetFocus;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ComboBox1.Items.Insert(comboBox1.ItemIndex,Edit1.Text);
Edit1.Text:='';
Edit1.SetFocus;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ListBox1.Items.Add(ComboBox1.Items[ComboBox1.ItemIndex]);
end;
end.
После заполнения панелей компонентами форма примет вид Error: Reference source not found. Окно Дерево объектов приобретает вид, показанный на Error: Reference source not found. Проверьте по нему правильность введенных компонент, их имена и иерархию.
рис. 12.3. Дерево объектов после заполнения формы компонентами
Сохраним проект в папке с именем 12_1. Для этого вызовем команду Файл => Сохранить Проект Как, которая приводит к появлению диалогового окна. В нем нужно попасть в нужную папку и сохранить проект. При сохранении проекта приложения необходимо сохранять проект (с именем Prg_12_1) и модуль формы (с именем Prg_12_1_).
Проверим программу в работе. Запускаем программу командой Выполнить. Возникает окно приложения.
Инициализация. Кнопкой Инициализация очищаем Edit1 и передаем ему фокус ввода. Курсор появляется в поле ввода Edit1.
Заполнение списка ComboBox. Для каждой строки в редакторе Edit1 заносим текст, кнопкой Принять в ComboBox переносим его в список. Повторяем операцию нужное число раз. Каждый раз проверяем список ComboBox, убеждаясь в появлении новой строки в конце.
Редактирование. В редакторе Edit1 заносим строку текста для ввода в произвольно выбираемую позицию. В ComboBox выделяем позицию для ввода, ее текст перемещается в верхнюю строку редактирования.
Копирование. В ComboBox выделяем позицию для копирования, ее текст перемещается в верхнюю строку редактирования. Кнопкой Копировать в ListBox переносим строку в ListBox. Каждый раз наблюдаем ListBox, чтобы убедится в появлении там новой строки в очередной позиции.
Выводы
Списки используются для выбора элементов из большого набора.
В ИСР Delphi определены несколько компонент списков:
ListBox - простой список строк текста для выбора без редактирования.
ComboBox - комбинированный список строк текста с возможностью выбора и редактирования.
ComboBoxEx - расширенный комбинированный список строк с отображением в строках текста и значков.
Все списки содержат массив строк текста, для которых применяются свойства:
Items(Index) - массив строк текста с номером Index. Нумерация с 0.
ItemIdent - номер выделенного элемента.
Count - число элементов в списке.
Capacity - максимальное число элементов в списке.
Для работы со списками доступны методы:
Add - добавляет элемент в конец списка.
Insert(Index,Item) - добавляет элемент Item в позицию с номером Index. Список переиндексируется.
Delete (Index) - удаляет элемент с номером Index. Список переиндексируется.
Clear - очищает список. Делает Count=0, Capacity=0.
Exchange(Index1, Index2) - меняет местами элементы с номерами Index1 и Index2.
Move(CurIndex, NewIndex) - перемещает элемент из текущей позиции CurIndex в новую позицию NewIndex.
Список ComboBox может отображаться в полной и краткой формах. В первом случае отображаются строка редактирования и список для выбора. Во втором случае список выбора выпадающий, отображается по требованию.