Difference between revisions of "Tab.Copy"

From SunFlurry wiki
Jump to: navigation, search
m (1 revision imported)
1>Admin
Line 6: Line 6:
 
|status=2
 
|status=2
 
|db=0
 
|db=0
 +
|exception=Невозможно превратить в число
 
|visual=0}}
 
|visual=0}}
 
{{HeadLinks|
 
{{HeadLinks|
Line 12: Line 13:
 
* [[Объекты]]
 
* [[Объекты]]
 
* [[Таблица]]}}
 
* [[Таблица]]}}
Функция создает новый объект таблицы и заполняет ее столбцами, строками и значениями из текущей таблицы. Для больших таблиц, подобная операция может занять продолжительное время. Функция может использоваться, когда, к примеру, исходную таблицу необходимо сохранить, однако, требуется также получение группировок таблицы, либо в подобных ситуациях.
+
Функция создает новый объект таблицы и заполняет ее столбцами, строками и значениями из текущей таблицы. Значения скопированы не будут, если первый аргумент равен ''1''. Для больших таблиц, подобная операция может занять продолжительное время. Функция может использоваться, когда, к примеру, исходную таблицу необходимо сохранить, однако, требуется также получение группировок таблицы, либо в подобных ситуациях.
  
 
== Синтаксис ==
 
== Синтаксис ==
 
<code>
 
<code>
{{Grey|Tab.}}'''Copy'''():''<Новая таблица (TAB)>''
+
{{Grey|Tab.}}'''Copy'''({{Optional|<Только создать столбцы (INT)>{{Default|{{Eq}}0}}}}):''<Новая таблица (TAB)>''
 
</code>
 
</code>
 +
 +
==== Аргументы ====
 +
* <code>''<Только создать столбцы (INT)>''</code> - {{Optional}} Если аргумент задан и равен ''1'', будет скопирована только структура столбцов таблицы, строки и значения скопированы не будут.
  
 
==== Возвращаемое значение ====
 
==== Возвращаемое значение ====

Revision as of 10:34, 25 February 2026

  Copy (Копия таблицы)
Объект:Таблица
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число
Визуальность:Нет

Функция создает новый объект таблицы и заполняет ее столбцами, строками и значениями из текущей таблицы. Значения скопированы не будут, если первый аргумент равен 1. Для больших таблиц, подобная операция может занять продолжительное время. Функция может использоваться, когда, к примеру, исходную таблицу необходимо сохранить, однако, требуется также получение группировок таблицы, либо в подобных ситуациях.

Синтаксис

Tab.Copy(<Только создать столбцы (INT)>=0):<Новая таблица (TAB)>

Аргументы

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

Возвращаемое значение

Возвращается таблица, полностью соответствующая текущей, однако, являющаяся новым объектом.

Примеры

//Создается и заполняется таблица значений
aTab:=Tab.Create("b1,b2,b3,b4");

aTab.AddLine("b1,b2,b3,b4",1,2,3,4);
aTab.AddLine("b1,b2,b3,b4",2,2,3,33);
aTab.AddLine("b1,b2,b3,b4",3,5,5,4);
aTab.AddLine("b1,b2,b3,b4",4,2,3,4);
aTab.AddLine("b1,b2,b3,b4",4,2,3,77);
aTab.AddLine("b1,b2,b3,b4",5,2,3,4);

//Создается копия таблицы, новый объект.
bTab:=aTab.Copy();
//Таблица bTab группируется по столбцам b2 и b3, оригинальная таблица aTab не изменяется
bTab.Group("b2,b3","b1,b4");

Message("Таблица aTab:");
aTab.Select();
While aTab.Next() Do
  Message(""+aTab.b1+"; "+aTab.b2+"; "+aTab.b3+"; "+aTab.b4);
EndDo;

Message("Таблица bTab:");
bTab.Select();
While bTab.Next() Do
  Message(""+bTab.b1+"; "+bTab.b2+"; "+bTab.b3+"; "+bTab.b4);
EndDo;

//Будет выведено последовательно:
//"Таблица aTab:"
//"1; 2; 3; 4"
//"2; 2; 3; 33"
//"3; 5; 5; 4"
//"4; 2; 3; 4"
//"4; 2; 3; 77"
//"5; 2; 3; 4"
//"Таблица bTab:"
//"16; 2; 3; 122"
//"3; 5; 5; 4"