Версия: 1.3.1
Несмотря на тот факт, что внутренний язык платформы QSP поддерживает работу с массивами со строковыми ключами, позволяющими в теории реализовывать и таблицы, и многомерные массивы, и деревья и т.п., на деле работать со всем этим… неудобно. Всегда приходится вокруг массива, содержащего структуры данных, дополнительно лепить некую "инфраструктуру": переменные-счетчики, вспомогательные массивы и т.п. А отсутствие в QSP (в версии 5.7.0) операторов цикла делает код для обработки всего этого хозяйства еще более громоздким.
Данный модуль предназначен для работы с таблицами данных (далее — просто "таблицами"), состоящих из именованных колонок и строк, в которых хранятся значения по каждой колонке. Типа такой:
Имя | Здоровье | Раса |
Крокодил | 90 | Варвар |
Арабелла | 77 | Амазонка |
Адельм | 60 | Монах |
Каннибал | 75 | Варвар |
Марина | 77 | Амазонка |
Перечень того, что позволяет делать модуль:
Поскольку для большинства программистов привычнее работать с англоязычными командами, существует соответствующая версия модуля, в которой все операторы и функции даны в англоязычном варианте. Далее по тексту англязычная версия будет обозначаться для краткости как "Версия E".
В документации перечисляются как русскоязычные команды, так и их англоязычные аналоги, однако в описании, параметрах и примерах будут использоваться команды на русском языке.
otg_lib_tables.qsp | Модуль с командами на русском языке. |
otg_lib_tables_eng.qsp | Модуль с командами на английском языке. |
example_tables.qsp | Пример работы с модулем с командами на русском языке. |
example_tables_eng.qsp | Пример работы с модулем с командами на английском языке. |
otg_lib_tables_help.html | Документация по работе с модулем (вы как раз ее читаете) |
Первым делом необходимо подключить к своему проекту сам модуль. Для этого файл модуля нужно скопировать в тот же каталог, в котором находится основной проект, после чего в начало кода проекта добавить команду "ADDQST" (для QSP версии 5.7.0):
Подключение модуля с командами на русском языке:
ADDQST 'otg_lib_tables.qsp'
Подключение модуля с командами на английском языке:
ADDQST 'otg_lib_tables_eng.qsp'
Все локации модуля начинаются с префикса "Таб." ("Table." в версии E), а переменные — с префикса "otg_", поэтому пересечения с данными основного проекта быть не должно.
Таб.Создать | Table.Create | Создает новую таблицу. |
Таб.Текущая | Table.Current | Делает указываемую таблицу "текущей". В последующих командах работы с таблицей вместо параметра "Имя таблицы" можно указывать пустую строку. |
Таб.ДобавитьКолонку | Table.NewColumn | Добавляет колонку к указанной таблице. |
Таб.СоздатьИндекс | Table.CreateIndex | Создает индекс к указанной колонке таблицы. |
Таб.УдалитьИндекс | Table.DestroyIndex | Удаляет существующий индекс. |
Таб.ДобавитьСтроку | Table.NewLine | Добавляет строку к указанной таблице. |
Таб.Установить | Table.SetValue | Присваивает указанное значение заданной ячейке таблицы. |
Таб.Получить | Table.GetValue | Возвращает значение из определенной ячейки таблицы. |
Таб.УдалитьСтроку | Table.DeleteLine | Удаляет строку из таблицы. |
Таб.Сортировать | Table.Sort | Сортирует таблицу по одной или нескольким колонкам. |
Таб.НайтиСтроку | Table.FindValue | Возвращает номер первой найденной по определенному условию строки из таблицы. |
Таб.СлучайнаяСтрока | Table.RandomLine | Возвращает номер случайной строки из таблицы. |
Таб.СтрокуВМассив | Table.LineToArray | Создает массив с указанным именем и заполняет его значениями из указанной строки таблицы. При этом ключи массива будут соответствовать названиям колонок. |
Таб.КоличествоКолонок | Table.ColumnsCount | Возвращает число колонок в таблице. |
Таб.КоличествоСтрок | Table.LinesCount | Возвращает число строк в таблице. Подсчет строк может производится как по всей таблице, так и в соответствии с указанным фильтром. |
Таб.Выбрать | Table.Select | Подготавливает таблицу к последовательному обходу строк. Обход может производится как по всей таблице, так и в соответствии с заданным фильтром. |
Таб.ВНачало | Table.First | Переводит внутренний указатель выборки в самое начало. |
Таб.ВКонец | Table.Last | Переводит внутренний указатель выборки в самый конец. |
Таб.Следующая | Table.Next | Переводит внутренний указатель выборки на следующую строку. |
Таб.Предыдущая | Table.Previous | Переводит внутренний указатель выборки на предыдущую строку. |
Таб.Первая | Table.IsFirst | Возвращает -1, если текущая строка является первой в выборке. |
Таб.Последняя | Table.IsLast | Возвращает -1, если текущая строка является последней в выборке. |
Таб.Значение | Table.Value | Возвращает значение из текущей строки выборки и указанной колонки таблицы. |
Таб.Скопировать | Table.Copy | Копирует данные из одной таблицы в другую. |
Таб.Вывести | Table.Show | Выводит в основное окно содержимое таблицы, используя html-теги. |
Таб.УдалитьСтроки | Table.DeleteLines | Удаляет строки из таблицы. |
Таб.Удалить | Table.Destroy | Удаляет таблицу со всеми вспомогательными массивами, переменными и т.п. |
Создает новую таблицу.
Синтаксис:
GS 'Таб.Создать', <Имя таблицы>, <Перечень колонок>, <Текущая>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. Идентификатор должен соответствовать требованиям QSP к именам переменных. |
Перечень колонок | Необязательный параметр. Строка с перечнем названий колонок, разделенных запятыми. В названиях допускаются пробелы и прочие символы. |
Текущая | Необязательный параметр. Если указать 1, то создаваемая таблица станет "текущей", и в последующих командах вместо параметра "Имя таблицы" можно указывать пустую строку (для краткости кода). По умолчанию 0. |
Пример:
GS 'Таб.Создать', 'Персонажи', 'Имя,Здоровье,Раса', 1
Делает указываемую таблицу "текущей". В последующих командах работы с таблицей вместо параметра "Имя таблицы" можно указывать пустую строку.
Синтаксис:
GS 'Таб.Текущая', <Имя таблицы>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Текущая', 'Персонажи' GS 'Таб.ДобавитьКолонку', '', 'Сила'
Добавляет колонку к указанной таблице.
Синтаксис:
GS 'Таб.ДобавитьКолонку', <Имя таблицы>, <Имя колонки>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Имя колонки | Обязательный параметр. Строка с названием колонки. Может состоять из любых символов. |
Пример:
GS 'Таб.ДобавитьКолонку', 'Персонажи', 'Сила'
Создает индекс к указанной колонке таблицы.
Синтаксис:
GS 'Таб.СоздатьИндекс', <Имя таблицы>, <Имя колонки>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Имя колонки | Обязательный параметр. Строка с названием существующей колонки. |
Пример:
GS 'Таб.СоздатьИндекс', 'Персонажи', 'Имя'
Удаляет существующий индекс.
Синтаксис:
GS 'Таб.УдалитьИндекс', <Имя таблицы>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.УдалитьИндекс', 'Персонажи'
Добавляет строку к указанной таблице.
Синтаксис:
GS 'Таб.СоздатьИндекс', <Имя таблицы>, <Значение колонки 1>, <Значение колонки 2> …
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Значение колонки 1 Значение колонки 2 … Значение колонки N | Необязательные параметры. Значения колонок добавляемой строки. |
Пример:
Если у нас есть таблица "Персонажи" с колонками "Имя", "Здоровье" и "Раса", то следующая команда:
GS 'Таб.ДобавитьСтроку', 'Персонажи', 'Арабелла', 75, 'Амазонка'
Добавит в таблицу строку:
Имя: Арабелла
Здоровье: 75
Раса: Амазонка.
Присваивает указанное значение заданной ячейке таблицы.
Синтаксис:
GS 'Таб.Установить', <Имя таблицы>, <Номер строки>, <Название/номер колонки>, <Значение> GS 'Таб.Установить', <Имя таблицы>, 'id:<ID строки>', <Название/номер колонки>, <Значение> GS 'Таб.Установить', <Имя таблицы>, <Значение индексного поля>, <Название/номер колонки>, <Значение>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
• Номер строки • ID строки • Значение индексного поля |
Необязательный параметр. В качестве данного параметра можно указать либо номер строки, либо ID строки, либо значение индексируемого поля. Номер строки указывается числом. ID строки указывается строкой: "id:Идентификатор", где Идентификатор — ID строки, например "id:17". Строковое значение индекса можно указывать просто строкой, например "Арабелла". Если значение индекса числовое, то его нужно передавать строкой: "index:Значение", например "index:7". Например, если был создан индекс на поле "Имя", то в качестве значения можно передать, например, "Арабелла" — в этом случае нужная строка будет найдена автоматически. |
Название/номер колонки | Обязательный параметр. Номер или название колонки, в которую будет записано значение. |
Значение | Обязательный параметр. Значение, которое нужно записать в ячейку таблицы. |
Пример:
GS 'Таб.Установить', 'Персонажи', 2, 'Здоровье', 15 GS 'Таб.Установить', 'Персонажи', 'id:15', 'Здоровье', 13 GS 'Таб.Установить', 'Персонажи', 'index:7', 'Здоровье', 28 GS 'Таб.Установить', 'Персонажи', 'Арабелла', 'Здоровье', 25
Возвращает значение из определенной ячейки таблицы.
Синтаксис:
func('Таб.Получить', <Имя таблицы>, <Номер строки>, <Название/номер колонки>) func('Таб.Получить', <Имя таблицы>, 'id:<ID строки>', <Название/номер колонки>) func('Таб.Получить', <Имя таблицы>, <Значение индексного поля>, <Название/номер колонки>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
• Номер строки • ID строки • Значение индексного поля |
Необязательный параметр. В качестве данного параметра можно указать либо номер строки, либо ID строки, либо значение индексируемого поля. Номер строки указывается числом. ID строки указывается строкой: "id:Идентификатор", где Идентификатор — ID строки, например "id:17". Строковое значение индекса можно указывать просто строкой, например "Арабелла". Если значение индекса числовое, то его нужно передавать строкой: "index:Значение", например "index:7". Например, если был создан индекс на поле "Имя", то в качестве значения можно передать, например, "Арабелла" — в этом случае нужная строка будет найдена автоматически. |
Название/номер колонки | Обязательный параметр. Номер или название колонки, из которой будет получено значение. |
Пример:
рЗдоровье=func('Таб.Получить', 'Персонажи', 2, 'Здоровье') рЗдоровье=func('Таб.Получить', 'Персонажи', 'id:15', 'Здоровье') рЗдоровье=func('Таб.Получить', 'Персонажи', 'index:7', 'Здоровье') $рРаса=func('Таб.Получить', 'Персонажи', 'Арабелла', 'Раса')
Удаляет строку из таблицы.
Синтаксис:
GS 'Таб.УдалитьСтроку', <Имя таблицы>, <Номер строки> GS 'Таб.УдалитьСтроку', <Имя таблицы>, 'id:<ID строки>' GS 'Таб.УдалитьСтроку', <Имя таблицы>, <Значение индексного поля>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
• Номер строки • ID строки • Значение индексного поля |
Необязательный параметр. В качестве данного параметра можно указать либо номер строки, либо ID строки, либо значение индексируемого поля. Номер строки указывается числом. ID строки указывается строкой: "id:Идентификатор", где Идентификатор — ID строки, например "id:17". Строковое значение индекса можно указывать просто строкой, например "Арабелла". Если значение индекса числовое, то его нужно передавать строкой: "index:Значение", например "index:7". Например, если был создан индекс на поле "Имя", то в качестве значения можно передать, например, "Арабелла" — в этом случае нужная строка будет найдена автоматически. |
Пример:
GS 'Таб.УдалитьСтроку', 'Персонажи', 3 GS 'Таб.УдалитьСтроку', 'Персонажи', 'id:7' GS 'Таб.УдалитьСтроку', 'Персонажи', 'index:9' GS 'Таб.УдалитьСтроку', 'Персонажи', 'Арабелла'
Сортирует таблицу по одной или нескольким колонкам.
Синтаксис:
GS 'Таб.Сортировать', <Имя таблицы>, <Имя колонки> GS 'Таб.Сортировать', <Имя таблицы>, <Имя колонки 1, Имя колонки 2…>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Имя колонки / Перечень колонок | Обязательный параметр. В качестве данного параметра можно указать как имя одной колонки, так и их перечень через запятую. В начале или в конце имени каждой колонки можно указать направление сортировки: + По возрастанию значений (по умолчанию, можно не указывать) - По убыванию значений |
Пример:
GS 'Таб.Сортировать', 'Персонажи', 'Имя' GS 'Таб.Сортировать', 'Персонажи', 'Раса, Здоровье-'
Возвращает номер первой найденной по определенному условию строки из таблицы.
Синтаксис:
func('Таб.НайтиСтроку', <Имя таблицы>, <Название/Номер колонки>, <Операция сравнения>, <Параметр 1>, <Параметр 2>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Название/номер колонки | Обязательный параметр. Номер или название колонки, в которой будет производиться поиск заданного значения. | ||||||||||||||||||||||||
Операция сравнения | Строка с обозначением операции сравнения значений в указанной колонке с переданными параметрами. Возможные операции:
| ||||||||||||||||||||||||
Параметр 1 | Обязательный параметр. Строка или число с которым будет проводится сравнение значений. Для проверки вхождения в список необходимо передать строку со перечнем элементов списка, разделенных запятыми. | ||||||||||||||||||||||||
Параметр 2 | Необязательный параметр. Строка или число, указывающее вторую границу диапазона. |
Пример:
рНомерСтроки=func('Таб.НайтиСтроку','Персонажи','Имя','=','Арабелла')
Возвращает номер случайной строки из таблицы.
Синтаксис:
func('Таб.СлучайнаяСтрока', <Имя таблицы>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
рНомерСтроки=func('Таб.СлучайнаяСтрока', 'Персонажи') GS 'Таб.УдалитьСтроку', 'Персонажи', func('Таб.СлучайнаяСтрока', 'Персонажи')
Создает массив с указанным именем и заполняет его значениями из указанной строки таблицы. При этом ключи массива будут соответствовать названиям колонок.
Синтаксис:
GS 'Таб.УдалитьСтроку', <Имя таблицы>, <Номер строки>, <Имя массива> GS 'Таб.УдалитьСтроку', <Имя таблицы>, 'id:<ID строки>', <Имя массива> GS 'Таб.Получить', <Имя таблицы>, <Значение индексного поля>, <Имя массива>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
• Номер строки • ID строки • Значение индексного поля |
Необязательный параметр. В качестве данного параметра можно указать либо номер строки, либо ID строки, либо значение индексируемого поля. Номер строки указывается числом. ID строки указывается строкой: "id:Идентификатор", где Идентификатор — ID строки, например "id:17". Строковое значение индекса можно указывать просто строкой, например "Арабелла". Если значение индекса числовое, то его нужно передавать строкой: "index:Значение", например "index:7". Например, если был создан индекс на поле "Имя", то в качестве значения можно передать, например, "Арабелла" — в этом случае нужная строка будет найдена автоматически. |
Имя массива | Обязательный параметр. Строка с идентификатором переменной, в которую будут выгружены значения из указанной строки таблицы. |
Пример:
GS 'Таб.СтрокуВМассив', 'Персонажи', 2, 'Герой' GS 'Таб.СтрокуВМассив', 'Персонажи', 'id:5', 'Герой' GS 'Таб.СтрокуВМассив', 'Персонажи', 'index:17', 'Герой' GS 'Таб.СтрокуВМассив', 'Персонажи', 'Арабелла', 'Герой'
Получаем массив:
$Герой['Имя']='Арабелла' Герой['Здоровье']=77 $Герой['Раса']='Амазонка'
Возвращает число колонок в таблице.
Синтаксис:
func('Таб.КоличествоКолонок', <Имя таблицы>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
рВсегоКолонок=func('Таб.КоличествоКолонок', 'Персонажи')
Возвращает число строк в таблице. Подсчет строк может производится как по всей таблице, так и в соответствии с указанным фильтром.
Синтаксис:
func('Таб.КоличествоСтрок', <Имя таблицы>) func('Таб.КоличествоСтрок', <Имя таблицы>, <Название/Номер колонки>, <Операция сравнения>, <Параметр 1>, <Параметр 2>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Название/номер колонки | Необязательный параметр. Номер или название колонки, в которой будет производиться поиск заданного значения. | ||||||||||||||||||||||||
Операция сравнения | Строка с обозначением операции сравнения значений в указанной колонке с переданными параметрами. Возможные операции:
| ||||||||||||||||||||||||
Параметр 1 | Необязательный параметр. Строка или число с которым будет проводится сравнение значений. Для проверки вхождения в список необходимо передать строку со перечнем элементов списка, разделенных запятыми. | ||||||||||||||||||||||||
Параметр 2 | Необязательный параметр. Строка или число, указывающее вторую границу диапазона. |
Пример:
рВсегоСтрок=func('Таб.КоличествоСтрок', 'Персонажи') рВсегоСтрок=func('Таб.КоличествоСтрок', 'Персонажи', 'Здоровье', 'между', 40, 70) рВсегоСтрок=func('Таб.КоличествоСтрок', 'Персонажи', 'Раса', 'в списке', 'варвар, монах')
Подготавливает таблицу к последовательному обходу строк. Обход может производится как по всей таблице, так и в соответствии с заданным фильтром.
Синтаксис:
GS 'Таб.Выбрать', <Имя таблицы> GS 'Таб.Выбрать', <Имя таблицы>, <Название/Номер колонки>, <Операция сравнения>, <Параметр 1>, <Параметр 2>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Название/номер колонки | Необязательный параметр. Номер или название колонки, в которой будет производиться поиск заданного значения. | ||||||||||||||||||||||||
Операция сравнения | Строка с обозначением операции сравнения значений в указанной колонке с переданными параметрами. Возможные операции:
| ||||||||||||||||||||||||
Параметр 1 | Необязательный параметр. Строка или число с которым будет проводится сравнение значений. Для проверки вхождения в список необходимо передать строку со перечнем элементов списка, разделенных запятыми. | ||||||||||||||||||||||||
Параметр 2 | Необязательный параметр. Строка или число, указывающее вторую границу диапазона. |
Пример (обход всей таблицы):
GS 'Таб.Выбрать', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Пример (обход с фильтром):
GS 'Таб.Выбрать', 'Персонажи', 'Раса', 'в списке', 'варвар, монах') :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Переводит внутренний указатель выборки в самое начало. Функция Таб.Следующий
после этого перейдет на первую строку выборки. После выполнения команды Таб.Выбрать
данная операция производится автоматически.
Синтаксис:
GS 'Таб.ВНачало', <Имя таблицы>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' GS 'Таб.ВНачало', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Переводит внутренний указатель выборки в самый конец. Функция Таб.Предыдущий
после этого перейдет на последнюю строку выборки.
Синтаксис:
GS 'Таб.ВКонец', <Имя таблицы>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' GS 'Таб.ВКонец', 'Персонажи' :перебор_строк_таблицы if func('Таб.Предыдущая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Переводит внутренний указатель выборки на следующую строку. Возвращает 0, если достигнут конец выборки. Если указать имя массива, то будет создан массив и в него будут выгружены значения колонок строки.
Синтаксис:
func('Таб.Следующая', <Имя таблицы>) func('Таб.Следующая', <Имя таблицы>, <Имя массива>)
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Имя массива | Необязательный параметр. Строка с идентификатором переменной, в которую будут выгружены значения из указанной строки таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Переводит внутренний указатель выборки на предыдущую строку. Возвращает 0, если достигнуто начало выборки. Если указать имя массива, то будет создан массив и в него будут выгружены значения колонок строки.
Синтаксис:
func('Таб.Предыдущая', <Имя таблицы>) func('Таб.Предыдущая', <Имя таблицы>, <Имя массива>)
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Имя массива | Необязательный параметр. Строка с идентификатором переменной, в которую будут выгружены значения из указанной строки таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' GS 'Таб.ВКонец', 'Персонажи' :перебор_строк_таблицы if func('Таб.Предыдущая', 'Персонажи', 'Герой'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Возвращает -1, если текущая строка является первой в выборке.
Синтаксис:
func('Таб.Первая', <Имя таблицы>)
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL IIF(func('Таб.Первая'),'F',IIF(func('Таб.Последняя'),'L',' '))+' | '+func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Возвращает -1, если текущая строка является последней в выборке.
Синтаксис:
func('Таб.Последняя', <Имя таблицы>)
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи', 'Герой'): *NL IIF(func('Таб.Первая'),'F',IIF(func('Таб.Последняя'),'L',' '))+' | '+func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+$Герой['Имя']+' ('+Герой['Здоровье']+')' JUMP 'перебор_строк_таблицы' end
Возвращает значение из текущей строки выборки и указанной колонки таблицы.
Синтаксис:
func('Таб.Значение', <Имя таблицы>, <Название/номер колонки>)
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Название/номер колонки | Обязательный параметр. Номер или название колонки, из которой будет получено значение. Если указать "Номер строки", то будет возвращен номер текущей строки в выборке. |
Пример:
GS 'Таб.Выбрать', 'Персонажи' :перебор_строк_таблицы if func('Таб.Следующая', 'Персонажи'): *NL func('Таб.Значение', 'Персонажи', 'НомерСтроки')+'. '+func('Таб.Значение', 'Персонажи', 'Имя') JUMP 'перебор_строк_таблицы' end
Копирует данные из одной таблицы в другую.
Синтаксис:
GS 'Таб.Скопировать', <Имя таблицы-источника>, <Имя таблицы-приемника> GS 'Таб.Скопировать', <Имя таблицы-источника>, <Имя таблицы-приемника>, <Название/Номер колонки>, <Операция сравнения>, <Параметр 1>, <Параметр 2>
Параметры:
Имя таблицы-источника | Обязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Имя таблицы-приемника | Обязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Название/номер колонки | Необязательный параметр. Номер или название колонки, в которой будет производиться поиск заданного значения. | ||||||||||||||||||||||||
Операция сравнения | Строка с обозначением операции сравнения значений в указанной колонке с переданными параметрами. Возможные операции:
| ||||||||||||||||||||||||
Параметр 1 | Необязательный параметр. Строка или число с которым будет проводится сравнение значений. Для проверки вхождения в список необходимо передать строку со перечнем элементов списка, разделенных запятыми. | ||||||||||||||||||||||||
Параметр 2 | Необязательный параметр. Строка или число, указывающее вторую границу диапазона. |
Пример:
GS 'Таб.Скопировать', 'Персонажи', 'Головорезы' GS 'Таб.Скопировать', 'Персонажи', 'Головорезы', 'Раса', '=', 'Варвар'
Выводит в основное окно содержимое таблицы, используя html-теги.
Синтаксис:
GS 'Таб.Вывести', <Имя таблицы>, <Скрыть шапку>
Параметры:
Имя таблицы | Необязательный параметр. Строка с уникальным идентификатором таблицы. |
Скрыть шапку | Необязательный параметр. Если задать его любым значением, отличным от нуля, то шапка таблицы выводиться не будет. |
Пример:
GS 'Таб.Вывести', 'Персонажи'
Удаляет строки из таблицы.
Синтаксис:
GS 'Таб.УдалитьСтроки', <Имя таблицы> GS 'Таб.УдалитьСтроки', <Имя таблицы>, <Название/Номер колонки>, <Операция сравнения>, <Параметр 1>, <Параметр 2>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. | ||||||||||||||||||||||||
Название/номер колонки | Необязательный параметр. Номер или название колонки, в которой будет производиться поиск заданного значения. | ||||||||||||||||||||||||
Операция сравнения | Строка с обозначением операции сравнения значений в указанной колонке с переданными параметрами. Возможные операции:
| ||||||||||||||||||||||||
Параметр 1 | Необязательный параметр. Строка или число с которым будет проводится сравнение значений. Для проверки вхождения в список необходимо передать строку со перечнем элементов списка, разделенных запятыми. | ||||||||||||||||||||||||
Параметр 2 | Необязательный параметр. Строка или число, указывающее вторую границу диапазона. |
Пример:
GS 'Таб.УдалитьСтроки', 'Персонажи' GS 'Таб.УдалитьСтроки', 'Персонажи', 'Раса', '=', 'Монах'
Удаляет таблицу со всеми вспомогательными массивами, переменными и т.п.
Синтаксис:
GS 'Таб.Удалить', <Имя таблицы>
Параметры:
Имя таблицы | Обязательный параметр. Строка с уникальным идентификатором таблицы. |
Пример:
GS 'Таб.Удалить', 'Персонажи'
Версия 1.3.1: