Files
csh 13be5ea0aa feat(tsl-api-reference): index class and unit APIs
Migrate reference pages to declaration-line storage and rebuild the
13-column index.

Add qualified member lookup plus regression and end-to-end coverage.
2026-07-29 15:47:46 +08:00

24 KiB
Raw Permalink Blame History

Builtin - 资源 / 文件

readFile(data_type, alias, file_name, pos, length, data)

声明:function

将本地的文件读取出来。文件格式可以是字符流、整数流、实数流、字节流等。

参数 类型 说明
data_type integer 整数类型。参考文件读写类型函数。
alias string 字符串类型。参考目录别名。
file_name string 字符串类型。文件名称。
pos integer 整数类型。读文件的偏移位置,执行结束后将返回新的位置。
length integer 整数类型。需要读入的数据长度,一次读取的最大长度为100w。
data 当读文件执行出错,则存贮错误信息,如果执行正确,则用来存贮读出的数据。如果文件类型为rwRaw或者rwBinary则返回一个长度为Length的字符串或者二进制流,否则,返回一个长度为Length的数组。例如类型为rwReal就是返回一个实数数组。

返回:bool

示例

// 按原始类型读出文件的数据
size := rdo2 fileSize("", "c:\\test.txt"); // 获取文件大小
ret := rdo2 readFile(rwRaw(), "", "c:\\test.txt", 0, size, data);
if ret then
return data;

fileModeToStr()

声明:function

文件模式数值转换成文件模式字符串。仅NG客户端中支持。

返回:string

示例

// 本地存在备份文件c:\test11.txt
attr := rdo2 fileMode("", "c:\\test11.txt");
ret := rdo2 fileModeToStr(attr);
return ret;
// 输出:” A”

zipCompress(zip_alias, zip_filename, alias, filename, path)

声明:function

将文件压缩到ZIP文件中,如果压缩文件不存在,函数会创建一个。ZIP格式的压缩不支持加密。

参数 类型 说明
zip_alias string 字符串,ZIP文件的目录别名
zip_filename string 字符串,ZIP文件名称
alias string 字符串,被压缩文件的目录别名
filename string 字符串,文件名称
path string 字符串,文件在ZIP文件中的路径

返回:bool

示例

// 把文件d:\a.txt压缩到d:\a.zip文件中的/hello/world/a.txt中
zipCompress('', 'd:\\a.zip', '', 'd:\\a.txt', 'hello/world/a.txt');
// 将d:\tmp目录压缩到d:\a.zip文件中
zipCompress('', 'd:\\a.zip', '', 'd:\\tmp', 'test');

zipExtract(zip_alias, zip_filename, alias, path, password)

声明:function

将ZIP文件解压到指定目录

参数 类型 说明
zip_alias string 字符串 ZIP文件的目录别名
zip_filename string 字符串 ZIP文件名称
alias string 字符串,文件解压目录别名
path string 字符串,文件解压路径
password string 字符串,可选参数,加密密码

返回:bool

示例

// 将ZIP文件解压,可以使用ZipExtract函数,例如将d:\a.zip文件解压到d:\tmp目录
zipExtract('', 'd:\\a.zip', '', 'd:\\tmp', '123');

rarExtract(rar_alias, rar_filename, alias, path, password)

声明:function

将RAR文件解压到指定目录

参数 类型 说明
rar_alias string 字符串 RAR文件的目录别名
rar_filename string 字符串 RAR文件名称
alias string 字符串,文件解压目录别名
path string 字符串,文件解压路径
password string 字符串,可选参数,加密密码

返回:bool

示例

// 将RAR文件解压,可以使用RarExtract函数,例如将d:\a.rar文件解压到d:\tmp目录
rarExtract('', 'd:\\a.rar', '', 'd:\\tmp', '123');

listTable()

声明:function

返回用户数据的名称列表(一维数组)。

返回:array

示例

return listTable();
// 输出:如下:

loadTable(name, table_type)

声明:function

