EPCL.exVariantList


Table of Contents

EPCL.exVariantList
Введение
Начало работы
Задание элементов
Способ №1 - простой
Способ №2 - групповой
Получение элементов
Преобразование в текст
Освобождение элементов

Введение

Модуль exVariantList предоставляет одну из важнейших фич библиотеки EPCL - TVariantList.
Это поименованный список вариантов. Это значит, что элементы в нём вместо номеров имеют имена.
EPCL\samples\variant_list

Начало работы


uses 
  exVariantList; //подключить
var
  list: TVariantList; //объявить переменную
begin
  list:=TVariantList.Create(Owner); //создать

Задание элементов

Способ №1 - простой

Для того, чтобы добавить новый элемент в поименованный список вариантов, нужно просто сделать так:
var
  list: TVariantList;
  i: integer;
 
begin
  list:=TVariantList.Create(nil);
  i:=10;
  list['i']:=i;
  list['s']:='silly string';
  list['k']:=1.6;   
 
    (* Общий случай *)
  list['имя_пременной_в_списке']:=myvar_orConst;

Способ №2 - групповой


list.Add( ['d', 'the_d',  'e', 2] );
//         'd':="the_d"   'e':=2

Также возможно добавить элементы при создании
list:=TList.Create( ['x', 1.6] );
//                   'x':=1.6

Получение элементов

Для того, чтобы получить элемент, нужно обратиться к нему по его имени

var
  i: integer;
  s: string;
  k: real;  
begin
  i:=list['i'];
  s:=list['s'];
  k:=list['k'];  

Преобразование в текст


s:=list.AsText;
list.AsText([tlHead, tlBRs, tlNames]);
list.AsText([формат]); //формат аналогичен тому, что в TGenericList
s:=asString(list); //тот же эффект
Таблица значений формата

Освобождение элементов

list.delete('name'); // - освободить и удалить отельный элемент
list.DeleteAll; // - удалить все элементы
list.Free; // - удалить все элементы и сам контейнер
  // при этом память, выделенная под варианты освобождается