Использование компонента ListBox
Очистить значения свойств Text текстовых полей. Выполните действия, перечисленные в табл. 30. Чтобы удалить самую первую в списке строку: Обработчик события вычисления суммы чисел: Строка из Editl будет добавляться в ListBoxl. Установка имени формы «Новый проект». Рис. 64. Окно разработанной программы. Описание плана разработки программы. Обработчик события добавления числа: Основные свойства… Читать ещё >
Использование компонента ListBox (реферат, курсовая, диплом, контрольная)
Цель работы — создать программу, которая находит сумму чисел, введенных в ListBox.
Рис. 64. Окно разработанной программы
Описание плана разработки программы
- 1. Откройте новый проект.
- 2. Разместите на форме экземпляры компонентов: Button, Edit, ListBox.
- 3. Выполните действия, перечисленные в табл. 30.
- 4. Напишите обработчик события добавления числа при нажатии на кнопку «Добавить».
- 5. Напишите обработчик события вычисления суммы чисел, помещенных в ListBoxl по нажатию кнопки «Найти сумму».
- 6. Сохраните проект, запустите и протестируйте его.
Таблица 30
Выделенный объект. | Вкладка окна Object Inspector. | Имя свойства / имя события. | Действие. |
Forml. | Properties. | Caption. | Установка имени формы «Новый проект». |
Events. | OnCreate. | Очистить значения свойств Text текстовых полей. |
Выделенный объект. | Вкладка окна Object Inspector. | Имя свойства / имя события. | Действие. |
Buttonl. | Properties. | Caption. | Введите название «Добавить». |
Events. | Onclick. | Строка из Editl будет добавляться в ListBoxl. | |
Button2. | Properties. | Caption. | Введите название «Найти сумму». |
Events. | Onclick. | Вычисляется сумма чисел, помещенных в ListBox. Кнопку Button2 надо нажимать тогда, когда все числа в ListBox уже введены. | |
Editl. | Properties. | Caption. | Очистить значение свойства Text. |
ListBoxl. | Properties. | Height. | Подобрать значение так, что все числа поместились в список (без полос прокруток). Первоначально список пуст. Заполняться он будет при работе программы. |
Фрагмент программы
Обработчик события добавления числа:
procedure TForml. AddButtonClick (Sender: TObject); begin
ListBoxl.Items.Add (Editl.Text) end;
Обработчик события вычисления суммы чисел:
procedure TForml. ActionButtonClick (Sender: TObject); var
Surrij A, i: integer; begin
Sum := 0;
for i := 0 to ListBoxl.Items.Count — 1 do begin
A := StrToInt (ListBoxl.Items[i]);
Sum := Sum + A end;
ShowMessage ('Sum is ' + IntToStr (Sum)) end;
Основные свойства компонента TListBox:
- • Items — коллекция строк;
- • MultiSelect — разрешено ли выделение нескольких строк;
- • Columns — количество колонок;
- • Color — цвет фона;
- • Sorted — сортировка по алфавиту;
Одно из часто используемых действий — добавление строчки:
ListBoxl.Items.Add ('Текст');
Задача: необходимо добавить текст в ListBox из Edit.
Разметим на форме TListBox, TEdit и TButton. Если создать следующее событие у кнопки:
ListBoxl.Items.Add (Editl.Text);
то при нажатии на кнопку, без ввода в Edit, будут добавляться пустые строки. Во избежание этого перед добавлением проверим, пустое ли поле Edit. Если не пустое, добавим следующий код.
// Первый вариант:
procedure TForml. ButtonlClick (Sender: TObject);
begin
if Editl. Text '' then
ListBoxl.Items.Add (Editl.Text);
end;
// Второй вариант:
procedure TForml. ButtonlClick (Sender: TObject);
begin
if Editl. Text '' then Exit;
ListBoxl.Items.Add (Editl.Text);
end;
Exit означает завершение процедуры. Сначала проверяем, написано ли что-нибудь в Editl, и если там ничего не написано, завершаем выполнение процедуры. В результате строчка ListBoxl.Items.Add (Editl. Text); не будет выполнена, а значит, ничего не добавится.
Узнать номер выделенной строчки можно с помощью следующего кода:
ShowMessage (IntToStr (ListBoxl.Itemlndex));
Если ничего не выделено, Itemlndex = -1. Так как в процедуре ShowMessage входной параметр строкового типа, a Itemlndex — целочисленного, необходимо преобразовать целочисленный тип в строковый.
Можно не только получить выделенную строку, но и программно выделить нужную строку. Допустим, нужно выделить вторую строку. Так как нумерация ведется с нуля, то присваиваем не 2, а 1:
ListBoxl.Itemlndex := 1;
Чтобы удалить самую первую в списке строку:
ListBoxl.Items.Delete (0);
Чтобы удалить выделенную строку:
ListBoxl.Items.Delete (ListBoxl.Itemlndex);
Чтобы очистить ListBox, необходимо вызвать функцию: ListBoxl. Clear;