提取用户数据,装入用户表,从name指定的位置将数据导出。TableType参数可省略,默认为0;0或省略时表示装入当前用户表,1表示装入系统表,即可导入系统账号system的用户数据。

参数 类型 说明
name string 字符串,数据存储位置的名称
table_type bool 布尔类型,数据类型,可省略,默认为0

返回:any

示例

// 将savetable范例中保存的用户数据testA提取出来
return loadTable('testA');

fileAttrToStr()

声明:function

文件属性数值转换成文件属性字符串。仅NG客户端中支持。

返回:string

示例

// 本地存在备份文件c:\test11.txt
attr := rdo2 fileAttr("", "c:\\test11.txt");
ret := rdo2 fileAttrToStr(attr);
return ret;
// 输出:”A”

strToFileAttr(str)

声明:function

文件属性字符串转换成文件属性数值。仅NG客户端中支持。

参数 类型 说明
str string 字符串类型,文件属性字符串。

返回:integer

示例

str1 := "A";
return rdo2 strToFileAttr(str1);
// 输出:32

strToFileMode(str)

声明:function

文件模式字符串转换成文件模式数值。仅NG客户端中支持。

参数 类型 说明
str string 字符串类型,文件模式字符串。

返回:integer

示例

str1 := "A";
return rdo2 strToFileMode(str1);
// 输出:32

ftCsv()

声明:function

逗号分割文件类型。

返回:integer

ftXls()

声明:function

Excel文件类型。默认会打开EXCEL来读写文件,如果EXCEL未安装,会尝试用文件读写的模式来访问。

返回:integer

ftXls2()

声明:function

支持多表头的Excel文件类型。

返回:integer

ftXls3()

声明:function

Excel文件类型,默认采用文件读写的方式访问,效率高,兼容性稍差,当文件读写的模式无法正确访问,会打开EXCEL来读写文件。

返回:integer

ftStream()

声明:function

天软对象流文件类型。

返回:integer

ftString()

声明:function

天软对象字符串文件类型。

返回:integer

ftXml()

声明:function

XML文件类型。

返回:integer

ftdbf()

声明:function

dbf文件类型。

返回:integer

rwByte()

声明:function

字节流读写类型。读/写字节数组

返回:integer

示例

size := rdo2 fileSize("", "c:\\test.txt"); // 获取文件大小
ret := rdo2 readFile(rwByte(), "", "c:\\test.txt", 0, size, data);
ret := rdo2 readFile(rwRaw(), "", "c:\\test.txt", 0, size, data1);
if ret then
return data1;

rwInt()

声明:function

整数流读写类型。读/写整数数组

返回:integer

rwReal()

声明:function

实数流读写类型。读/写实数数组

返回:integer

rwStr()

声明:function

字符串流读写类型。读/写字符串数组

返回:integer

rwObj()

声明:function

对象流读写类型。读/写对象数组。

返回:integer

rwRaw()

声明:function

原始读写类型。读/写指定长度的字节流。

返回:integer

rwBinary()

声明:function

二进制读写类型。读/写指定长度的字节流。读写的操作使用Binary数据类型。

返回:integer

sysClientInfo()

声明:function

在平台应用可获得客户机信息,这些信息除了客户端收集的有限信息:包括MAC地址/IP/HOSTNAME/操作系统类型以外,还存在其他客户端的信息插件提供的内容,例如一些交易插件会收集交易需要的本地识别码。

返回:array

sysExecName()

声明:function

获得解析器的全路径(包含名称)。

返回:string

示例

// 客户端中本地执行
return rdo2 sysExecName();
// 输出:C: \Program Files\Tinysoft\AnalyseNG.NET\TSExpert.exe
// 本地解析器中运行
echo sysExecName();
// 打印信息:C: \Program Files\Tinysoft\AnalyseNG.NET\TSL.exe

pluginPath()

声明:function

获得解析器的插件目录的全路径(包含名称)。当在WORD里或者EXCEL使用TSL程序的时候,由于宿主程序是WORD,解释器的路径并不在SysExecName下,那么PluginPath的父目录就是解释器的路径。

返回:string

示例

