77969

Создание и работа со списками

Лекция

Информатика, кибернетика и программирование

Компонент класса TListBox представляет собой стандартный для Windows список выбора с помощью которого пользователь может выбрать один или несколько элементов выбора. В компоненте предусмотрена возможность программной прорисовки элементов поэтому список может содержать не только строки но и произвольные изображения. Если MultiSelect=Flse совпадает с индексом выделенного элемента TBorderStyle: перечисл Определяет стиль рамки: bsNone нет рамки; bssingle рамка толщиной 1 пиксель Count: Integer; Содержит количество строк в компоненте...

Русский

2015-02-05

80 KB

2 чел.

Создание и работа со списками

Для создания списков существуют 2 компоненты ListBox и ComboBox.

Компонент класса TListBox представляет собой стандартный для Windows список выбора, с помощью которого пользователь может выбрать один или несколько элементов выбора. В компоненте предусмотрена возможность программной прорисовки элементов, поэтому список может содержать не только строки, но и произвольные изображения.Свойства и методы компоненты ListBox (таблица 11):

Таблица 11 -  Свойства и методы компоненты ListBox

Название

Назначение

Свойства

Name:string

Наименование компоненты (по умолчанию ListBox1)

Items: TStrings;

Содержит набор строк, показываемых в компоненте

Itemlndex: Integer;

Содержит индекс сфокусированного элемента. Если MultiSelect=False, совпадает с индексом выделенного элемента

TBorderStyle:

перечисл

Определяет стиль рамки: bsNone - нет рамки; bssingle - рамка толщиной 1 пиксель

Count:

Integer;

Содержит количество строк в компоненте

MultiSelect: Boolean

Разрешает/отменяет выбор нескольких элементов

SelCount:

Integer

Содержит количество выбранных элементов

Selected[X: Integer] : Boolean;

Содержит признак выбора для элемента с индексом х (первый элемент имеет индекс 0)

Sorted: Boolean

Разрешает/отменяет сортировку строк в алфавитном порядке

Методы

Count

Определяет количество элементов  в списке

Clear

Удаляет весь список

Add

Добавляет новый элемент  в список

Delete

Удаляет определённый элемент  из списка

Insert

Вставляет новый элемент в список

LoadFromFile :

TString.

Для загрузки списка из файла

SaveToFile :

TString.

Для сохранения списка в файле

Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов заимствованы у этих компонентов. Существуют пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixed И csOwner DrawVariabie. В первом случае список всегда раскрыт, в остальных он раскрывается после нажатия кнопки справа от редактора (рис. 16). В модификации csDropDownList редактор работает в режиме отображения выбора и его нельзя использовать для ввода новой строки (в других модификациях это возможно). Модификации csOwnerDrawFixed и csOwnerDrawVariable используются программной прорисовки элементов списка. Используемые для этого свойства и методы полностью совпадают со свойствами и методами TListBox аналогичного назначения.

Фактически “своими” у компонента являются лишь свойства и события, связанные с раскрытием списка:

Рис. 16 -  Примеры комбинированных списков

Свойство DropDownCount определяет количество элементов списка, появление которых еще не приводит к необходимости прокрутки списка. По умолчанию это свойство имеет значение 8: если в списке указано 9 и более элементов (т. е. больше, чем содержит DropDownCount), при его раскрытии к окну будет добавлена полоса прокрутки. Свойство DroppedDown определяет, раскрыт ли в данный момент список. Это свойство доступно также для записи, что позволяет программно управлять состоянием списка. Событие OnDropDown происходит при изменении состояния списка.

Наполнение списка ведется методами Add, Append, Insert и т. п. его свойства Items класса TStrings.

Пример 1:  По фамилии в списке вывести его должность.

Поместите  на форму компоненты: 3 Label, ListBox и измените значения их свойств:

Свойство Caption у комконенты Label1 – ‘Список сотрудников’;

Свойство Caption у комконенты Label2 – ‘ ’;

Свойство Caption у комконенты Label3 – ‘Должность’;

Расположите компоненты как показано на рисунке 17 и введите текст программы для событий OnCreate для компоненты Form1 и OnClick для компоненты ListBox:

Рис. 17 -  Пример приложения

procedure TForm1.FormCreate(Sender: TObject);

begin

 ListBox1.Items[0]:='Иванов';

 ListBox1.Items[1]:='Петров';

 ListBox1.Items[2]:='Сидоров';

