Tab.Array

From SunFlurry wiki
Jump to: navigation, search
  [<Индекс столбца (INT,STRING)>], [<Индекс столбца (INT,STRING)>,<Индекс строки (INT)>] (Получение или установка значений)
Объект:Таблица
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Чтение и запись
Исключения:Невозможно превратить в строку, число, неверный индекс
Визуальность:Нет

Использование синтаксиса массивов позволяет получить или изменить значение таблицы по индексу (аргументом является число) или наименованию (аргументом является строка) его столбца для текущей строки таблицы, если не задан второй аргумент, иначе для строки таблицы заданной индексом, указанным во втором аргументе. Для таблиц, фрагмент <Таблица>[<Аргумент 1>,<Аргумент 2>,...] не равнозначен фрагменту <Таблица>[<Аргумент 1>][<Аргумент 2>,...], так как в первом случае будут использованы первые два аргумента для нахождения значения внутри таблицы, а во втором случае, всего один аргумент и дальнейшие аргументы будут применены к объекту, полученному из таблицы.

Синтаксис

Tab[<Индекс или наименование столбца (INT,STRING)>,<Индекс строки (INT)>]:<Значение>

Аргументы

  • <Индекс или наименование столбца (INT,STRING)> - Индекс (начинается с единицы) или наименование столбца получаемого или устанавливаемого значения таблицы.
  • <Индекс строки (INT)> - (необязательный аргумент) Индекс (начинается с единицы) строки получаемого или устанавливаемого значения таблицы. Если аргумент отсутствует, будет использована текущая строка таблицы (см. CurLine).

Примеры

//Фрагмент показывает, что разделение индексов массивов для таблиц может изменять способ поиска информации в них
aTab:=Tab.Create("one,two,three");
aTab.AddLine("one,two,three",1,2,3);
aTab.AddLine("one,two,three",2,3,List.Create(11,22,33));
aTab.AddLine("one,two,three",5,6,7);
aTab.AddLine("one,two,three",-1,-2,-3);
aTab.CurLine:=2;

//Будет выведено число 3 (3 столбец, первая строка), соответствует операции Tab.Get(1,3)
Message(aTab[3,1]);
//Будет выведено число 11 (3 столбец, вторая строка (CurLine) дает список, из которого получается первый элемент), соответствует операции Tab.Get(2,3).Get(1)
Message(aTab[3][1]);