// 客户端中本地执行
return rdo2 pluginPath();
// 输出:C: \Program Files\Tinysoft\AnalyseNG.NET\Plugin\

getlogicdrive()

声明:function

获取本地逻辑驱动器。

返回:integer

示例

return rdo2 getlogicdrive();
// 有C、D盘,结果为12,即0b1100

声明:function

创建一个目标为TargetName名为LinkName的链接。在Linux系统中用的较多。

参数 类型 说明
link_name string 字符串,指定链接生成的路径及连接名。无路径时默认生成在天软安装目录。
target_name string 字符串,文件路径。
hard bool 布尔值,为真表示创建硬链接,否则创建软链接(符号链接)。

返回:bool

示例

范例01:创建硬链接

path := "D:\\test\\test.txt"; // 已经存在的文件
return rdo2 createlink("D:\\test\\txt", path, 1); // 创建一个硬链接
// 输出:创建链接成功,返回1

范例02:创建软链接

path := "D:\\test\\test.txt"; // 已存在的文件
return rdo2 createlink("D:\\test\\txt", path, 0); // 创建一个软链接
// 输出:链接成功,返回1

realpath(name)

声明:function

获取文件真实路径与名称。如果是链接类型文件,或者所处在一个链接目录中,可以得到该文件的真实存贮位置。在Windows上,返回的是一个UNC名称。

参数 类型 说明
name string 字符串,文件路径或链接别名。

返回:string

示例

范例01:获取文件的真实路径

path := "D:\\test\\test.txt";
return rdo2 realpath(path);
// 输出:
// 0

范例02:获取软链接的真实路径

path := "D:\\Links\\soft\\s2";
return rdo2 realpath(path);
// 输出:
// 0

范例03:获取硬链接的真实路径

path := "D:\\Links\\hard\\h1";
return rdo2 realpath(path);
// 输出:
// 0

exportFile(_type, alias, file_name, data, include_header, include_index)

声明:function

将数据导出为文件。支持将INF以及NAN导出到ExcelINF对应为EXCEL的DIV0NAN对应为NA

参数 类型 说明
_type integer
alias string
file_name string
data any
include_header
include_index bool

返回:bool|string

示例

范例01

data := rand(10, 5);
ret := rdo2 exportFile(ftXls(), "", "c:\\test.xls", data);
if ret=1 then return "导出成功";
else return ret; // 出错
// 输出:"导出成功"  (表示数据导出成功,可以在c盘看到test.xls文件)

范例02

