# 运行时 / 文件与目录 ## `createDir(alias, dir_name)` 创建目录。如果本地不存在该目录,可创建目录;如果该目录已存在,则创建失败,返回0。 | 参数 | 类型 | 说明 | | ---------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `dir_name` | string | 字符串类型。创建的目录名。 | 返回:bool ## `exportFile(filename, arg2, arg3, data)` 文件访问函数相关函数。 | 参数 | 类型 | 说明 | | ---------- | ------ | ---- | | `filename` | int | | | `arg2` | string | | | `arg3` | string | | | `data` | array | | 返回:string ## `fileAge(alias, file_name)` 取得文件的时间。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:int ## `fileAttr(alias, file_name)` 取得文件的属性。该值是各种属性的和,可以参考WINDOWS API。 值 说明 32(0x20) 备份文件 2048(0x800) 压缩文件 64(0x40) 系统保留属性 16(0x10) 目录 16384 (0x4000) 加密文件或目录 2 (0x2) 隐藏的文件或目录 32768 (0x8000) 文件完整性 128 (0x80) 常规文件 8192 (0x2000) 非索引文件 131072 (0x20000) 不扫描的数据文件 4096 (0x1000) 离线文件,主要是共享文件可在脱机状态下使用 1 (0x1) 只读文件 1024 (0x400) 符号链接文件 512 (0x200) 稀疏文件,文件中出现大量的0数据 4 (0x4) 操作系统文件 256 (0x100) 临时文件 65536 (0x10000) 虚拟属性,系统保留属性 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:int ## `fileCopy(src_alias, src_name, dest_alias, dest_name, fail_if_exists)` 文件拷贝。注:目标文件名的路径必须存在,否则会复制不成功。 | 参数 | 类型 | 说明 | | ---------------- | ------ | -------------------------------------------- | | `src_alias` | string | 源文件目录别名,字符串类型。参考目录别名。 | | `src_name` | bool | 源文件名,字符串类型。源文件名。 | | `dest_alias` | string | 目标文件目录别名,字符串类型。参考目录别名。 | | `dest_name` | string | 目标文件名,字符串类型。源文件名。 | | `fail_if_exists` | string | object | 返回:bool ## `fileDateToDateTime(filename)` 日期时间处理函数。 | 参数 | 类型 | 说明 | | ---------- | ---- | ---- | | `filename` | int | | 返回:datetime ## `fileDelete(alias, file_name)` 删除文件。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:bool ## `fileExists(alias, file_name)` 判定文件是否存在。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:bool ## `fileInfo(alias, name)` 获取指定文件基本信息。 | 参数 | 类型 | 说明 | | ------- | ------ | ---------------------------------- | | `alias` | string | 字符串,目录别名,可传入空字符串。 | | `name` | string | 字符串,文件路径。 | 返回:array ## `fileList(alias, file_name)` 列出目录。 | 参数 | 类型 | 说明 | | ----------- | ------ | ---------------------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。查找的文件名称,支持通配符。 | 返回:array ## `fileMode(alias, file_name)` 获取文件模式数值。此函数在Windows上与FileAttr表现一致,具体可以参考FileAttr中的相关说明。在Linux上采用Linux的原始定义。仅NG客户端中支持。 | 参数 | 类型 | 说明 | | ----------- | ------ | ---- | | `alias` | string | | | `file_name` | string | | 返回:int ## `fileMove(src_alias, srcname, dest_alias, destname, flag, return_value)` 文件移动,指定的目标路径必须已存在(路径不存在时,移动失败),移动成功后,原文件不再存在,只在目标路径中保存。 相比filerename而言支持跨卷移动。 | 参数 | 类型 | 说明 | | -------------- | ------------------------------------------------ | --------------------------------- | | `src_alias` | string | 源文件目录别名,参考FAQ:目录别名 | | `srcname` | int | 源文件名 | | `dest_alias` | string | 目标目录别名 | | `destname` | string | 目标文件名 | | `flag` | string | 可选参数,移动模式。 | | `return_value` | 不支持跨卷移动,目标文件已存在时移动失败,默认值 | object | 返回:bool ## `fileRename(alias, file_name, new_name)` 文件更名,也可用于文件的移动(大多数情况下不支持跨卷移动)。 | 参数 | 类型 | 说明 | | ----------- | ------ | ------------------------------ | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | | `new_name` | string | 字符串类型。更名后的文件名称。 | 返回:bool ## `fileSize(alias, file_name)` 取得文件大小。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:int ## `fileTime(alias, file_name)` 取得文件的最后更新时间。 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | 返回:datetime ## `getDeviceFree(alias, name)` 获取指定路径所在设备的剩余存储空间信息。 | 参数 | 类型 | 说明 | | ------- | ------ | ---------------------------------- | | `alias` | string | 字符串,目录别名,可传入空字符串。 | | `name` | string | 字符串,文件路径 | 返回:array ## `getdeviceinfo(alias, name)` 获取指定路径所在设备的存储空间等信息。 | 参数 | 类型 | 说明 | | ------- | ------ | ---------------------------------- | | `alias` | string | 字符串,目录别名,可传入空字符串。 | | `name` | string | 字符串,文件路径 | 返回:array ## `importFile(filename, arg2, arg3, data2)` 文件访问函数相关函数。 | 参数 | 类型 | 说明 | | ---------- | ------ | ---- | | `filename` | int | | | `arg2` | string | | | `arg3` | array | | | `data2` | bool | | 返回:bool ## `readFile(filename, arg2, arg3, arg4, size, data)` 文件访问函数相关函数。 | 参数 | 类型 | 说明 | | ---------- | ------ | ---- | | `filename` | int | | | `arg2` | string | | | `arg3` | int | | | `arg4` | int | | | `size` | string | | | `data` | int | | 返回:bool ## `removeDir(alias, dir_name)` 删除目录。只能删除空目录;如果要删除的目录下有文件,删除失败。 | 参数 | 类型 | 说明 | | ---------- | ------ | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `dir_name` | string | 字符串类型。创建的目录名。 | 返回:bool ## `setFileAge(alias, file_name, age)` 设置文件的时间。 | 参数 | 类型 | 说明 | | ----------- | ------ | ---------------------------------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | int | 字符串类型。文件名称。 | | `age` | string | 整数类型,该参数可以用DateTimeToFileDate转换转换获取 | 返回:int ## `setFileAttr(alias, file_name, attr)` 设置文件的属性。 | 参数 | 类型 | 说明 | | ----------- | ------ | ----------------------------------------------------------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | | `attr` | any | 整数类型,文件的属性,为各种文件属性的和,可以参考WINDOWS API,详见FileAttr。 | 返回:any ## `setFileMode(alias, file_name, mode)` 设置文件的模式。仅NG客户端中支持。 | 参数 | 类型 | 说明 | | ----------- | ------ | ---- | | `alias` | string | | | `file_name` | int | | | `mode` | any | | 返回:int ## `setFileTime(alias, file_name, time)` 设置文件的时间。 | 参数 | 类型 | 说明 | | ----------- | -------- | -------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | datetime | 字符串类型。文件名称。 | | `time` | string | 日期类型,文件时间 | 返回:int ## `TS_ModuleInfo(n)` 返回进程以及TSLInterp.dll的时间以及大小信息。如果有系统权限信息,用TS_ModuleInfo(1)返回所有模块的文件名和时间。 | 参数 | 类型 | 说明 | | ---- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `n` | any | 整型,获取系统信息类型;无参或为0时,返回进程以及TSLInterp.dll的时间以及大小信息;为1时,若有系统权限信信息,则返回所有模块的文件名和时间 | 返回:array ## 用户和函数相关函数 ## `writeToLog(dir, sub_dir, value)` 向虚拟目录写日志。其中Dir为虚拟目录名,SubDir为文件名,成功写入日志后,会生成命名为’SubDir’+写入日期+’.log’的TXT文件,文件内容为写入时间->Value。用户使用其应当申请好服务器权限。 20250512升级:优化多个线程同时写入时存在丢失情况: 1、增加重试次数,重试20次间隔0.5秒。 2、增加返回内容。 注意:在极端情况下(超多多线程下同时写入)可能还会存在写入失败情况,此时可通过返回结果继续处理 | 参数 | 类型 | 说明 | | --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- | | `dir` | string | 字符串,虚拟目录别名,一般在安装目录\Tinysoft\Analyse.NET\Plugin\filemgr.ini中进行配置。如果没有配置别名,该参数赋值为空字符""。 | | `sub_dir` | string | 字符串,文件名 | | `value` | string | 字符串,需要写入日志的内容 | 返回:any ## 网络访问以及相关函数 ## `ImportantItems_Call(stock_arr, end_t, sort_by, return_number)` 上市公司最新主要财务指标排行。 | 参数 | 类型 | 说明 | | --------------- | -------- | ------------------------------ | | `stock_arr` | array | 数组。股票列表。 | | `end_t` | datetime | 整数。报告期。 | | `sort_by` | any | 整数。排序字段,取值如下: | | `return_number` | any | 整数。返回个数,-1时返回全部。 | 返回:array ## `fl_ImportFile(import_type, id)` ImportFile函数教学函数。导入保存类型为importType的指定ID证券数据文件。若文件不存在则返回'file not exist',若文件导入失败则返回'Import file fail'。其中虚拟目录名为'testdir',用户应申请服务器权限并且建立好该虚拟目录。 | 参数 | 类型 | 说明 | | ------------- | ------ | ---------- | | `import_type` | any | 用户自定义 | | `id` | string | 证券 | 返回:any ## `fl_WriteFile(b_kname, t)` WriteFile函数教学函数。将指定板块BKname的每一只股票在指定日T的行情数据保存到虚拟目录'testdir'下的'HqData.dat'文件,写出成功则返回'convert finished'。用户应申请好服务器权限,并建立好虚拟目录'testdir'。 | 参数 | 类型 | 说明 | | --------- | -------- | -------- | | `b_kname` | string | 系统板块 | | `t` | datetime | 日期 | 返回:any ## `fl_ExportFile(export_type, id, t)` Export函数教学函数。将指定股票ID的历史报告期十大股东序列数据以exportType文件形式导出到虚拟目录'testdir'下,若导入成功则返回'export success',否则返回'export fail!'。用户应当申请好服务器权限,并建立好虚拟目录'testdir'。 | 参数 | 类型 | 说明 | | ------------- | ------ | ---------- | | `export_type` | any | 用户自定义 | | `id` | string | 证券 | | `t` | any | 日期 | 返回:string ## `ft_Expression2_3(l1)` 表达式函数教学函数。返回指定股票在指定日180个序列的L1乖离率,与系统参数(股票,周期,时间,复权相关) | 参数 | 类型 | 说明 | | ---- | ---- | ---- | | `l1` | any | 整数 | 返回:any ## `ft_Expression1()` 表达式教学函数。返回当前股票收盘价的5个周期的平均值,与当前系统参数(股票,时间,周期)相关。 返回:float ## `readExcelSheets(alias, file_name, sheets_name, use_ole)` 从Excel文件中读出Sheets列表。 | 参数 | 类型 | 说明 | | ------------- | ---------- | -------------------------------------------------------------------------------- | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | | `sheets_name` | array | 返回值。存贮读出的SHEETS名称,存贮为一个一维字符串数组。 | | `use_ole` | bool=false | 布尔型。是否使用Excel来读取,默认直接采用读文件的方式。设置为真则要求安装Excel。 | 返回:bool ### 示例 ```tsl // 读取本地文件的sheet列表名 rdo2 readExcelSheets('', 'd:\\test\\test.xls', r, 0); return r; // 结果:array("Sheet1","Sheet2","Sheet3") ``` ## `exportFile2(_type, alias, file_name, data, include_header, include_index, sheet, range)` 将数据导出到指定Sheet、指定数据位置Range的excel文件,仅支持Type类型为ftxls()的,为了兼容其他类型,如果输入的类型是非ftxls()的,则执行exportfile导出数据且无法指定Sheet和Range。注:导出时对应的excel文件需要关闭。 | 参数 | 类型 | 说明 | | ---------------- | ------ | ----------------------------------------------------------------- | | `_type` | | 整数类型。参考导入导出类型函数。 | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | | `data` | | 数据,需要导出的数据。 | | `include_header` | bool | 布尔类型。为真时导出的文件包含字段头部信息。缺省时候为真。 | | `include_index` | bool | 布尔类型。为真时导出的文件包含数组下标信息。缺省时候为假。 | | `sheet` | string | 字符串类型,指定Sheet。 | | `range` | string | 字符串类型,指定单元格,如:”A1”表示要把数据导出到A1开始的单元格。 | 返回:integer|string ### 示例 ```tsl // 导出10 * 5全1矩阵,到C: \\test.xlsx 文件的Sheet3,C2单元格。 data := ones(10, 5); ret := rdo2 exportFile2(ftXls(), "", "C:\\test.xlsx", data, 1, 0, "Sheet3", "C2"); return ret; // 结果:1 (表示数据导出成功,可以在c盘看到test.xlsx文件) ``` ## `importFile2(_type, alias, file_name, data, include_header, include_index, force_single, sheet, range)` 导入excel中指定Sheet的内容,可选择指定数据范围Range。仅支持Type类型为ftxls()的,为了兼容其他类型,如果输入的类型是非ftxls()的,则执行importfile导入数据且无法指定数据位置Range。 | 参数 | 类型 | 说明 | | ---------------- | ------- | ------------------------------------------------------------------------------------------------ | | `_type` | integer | 整数类型。参考导入导出类型函数。 | | `alias` | string | 字符串类型。参考目录别名。 | | `file_name` | string | 字符串类型。文件名称。 | | `data` | bool | 变参返回,存贮导入的数据。当导入成功的时候,数据将存放在Data。 | | `include_header` | bool | 布尔类型。为真时认为导入的文件包含字段头部信息。缺省时候为真。 | | `include_index` | bool | 布尔类型。为真时认为导入的文件包含数组下标信息。缺省时候为假。 | | `force_single` | bool | 布尔类型。为真时认为导入的文件是一个一维数组。缺省时候为假。 | | `sheet` | string | 字符串类型,指定Sheet。 | | `range` | string | 字符串类型,指定单元格范围,如果为空导入Sheet的所有数据,非空则必须为excel的Range,如:“A1:E13“。 | 返回:bool ### 示例 ```tsl // 导入"C:\\test.xlsx"文件中的Sheet3的"C2:E5"数据,包含字段名称。 ret := rdo2 importFile2(ftXls(), "", "C:\\test.xlsx", data, 1, 0, 0, "Sheet3", "C2:E5"); if ret then return data; else return "导入失败"; // 输出: // 无输出。 // Excel的数据: ``` ## `ftCsVne()` 逗号分割文件类型,输出结果禁用1E20等类型 返回:integer ## `fs_InfoId(infoid)` 获得基本面数据教学函数。返回截止到2002年6月30日Infoid相关基本面数据。 | 参数 | 类型 | 说明 | | -------- | ---- | ------ | | `infoid` | any | 基本面 | 返回:any ## `ft_Expression2_2(rdate)` 表达式函数教学函数。返回指定股票在报告期rdate的资产负债表,与当前系统参数(股票)相关。 | 参数 | 类型 | 说明 | | ------- | -------- | ------ | | `rdate` | datetime | 报告期 | 返回:any ## `loadTableEx(table_name)` 加载用户数据TableName,如若TableName非空,则返回TableName数据,否则返回空数组。 | 参数 | 类型 | 说明 | | ------------ | ------ | -------------------- | | `table_name` | string | 字符串,数据文件名称 | 返回:array ### 示例 ```tsl return loadTableEx('repitle'); // 返回: repitle为保存好的用户数据 ```