77969

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

Лекция

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

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

Русский

2015-02-05

80 KB

3 чел.

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

Для создания списков существуют 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;


 

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

64945. Чингисхан - неожиданный ракурс 1.48 MB
  Основным парадоксальным выводом в историографии евразийцев стал абсолютно новый взгляд на ту роль которую сыграло военно-политическое наследие Чингисхана в русской истории. Правильнее будет однако утверждать что подлинные предпосылки миссии Чингиса заключались не в умах общества а в...
64947. УЧЕНЫЙ ЗОЛОТОЙ ОРДЫ АЛА-ЭД-ДИН ЭННОМАН ЭЛЬХАРЕЗМИ, КАК ПРЕДСТАВИТЕЛЬ ОРДЫНСКОЙ КУЛЬТУРНОЙ ТРАДИЦИИ 46 KB
  В представлении современного образованного человека наличие какой-либо научной деятельности в степных кочевых государствах абсолютно не возможно. Известно что Алаэд Дин Энноман Эльхарезми родился в начале сентября 1259 г. Алаэд Дин Энноман вернулся в Хорезм в 701 г.
64948. «МАМАЕВА ОРДА» 139 KB
  Временная самоизоляция этой провинции происходит на фоне дальнейшего возвышения на политической авансцене золотоордынского государства небезызвестного эмира Мамая. Следует также отметить что в историографии деятельность Мамая характеризуется как правило...
64950. Ярлыки ордынских ханов русским митрополитам 71.5 KB
  Золотоордынские ханы стремясь обеспечить себе поддержку русской церкви давали русскому духовенству льготы которые были строго определены в их льготных имущественных грамотах-ярлыках. Ярлыки освобождали духовенство от поборов в пользу ханов и их ставленников.
64951. ВЕЛИКАЯ ЯСА 549 KB
  В сохранившихся фрагментах Ясы лишь одна статья рассматривающая императорский титул касается этого предмета. Однако одна важная статья относительно наследования была включена в Ясу: У умершего человека не имеющего наследника ничего не изымается в пользу хана...
64952. Поминки - «тыш» в контексте взаимоотношений Руси - России с Золотой Ордой и Крымским юртом 75 KB
  Многие историки тяготели и тяготеют к той точке зрения что изначально поминки являлись подарками позже со второй половины XVI в. слово поминки либо в сочетании с другими терминами либо без них обязательно присутствует в терминологии употреблявшейся русской стороной для обозначения выплат Крымскому ханству...