Список

From SunFlurry wiki
Jump to: navigation, search
  List.png  List (Список)
Статус разработки: Реализован
Создание объекта: Create
Визуальный эквив.: Список значений, Поле со списком

Объект список является универсальным массивом данных, позволяющим хранить как значения любого типа и их текстовые представления, так и иконки для каждого из значений и состояния флажков (для визуальных списков), соответствующих значениям. Списки имеют визуальные эквиваленты -- Список значений и Поле со списком, используются как фильтры в запросах, отчетах и таблицах, позволяют проверить, содержится ли элемент справочника базы данных в выбранных папках этого справочника с учетом любых уровней вложения, используются для блокирования некоторого количества объектов БД (или семафоров) одновременно, обладают рядом других важных возможностей и функций.

Адресация элементов в списке происходит по их индексу (напр. Get) или строковому представлению (напр. GetByName). Иконки и флажки имеют значение только для визуальных списков, однако, могут использоваться и в программных.

Атрибуты и функции

Идентификатор Статус Тип Визуальная Параметры Описание
[<Индекс элемента (INT,STRING)>] Реализована Атрибут List[<Индекс или наименование элемента списка (INT,STRING)>]:<Значение> Использование синтаксиса массивов позволяет получить или изменить значение элемента списка по его индексу (аргументом является число), либо наименованию (аргументом является строка).
Value Реализована Атрибут
Да
List.Value:<Значение с индексом SelectedLine> Получить значение списка с индексом SelectedLine
SelectedLine Реализована Атрибут
Да
List.SelectedLine:<Выбранная строка (INT)> Получить текущую (выбранную) строку визуального объекта (первая строка=1)
Create Реализована Функция List.Create(<Аргумент 1>,<Аргумент 2>...):<Новый объект (LIST)> Функция возвращает новый объект типа Список, заполняя его переданными аргументами, при их наличии
Add Реализована Функция List.Add(<Значение>,<Строковое представление (STRING)>,<Индекс иконки (INT)>,<Сортировка (INT)>=0):<Позиция добавленного значения (INT)> Функция добавляет к списку значение и присваивает ему строковое представление и иконку, сохраняя сортировку списка при необходимости
AddValue Реализована Функция List.AddValue(<Значение>,<Строковое представление (STRING)>,<Индекс иконки (INT)>,<Сортировка (INT)>=0):<Позиция добавленного или найденного значения (INT)> Функция добавляет к списку значение с его строкововым представлением и иконкой, если оно отсутствовало, иначе список не изменяется.
UpdateValue Планируется Функция List.UpdateValue(<Значение>,<Строковое представление (STRING)>,<Индекс иконки (INT)>,<Сортировка (INT)>=0):<Позиция добавленного или обновленного значения (INT)> Функция добавляет к списку значение с его строкововым представлением и иконкой, если оно отсутствовало, либо обновляет его строковое представление и иконку, сохраняя сортировку списка при необходимости
Insert Реализована Функция List.Insert(<Индекс (INT)>,<Значение>,<Строковое представление (STRING)>,<Количество значений (INT)>) Функция вставляет в список указанное количество одинаковых значений с указанным строковым представлением начиная с позиции, задаваемой индексом
Size Частичная реализация Функция List.Size(<Новый размер списка (INT)>,<Значение инициализации>):<Текущий размер списка (INT)> Функция возвращает размер списка (количество значений в списке), изменяя размер при необходимости, заполняя новые элементы указанным значением или оставляя их пустыми, если значение не указано
Set Реализована Функция List.Set(<Индекс (INT)>,<Значение>,<Строковое представление (STRING)>,<Количество значений (INT)>) Функция заменяет в списке указанное количество значений на значение с указанным строковым представлением начиная с позиции, задаваемой индексом
SetByName Реализована Функция List.SetByName(<Строковое представление (STRING)>,<Значение>,<Сортировка (INT)>=0,<Без учета регистра (INT)>=1) Функция заменяет в списке значение с указанным строковым представлением на указанное, либо добавляет значение, если представление отсутствует
SetName Реализована Функция List.SetName(<Индекс (INT)>,<Строковое представление (STRING)>) Функция устанавливает строковое представление значения списка с указанным индексом
GetByName Реализована Функция List.GetByName(<Строковое представление (STRING)>,<Сортировка (INT)>=0,<Без учета регистра (INT)>=1):<Значение> Функция возвращает значение списка с указанным строковым представлением, либо пустое значение, если представление отсутствует
Get Реализована Функция List.Get(<Индекс (INT)>,<Переменная для строкового представления (STRING,OUT)>):<Значение> Функция возвращает значение списка по указанному индексу, также возвращает строковое представление значения, если второй параметр переменная
GetName Реализована Функция List.GetName(<Индекс (INT)>):<Строковое представление (STRING)> Функция возвращает строковое представление значения списка по указанному индексу
Sort Реализована Функция List.Sort(<Направление сортировки (INT)>=0 (по неубыванию),<Способ сортировки (INT)>=1 (объединением)) Функция производит сортировку списка по значениям указанным способом в указанном направлении
SortByNames Реализована Функция List.SortByNames(<Направление сортировки (INT)>=0 (по неубыванию),<Способ сортировки (INT)>=1 (объединением),<Без учета регистра (INT)>=1) Функция производит сортировку списка по строковым представлениям значений указанным способом в указанном направлении
Remove Реализована Функция List.Remove(<Индекс (INT)>,<Количество значений (INT)>=1) Функция удаляет из списка указанное количество значений начиная с позиции, задаваемой индексом
RemoveValue Реализована Функция List.RemoveValue(<Значение для удаления>,<Сортировка (INT)>=0) Функция удаляет из списка все значения, соответствующие указанному.
Clear Реализована Функция List.Clear() Функция удаляет из списка все значения
Check Реализована Функция List.Check(<Индекс (INT)>,<Новый индекс галочки (INT)>):<Текущий индекс галочки (INT) Функция возвращает текущий индекс галочки значения списка с указанным индексом, затем изменяет индекс, если указан второй аргумент
ToString Реализована Функция List.ToString(<Строка-разделитель (STRING)>):<Строка-результат (STRING)> Функция возвращает все значения списка в виде одной строки, значения будут разделены указанной строкой-разделителем
FromString Реализована Функция List.FromString(<Исходная строка (STRING)>,<Строка-разделитель (STRING)>) Функция заполяет список значениями из указанной строки, значения должны быть разделены указанной строкой-разделителем
Copy Реализована Функция List.Copy():<Новый объект списка (LIST)> Функция создает новый список и заполняет его копиями объектов старого
Find Реализована Функция List.Find(<Значение>,<Начальный индекс поиска (INT)>,<Сортировка (INT)>=0):<Позиция найденного значения или ноль (INT)> Функция производит поиск указанного значения в списке, начиная с определенной позиции (если указана), список может быть предвательно сортирован
FindByName Реализована Функция List.FindByName(<Строковое представление (STRING)>,<Начальный индекс поиска (INT)>,<Сортировка (INT)>=0,<Без учета регистра (INT)>=1):<Позиция найденного значения или ноль (INT)> Функция производит поиск указанного строкового представления в списке, начиная с определенной позиции (если указана), список может быть предвательно сортирован
Move Реализована Функция List.Move(<Индекс элемента (INT)>,<Количество позиций (INT)>) Функция сдвигает значение внутри списка на указанное количество позиций
CopyTo Реализована Функция List.CopyTo(<Объект-результат (LIST,TAB)>,<Индекс первого элемента (INT)>,<Количество элементов для копирования (INT)>,<Имя столбца таблицы для копирования (STRING)>) Функция копирует указанную часть списка в другой объект данных. Объект данных может иметь типы Список или Таблица
Group Реализована Функция List.Group() Функция оставляет в списке только уникальные значения, удаляя дубликаты (даже если их строковые представления отличаются)
DataType Реализована Функция List.DataType(<Новый тип (STRING)>):<Текущий тип (STRING)> Функция возвращает тип данных значений списка, устанавливая новый, если задан (при этом текущие значения приводятся к новому типу)
Combine Реализована Функция List.Combine(<Список для операции (LIST)>,<Тип операции (STRING)>="ADD",<Список сортирован (INT)>=0) Функция выполняет операцию, заданную вторым аргументом, над текущим списком и списком, заданным первым аргументом. Операция выполняется над значениями списков. Результат сохраняется в текущем списке.
CombineByNames Планируется Функция List.CombineByNames(<Список для операции (LIST)>,<Тип операции (STRING)>="ADD") Функция выполняет операцию, заданную вторым аргументом, над текущим списком и списком, заданным первым аргументом. Операция выполняется над представлениями значений. Результат сохраняется в текущем списке.
Contains Реализована Функция List.Contains(<Значение>,<Режим функции (INT)>=0):<0 или 1 (INT)> Функция проверяет, является ли указанный элемент подмножеством списка (с учетом папок для объектов базы данных)
ClearContainsCache Реализована Функция List.ClearContainsCache() Функция очищает сохраненные в буфере значения, используемые для ускорения функции Contains. Следующее обращение к функции Contains будет использовать данные базы данных (если необходимо)
Select Реализована Функция
Да
List.Select(<Значение>,<Режим выбора (INT,FORM)>=см. описание,<Заголовок окна выбора (STRING)>):<Позиция выбранного значения или ноль (INT)> Функция предлагает пользователю визуально выбрать элемент списка в указанном режиме (см. полное описание)
Icon Реализована Функция
Да
List.Icon(<Индекс значения (INT)>,<Новый индекс иконки (INT)>):<Текущий индекс иконки (INT)> Функция возвращает текущий индекс иконки значения, определяемого первым аргументом, затем изменяет иконку, если указан второй аргумент
BackgroundColor Планируется Функция
Да
List.BackgroundColor(<Индекс значения (INT)>,<Новый цвет фона (INT)>):<Текущий цвет фона (INT)> Функция возвращает текущий цвет заднего плана значения, определяемого первым аргументом, затем изменяет цвет, если указан второй аргумент
Font Планируется Функция
Да
List.Font(<Индекс значения (INT)>,<Шрифт (STRING)>):<Текущий шрифт (STRING)> Функция возвращает текущий шрифт значения, определяемого первым аргументом, затем изменяет шрифт, если указан второй аргумент
Lock Реализована Функция
Да
List.Lock() Функция запрещает выполнения обновления визуального списка при любом его изменении до тех пор, пока не будет вызвана функция Unlock. Функция может использоваться перед большим количеством обновлений или заполнении большого списка для получения значительного ускорения операции. Функцию необходимо использовать совместно с конструкцией Try .. Finally для исключения вероятности появления нерабочего списка на форме.
Unlock Реализована Функция
Да
List.Unlock() Функция разрешает запрещенное ранее функцией Lock выполнения обновления визуального списка при любом его изменении. См. функцию Lock.
IsLocked Реализована Функция
Да
List.IsLocked():<Обновление запрещено (INT)> Функция проверяет, запрещено ли в данный момент обновление списка при его изменении, которое инициируется с помощью функции Lock.