"时间序列"接口单元,用来从 EbsScript 访问时间序列计算。
在时间序列中,可以在字段 B4 中输入命令来执行 EbsScript,并选择一个在其中执行计算的工况。
语法是:
ebsscript:"EbsScript-Name";profile:Profile-Id
名称 |
目的 |
参数 |
返回值 |
例子
|
tsGetTableCount |
返回模型中创建的时间序列的数量 |
无参数 |
INTEGER: 模型中创建的时间序列的数量 |
|
tsAddTable |
创建一个新的时间序列 |
无参数 |
INTEGER: 新创建的时间序列的索引 |
|
tsRemoveTable |
删除具有指定索引的时间序列 |
输入: INTEGER: 时间序列的索引 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGetName |
返回具有指定索引的时间序列的名称 |
输入: INTEGER: 时间序列的索引 |
STRING: 时间序列的名称 |
|
tsSetName |
设置具有指定索引的时间序列的默认名称 |
输入: 1.INTEGER: 时间序列的索引 2.STRING: 名称 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGetRowCount |
返回具有指定索引的时间序列的行数(?) |
输入: INTEGER: 时间序列的索引 |
INTEGER: 行数 |
|
tsSetRowCount |
设置具有指定索引的时间序列所需的行数(?) |
输入: 1.INTEGER: 时间序列的索引 2.INTEGER: 所需的行数 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGetColumnCount |
返回具有指定索引的时间序列的列数(?) |
输入: INTEGER: 时间序列的索引 |
INTEGER: 列数 |
|
tsSetColumnCount |
设置具有指定索引的时间序列所需的列数(?) |
输入: 1.INTEGER: 时间序列的索引 2.INTEGER: 所需的列数 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGetCell |
返回具有指定索引的时间序列中的具有指定行和列索引的单元格的内容(?) |
输入: 1.INTEGER: 时间序列的索引 2.INTEGER: 单元格的行索引 3. INTEGER: 单元格的列索引 |
VARIANT: 单元格的内容 |
|
tsSetCell |
在具有指定索引的时间序列中,将具有指定行和列索引的单元格的内容设置为所需的数据内容 |
输入: 1.INTEGER: 时间序列的索引 2.INTEGER: 单元格的行索引 3.INTEGER: 单元格的列索引 4.const VARIANT: 期待的数据内容 |
BOOLEAN:true,如果执行成功,否则为假 |
|
tsCalculate |
对指定索引的时间序列的可选行进行计算 |
输入: 1.INTEGER: 时间序列的索引 2.INTEGER=0: 必须开始计算的行的编号 3.INTEGER=-1: 必须开始计算的行的编号 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsDeleteAutoLines |
删除之前计算中插入的所有行(B 列中的 x)。 |
输入: 1.INTEGER: 时间序列的索引 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsInitHeader |
用指定的索引初始化时间序列的标题单元格 |
输入: 1.INTEGER: 时间序列的索引 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGenerateTimes |
用指定的索引创建时间序列中带有时间戳的单元格 |
输入: 1.INTEGER: 时间序列的索引 2.REAL: 开始时间 3.REAL: 结束时间 4.REAL: 时间间隔 5.BOOLEAN; 如果必须删除多余的行,则为 true,否则为 false |
BOOLEAN: true,如果执行成功,否则为假 |
|
从基于"0"的索引"start_index"开始,搜索时间序列中第一次出现的某个名称(区分大小写),并返回时间序列的索引,如果没有找到该名称则返回 -1:
名称 |
目的 |
参数 |
返回值 |
例子
|
tsFindTableIndex |
如上 |
输入: 1.STRING: 名称 2,BOOLEAN=false:case_sensitive 3.INTEGER=0: start_index |
INTEGER: 时间序列的索引 |
在时间序列计算过程中,下面函数返回时间序列的索引和当前的计算行:
名称 |
目的 |
参数 |
返回值 |
例子
|
tsGetCurrentPosition |
如上 |
输出: 1: INTEGER: var 索引 2: INTEGER: var 行 |
BOOLEAN: true,如果执行成功,否则为假 |
辅助函数,以实现类似 Excel 的坐标来处理单元格:
名称 |
目的 |
参数 |
返回值 |
例子
|
tsIndexColumnToXlColumn |
将默认的列索引转换为 Excel 的列名 |
输入: 1.INTEGER: 时间序列中的列索引 输出: 2.STRING: Excel 中的列名称 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsXlColumnToIndexColumn |
将默认的 Excel 列名转换为列索引 |
输入: 1.STRING: Excel 中的列名称 输出: 2.INTEGER: 时间序列中的列索引 |
INTEGER: 在给定的 STRING 中读取的字符数量 |
|
tsRowColumnToXlPos |
在给定的 STRING 中读取的字符数量 |
输入: 1.INTEGER: 时间序列中的列索引 2.INTEGER: 时间序列中的列索引 输出: 3.STRING: Excel 的位置 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsXlPosToRowColumn |
将默认的 Excel 位置作为 STRING(例如,A26)计算到时间序列中的列和行索引中 |
输入: 1.STRING: Excel 的位置 输出: 2.INTEGER: 时间序列中的行索引 3.INTEGER: 时间序列中的列索引 |
BOOLEAN: true,如果执行成功,否则为假 |
|
tsGetCellXl |
将默认的 Excel 位置作为 STRING(例如,A26)计算到时间序列中的列和行索引中,并为具有指定索引的时间序列调用 tsGetCell 函数 |
输入: 1.INTEGER: 时间序列的索引 2.STRING: Excel 的位置 |
VARIANT: Content of the cell |
|
tsSetCellXl |
将 Excel 默认的位置作为STRING(例如,A26)计算到时间序列中的列和行索引中,并为具有指定的索引的时间序列调用 tsSetCell 函数 |
输入: 1.INTEGER: 时间序列索引 2.STRING: Excel 的位置 3.const VARIANT: 期待的单元格内容 |
BOOLEAN: true,如果执行成功,否则为假 |
应用参见
Ebsilon-菜单 : EbsScript-编辑器 --> EbsScript --> 打开接口单元 --> 时间序列
Unit @TimeSeries;
interface
function tsGetTableCount:integer; internal; function tsAddTable:integer; internal;
function tsRemoveTable( index:integer ):boolean; internal; function tsGetName( index:integer ):string; internal;
function tsSetName( index:integer; name:string ):boolean; internal; function
tsGetRowCount( index:integer ):integer; internal; function tsSetRowCount( index:integer; count:integer ):boolean; internal;
function tsGetColumnCount( index:integer ):integer; internal;
function tsSetColumnCount( index:integer; count:integer ):boolean; internal;
function tsGetCell( index:integer; row:integer; column:integer ):variant; internal;
function tsSetCell( index:integer; row:integer; column:integer; const data : VARIANT ):boolean; internal;
function tsCalculate( index:integer; first_row:integer = 0; last_row:integer = -1 ):boolean; internal;
function tsDeleteAutoLines( index:integer ):boolean; internal; function tsInitHeader( index:integer ):boolean; internal;
function tsGenerateTimes( index:integer; start_time:real; end_time:real; interval:real; delete_remaining_rows:boolean ):boolean; internal;
// 搜索表,以寻找第一次出现的给定名称(无论是否区分大小写),从基于零的索引 "start_index "开始。
// 返回表的索引,如果没有找到名字则返回 -1
function tsFindTableIndex( name:string; case_sensitive:boolean = false; start_index:integer = 0 ):integer; internal;
// 在时间序列计算过程中,下面函数返回时间序列的索引和当前计算的行。
function tsGetCurrentPosition( var index:integer; var row:integer ):boolean; internal;
// 辅助函数,允许使用类似 Excel 的坐标对单元格进行定位
function tsIndexColumnToXlColumn( column:integer; var pos:string ):boolean;
function tsXlColumnToIndexColumn( pos:string; var column:integer ):integer;
function tsRowColumnToXlPos( row:integer; column:integer; var pos:string ):boolean;
function tsXlPosToRowColumn( pos:string; var row:integer; var column:integer ):boolean;
function tsGetCellXl( index:integer; pos:string ):variant;
function tsSetCellXl( index:integer; pos:string; const data : VARIANT ):boolean;