// 导出INF及NAN异常数值
data := `array('a': (1, 2, 3), 'b': array(4, 5, 6), 'c': array(1/0, 0.0/0.0, 0));
ret := rdo2 exportFile(ftXls(), '', 'C:\\testdata2.xlsx', data);
if ret=1 then return "导出成功";
else return ret; // 出错
// 结果
// 天软数据:
// 导出到Excel中的数据:

范例03:导出数据为csv格式

t := rand(10, array("A", "B", "C"));
lj := "D:\\Test\\20241204.csv";
r := rdo2 exportFile(ftCsv(), "", lj, t);
return r;

importFile(_type, alias, file_name, data, include_header, include_index, force_single, sheet_name, range)

声明:function

从文件中导入数据。对EXCEL文件自动识别.xls或者.xlsx的文件格式,支持将INF以及NAN导入

参数 类型 说明
_type integer
alias
file_name string
data array
include_header
include_index
force_single bool
sheet_name
range string|integer

返回:bool

示例

范例01

data1 := rand(10, 5);
ret1 := rdo2 exportFile(ftXls(), "", "c:\\test.xls", data1);
if ret1 then
begin
ret2 := rdo2 importFile(ftXls(), "", "c:\\test.xls", data2);
if ret2 then
return data2;
else
return "导出失败";
end
else
return 0;
// 输出:
// 无输出。

范例02

// 导入excel中的INF及NAN
ret := rdo2 importFile(ftXls(), '', 'C:\\testdata.xlsx', data);
if ret then
return data;
else return ret;
// 输出:
// 无输出。
// Excel中的数据:
// 导入到天软中的数据:

范例03

// .xls文件与.xlsx 文件行列最大限制不一样,xls文件最大256列,.xlsx文件最大限制16384
// 列,此处有数据16000列的.xlsx文件,后缀名改为.xls文件,仍可以导入16000列,说明//该函数可以自动识别.xls或者.xlsx的文件格式
ret := rdo2 importFile(ftXls(), '', 'C:\\testdata4.xls', data);
if ret then
return data;
else return ret;
// 结果

范例04:导入csv文件

lj := "D:\\Test\\20241204.csv";
r := rdo2 importFile(ftCsv(), "", lj, t);
return t;

iniWriteBool(alias, file_name, section, ident, value)

声明:function

将BOOL值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将Bool值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value bool 布尔类型。要写入的键值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData9]
bool=1
}
ret := rdo2 iniWriteBool("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata9", "bool", 1);
return ret;
// 输出:0,写入成功
// 文件写入:

iniWriteDate(alias, file_name, section, ident, value)

声明:function

将日期值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将日期值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value tdate 日期类型。要写入的日期值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData2]
date=2014/1/12
}
ret := rdo2 iniWriteDate("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata2", "date", 41651);
return ret;
// 输出:0 ,设置成功
// 文件修改:

iniWriteDateTime(alias, file_name, section, ident, value)

声明:function

将日期时间值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将日期时间值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value tdatetime 日期时间类型。要写入的日期时间值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData3]
datetime=2014/1/12 14: 00: 00
}
ret := rdo2 iniWriteDateTime("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata3", "datetime", 41651.5833334);
return ret;
// 输出:0,修改成功
// 文件修改:

iniWriteFloat(alias, file_name, section, ident, value)

声明:function

将浮点值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将浮点值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value real 浮点类型。要写入的浮点数值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData4]
float=9.9
}
ret := rdo2 iniWriteFloat("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata4", "float", 9.9);
return ret;
// 输出:0,修改成功
// 文件修改:

iniWriteInteger(alias, file_name, section, ident, value)

声明:function

将整数值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将整数值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value integer 整数类型。要写入的整数值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData5]
INT=100
}
ret := rdo2 iniWriteInteger("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata5", "INT", 100);
return ret;
// 输出:0,修改成功
// 文件修改:

iniWriteTime(alias, file_name, section, ident, value)

声明:function

将时间值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将时间值Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value ttime 时间类型。要写入的时间值

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData6]
time=12: 00: 00
}
ret := rdo2 iniWriteTime("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata6", "time", 0.5);
return ret;
// 输出:0,修改成功
// 文件修改:

iniWriteString(alias, file_name, section, ident, value)

声明:function

将字符串值写入INI。如果不存在FileName,或者不存在Section,或者不存在Ident,则其会根据输入的FileNameSectionIdent创建对应的INI文件,INI文件的节名称,INI文件的键名称,并将字符串Value写入到INI文件指定的键

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件的节名称
ident string 字符串类型。INI文件的键名称
value string 字符串类型。要写入的字符串

返回:any

示例

{写本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini
// 设置节内容为:
[IniData7]
String=Hello Tinysoft
}
ret := rdo2 iniWriteString("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "IniData7", "String", 'Hello Tinysoft');
return ret;
// 输出:0,修改成功
// 文件修改:

iniDeleteKey(alias, file_name, section, ident)

声明:function

删除INI中的标识符。

参数 类型 说明
alias string 字符串类型。目录名称
file_name string 字符串类型。INI文件名称
section string 字符串类型。INI文件中的节名称
ident string 字符串类型。INI文件中要删除的键名称

返回:any

示例

{删除本地文件:C: \Program Files\Tinysoft\Analyse.NET\Plugin\test.ini中节Inidata9的键名为bool的内容}
ret := rdo2 iniDeleteKey("",
"C:\\Program Files\\Tinysoft\\Analyse.NET\\plugin\\test.ini", "Inidata9", "bool");
return ret;
// 输出:0,删除成功