end;

procedure TForm1.ListBox1Click(Sender: TObject);

var i:byte;

begin

i:= ListBox1.ItemIndex;  // номер выбранного элемента

case i of

0: Label2.Caption:='директор';

1: Label2.Caption:='менеджер';

2: Label2.Caption:='программист';

end;

end;

Пример 2:  Просмотреть или добавить в список нового сотрудника.

Поместите  на форму компоненты: 2 Label, ComboBox, Button, Edit и измените значения их свойств:

Свойство Caption у комконенты Label1 – ‘Список сотрудников’;

Свойство Caption у комконенты Label2 – ‘Введите сотрудника’;

Свойство Caption у комконенты Button1 – ‘Добавить в список’;

Расположите компоненты как показано на рисунке 18  и введите текст программы для событий OnClick для компоненты Button1:

Рис. 18 -  Пример приложения

procedure TForm1.Button1Click(Sender: TObject);

begin

ComboBox1.Items.Add(Edit1.Text);

end;


 

А также другие работы, которые могут Вас заинтересовать

42722. Поняття алгоритму. Блок схема запису алгоритмів 24 KB
  Мета: ознайомитись з поняттям алгоритм розглянути властивості алгоритму способи запису алгоритмів ознайомитись з правилами креслення схем алгоритму. Скласти схему алгоритму для обчислення виразу: Алгоритм последовательность действий приводящая к конкретному результату.
42723. Основы языка С# и знакомство с основными элементами управления C# 430 KB
  В C как и в C C нумерация элементов массива идет с нуля. Естественно что в нашем примере у массива 6 =23 элементов k[00] первый k[12] последний.rry Элемент Вид Описание Length Свойство Количество элементов массива по всем размерностям Rnk Свойство Количество размерностей массива BinrySerch Статический метод Двоичный поиск в отсортированном массиве Cler Статический метод Присваивание элементам массива значений по умолчанию Copy Статический метод Копирование заданного диапазона элементов одного массива в другой массив CopyTo...
42724. Исследование электрических величин двухобмоточного однофазного трансформатора 119 KB
  Исследование электрических величин двухобмоточного однофазного трансформатора. Цель работы: изучить конструкцию однофазного трансформатора описать принцип его действия замерить величины в различных режимах работы в масштабе построить характеристики и векторные диаграммы. б Коэффициент трансформации трансформатора зависит . в В режиме холостого хода с увеличением напряжения коэффициент мощности трансформатора .
42725. Методы классификации основанные на сравнении с эталоном 732 KB
  Поэтому обычно возникает необходимость сократить это число посредством выделения информативных признаков которые предполагаются инвариантными или малочувствительными по отношению к изменениям и искажениям. Результаты измерений признаков отображаются в пространство признаков. В этом случае будут установлены границы областей принятия решений для разделения признаков новых фрагментов подлежащих классификации см. Первая задача заключается в выборе подмножества признаков и их упорядочиванию в заданном множестве измерений.
42726. Строки и регулярные выражения 300 KB
  String Работа с функциями класса StringBuilder Работа с регулярными выражениями. В C есть тип string но класс System. Пример использования: String s= qqq ; int k=s. Пример использования: nmespce test { clss Test { public sttic void Min { String s1= rbour s2= ce s3= zote ; System.
42727. Запільна блок-схема 28.5 KB
  Накресліть схему лінійного алгоритму. Накресліть схему розгалуженого алгоритму. Як конструювати схему алгоритму.
42729. Найти минимальную сумму элементов в строках двумерного массива 58 KB
  Для проверки подлинности работы программы необходимо сверить результаты работы программы и результаты ручного тестирования. Если они сойдутся, то программа выполнена правильно. Для упрощения вычислений заполним массив цифрами
42730. ЛИНЕЙНЫЕ МЕТОДЫ КЛАССИФИКАЦИИ 178.5 KB
  В данной лабораторной работе мы будем рассматривать способ построения линейного решающего правила на основе обучения одного формального нейрона. Модель нейрона Нейрон представляет собой формализованную модель биологического нейрона.4 Простейший нейрон В общем виде функционирование нейрона подчиняется следующему выражению: где: вектор входного сигнала весовой вектор T порог f функция активации. Весовой вектор порог и функция активации определяют поведение нейрона то как он реагирует на входные данные.