Difference between revisions of "Список"
1>Admin (→Атрибуты и функции) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 10:34, 25 April 2023
![]() | |||||||
---|---|---|---|---|---|---|---|
|
Объект список является универсальным массивом данных, позволяющим хранить как значения любого типа и их текстовые представления, так и иконки для каждого из значений и состояния флажков (для визуальных списков), соответствующих значениям. Списки имеют визуальные эквиваленты -- Список значений и Поле со списком, используются как фильтры в запросах, отчетах и таблицах, позволяют проверить, содержится ли элемент справочника базы данных в выбранных папках этого справочника с учетом любых уровней вложения, используются для блокирования некоторого количества объектов БД (или семафоров) одновременно, обладают рядом других важных возможностей и функций.
Адресация элементов в списке происходит по их индексу (напр. 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. |