Files
playbook/skills/tsl-api-reference/references/codegen/builtin/gui/dialog.md
T
csh e1f7ce052c feat(skills): add tsl api reference skill
Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
2026-07-07 16:36:15 +08:00

753 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Builtin - GUI / 对话框
## `uiInteger()`
整数。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiInteger();
// 结果:0
```
## `uiBoolean()`
真假。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiBoolean();
// 结果:1
```
## `uiString()`
字符串。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiString();
// 结果:2
```
## `uiDate()`
日期。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiDate();
// 结果:3
```
## `uiDouble()`
浮点数。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiDouble();
// 结果:4
```
## `uiMarketList()`
市场列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiMarketList();
// 结果:5
```
## `uiIndexList()`
指数列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiIndexList();
// 结果:6
```
## `uiStockList()`
股票列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiStockList();
// 结果:7
```
## `uiSelfBkList()`
自选板块列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiSelfBkList();
// 结果:8
```
## `uiSysBkList()`
系统板块列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiSysBkList();
// 结果:9
```
## `uiRightStyle()`
复权方法。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiRightStyle();
// 结果:11
```
## `uiCycle()`
周期。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiCycle();
// 结果:12
```
## `uiReportDate()`
报告期。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiReportDate();
// 结果:13
```
## `uiBasicIdList()`
基本面ID列表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiBasicIdList();
// 结果:14
```
## `uiUserDefine()`
用户自定义。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiUserDefine();
// 结果:17
```
## `uiOneDimArray()`
一维数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiOneDimArray();
// 结果:18
```
## `uiTwoDimDoubleArray()`
二维实数数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiTwoDimDoubleArray();
// 结果:19
```
## `uiOneDimStringArray()`
一维字符串数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiOneDimStringArray();
// 结果:20
```
## `uiTwoDimStringArray()`
二维字符串数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiTwoDimStringArray();
// 结果:21
```
## `uiOneDimDateArray()`
一维日期数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiOneDimDateArray();
// 结果:22
```
## `uiTwoDimDateArray()`
二维日期数组。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiTwoDimDateArray();
// 结果:23
```
## `uiTable()`
数据表。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiTable();
// 结果:24
```
## `uiUserData()`
用户数据。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiUserData();
// 结果:25
```
## `uiRightDay()`
复权基准日。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiRightDay();
// 结果:27
```
## `uiBasicId()`
基本面ID。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiBasicId();
// 结果:29
```
## `uiYear()`
年份。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiYear();
// 结果:31
```
## `uiMonth()`
月份。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiMonth();
// 结果:32
```
## `uiDay()`
日。对话框定义Define参数中的Type字段值,表示输入项目的数据类别。返回:整数。数据类别。
返回:integer
### 示例
```tsl
return rdo2 uiDay();
// 结果:33
```
## `promptForFileName(file_name, filter, default_ext, title, initial_dir, save_dialog)`
显示文件打开(保存)对话框。如果选择文件并确定则返回真,否则返回假。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | string | 字符串类型。初始的文件名以及返回的文件名 |
| `filter` | string | 字符串类型。文件过滤条件。如'Excelfiles?(_.xls)\|_.XLS\|TSLfiles?(_.tsl)\|_.TSL',如果同一个选项有多种过滤方法,则使用”\|”将其分隔。 |
| `default_ext` | string | 字符串类型。默认的扩展名,不含有”.”号。 |
| `title` | string | 字符串类型。对话框的标题栏。 |
| `initial_dir` | string | 字符串类型。初始的目录。 |
| `save_dialog` | bool=false | BOOL类型。是否作为文件保存对话框显示。 |
返回:bool
### 示例
```tsl
// 打开保存文件对话框
rdo2 promptForFileName(data, 'Excelfiles
( * .xls)| * .xlsx|( * .XLS)|TSLfiles ( * .tsl)| * .TSL','.xls','保存对话框','C: \\DataStore',1);
return data;
// 打开打开文件对话框
rdo2 PromptForFileName(data, 'Excelfiles
( * .xls)| * .xlsx|( * .XLS)|TSLfiles ( * .tsl)| * .TSL','.xls','打开对话框','C: \\DataStore',0);
return data;
```
## `inputDialog(title, hint, define, result)`
输入对话框,生成类似于函数、模型运行的时候自动出现的参数输入对话框。如果取消了,返回为假,否则为真。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `title` | string | 字符串类型。对话框的标题。 |
| `hint` | string | 字符串类型。对话框的提示信息。 |
| `define` | tablearray | 对话框的定义,为一个表结构类型,其中包括四个字段: |
| `result` | array | 存贮返回每个字段的值,结构为以字段名为下表字段返回值为值的一维数组。字段名为Define里定义的字段Name的值 |
返回:bool
### 示例
```tsl
define := array();
define[0]['Name'] := 'Years';
define[0]['Comment'] := '年数';
define[0]['Type'] := rdo2 uiInteger();
define[0]['Value'] := 10;
define[1]['Name'] := 'NeedFunds';
define[1]['Comment'] := '是否需要基金';
define[1]['Type'] := rdo2 uiBoolean();
define[1]['Value'] := true;
define[2]['Name'] := 'Name';
define[2]['Comment'] := '输入名称';
define[2]['Type'] := rdo2 uiString();
define[2]['Value'] := '天软';
define[3]['Name'] := 'GenDate';
define[3]['Comment'] := '生成日期';
define[3]['Type'] := rdo2 uiDate();
define[3]['Value'] := now();
if rdo2 inputDialog('测试输入', '测试', define, result) then
rdo2 showValue('测试显示', result, false);
// 显示如下:
// 当选择了确认之后,ShowValue的结果显示出来如下:
```
## `buildOptionComboValue(values, default_index)`
生成自定义类型uiUserDefine所需的VALUE值。返回的结果为用户自定义类型所需的Value值
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `values` | string | 其结构为以显示值=返回结果以回车换行相隔的字符串。在用户自定义里下来显示的就是显示值,而下拉代表的结果为TSL语法的返回结果值,如字符串需要加引号。显示名1=返回结果值1 显示名2=返回结果值2 ………………. |
| `default_index` | integer | 默认选择的项的索引,索引值从0开始。 |
返回:string
### 示例
```tsl
// 返回结果值为1的Value值
s := 'abcd=0\r bcde=1\r';
return rdo2 buildOptionComboValue(s, 1);
// 返回结果值为0的Value值
s := 'abcd=0\r bcde=1\r';
return rdo2 buildOptionComboValue(s, 0);
```
## `mbAbortRetryIgnore()`
消息对话框的类型控制字,按钮显示三个:中止(Abort),重试(Retry,忽略(Ignore
返回:any
## `mbOk()`
消息对话框的类型控制字,按钮显示一个:Ok。
返回:any
## `mbOkCancel()`
消息对话框的类型控制字,按钮显示两个:确定(Ok),取消(Cancel)。
返回:any
## `mbRetryCancel()`
消息对话框的类型控制字,按钮显示两个:重试(Retry),取消(Cancel)。
返回:any
## `mbYesNo()`
消息对话框的类型控制字函数,按钮ID显示两个:是(Yes),否(NO)。
返回:any
## `mbYesNoCancel()`
消息对话框的类型控制字,按钮显示三个:是(Yes),否(No),取消(Cancel)。
返回:any
## `mbIconInformation()`
消息对话框的图标控制字,显示消息提示,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconExclamation()`
消息对话框的图标控制字,显示感叹号,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconWarning()`
消息对话框的图标控制字,显示警告图标,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconInfomation()`
消息对话框的图标控制字,显示信息提示。
返回:any
## `mbIconAsterisk()`
消息对话框的图标控制字,显示星号,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconQuestion()`
消息对话框的图标控制字,显示问号,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconStop()`
消息对话框的图标控制字,显示停止,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconError()`
消息对话框的图标控制字,显示错误,一般对类型控制字消息显示框的装饰。
返回:any
## `mbIconHand()`
消息对话框的图标控制字,显示手,一般对类型控制字消息显示框的装饰。
返回:any
## `mbDefButton1()`
消息对话框的默认按钮控制字,默认为第一个按钮。天软GUI函数默认按钮通常显示浅蓝色并带有慢闪,如类型控制字消息显示框默认的是第一个按钮。默认按钮控制字一般配合类型控制字合用。
返回:any
## `mbDefButton2()`
消息对话框的默认按钮控制字,默认为第二个按钮。天软GUI函数默认按钮通常显示浅蓝色并带有慢闪,如类型控制字消息显示框默认的是第一个按钮。默认按钮控制字一般配合类型控制字消息显示框合用。
返回:any
## `mbDefButton3()`
消息对话框的默认按钮控制字,默认为第三个按钮。天软GUI函数默认按钮通常显示浅蓝色并带有慢闪,如类型控制字消息显示框默认的是第一个按钮。默认按钮控制字一般配合类型控制字消息显示框合用。
返回:any
## `mbDefButton4()`
消息对话框的默认按钮控制字,默认为第三个按钮。天软GUI函数默认按钮通常显示浅蓝色并带有慢闪,如类型控制字消息显示框默认的是第一个按钮。默认按钮控制字一般配合类型控制字消息显示框合用。
返回:any
## `mbApplModal()`
消息对话框的模式控制字,普通模式。
返回:any
## `mbAppModal()`
消息对话框的模式控制字,应用模式。
返回:any
## `mbSystemModal()`
消息对话框的模式控制字,系统模式,对话框总在最前端。
返回:any
## `mbTaskModal()`
消息对话框的模式控制字,任务模式。
返回:any
## `mbTopMost()`
其他控制字,设置对话框为总在前端。
返回:any
## `mbDefaultDesktopOnly()`
其他控制字,仅仅在默认桌面显示。
返回:any
## `mbHelp()`
其他控制字,对话框中显示帮助按钮。
返回:any
## `mbRight()`
其他控制字,文字右对齐方式。
返回:any
## `mbRtlReading()`
其他控制字,从右往左输出文字,对输出Hebrew或者Arabic语言有效。
返回:any
## `mbSetForeGround()`
其他控制字,设置对话框为前端窗口。
返回:any
## `mbSetTopMost()`
其他控制字,设置对话框为总在前端。
返回:any
## `mbServiceNotification()`
其他控制字,服务通知模式,即便无用户登录系统也显示。
返回:any
## `idAbort()`
消息对话框返回字,表明用户选中了Abort按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore());
if b=rdo2 idAbort () then return 1;
else return 0;
// 输出:如选择Abort按钮,则返回1,否则返回0 。
```
## `idCancel()`
消息对话框返回字,表明用户选中了Cancel按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_OkCancel());
if b=rdo2 idCancel () then return 1;
else return 0;
// 输出:如选择Cancel按钮,则返回1,否则返回0 。
```
## `idIgnore()`
消息对话框返回字,表明用户选中了Ignore按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore ());
if b=rdo2 idIgnore () then return 1;
else return 0;
// 输出:如选择Ignore按钮,则返回1,否则返回0 。
```
## `idNo()`
消息对话框返回字,表明用户选中了No按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo ());
if b=rdo2 idNo () then return 1;
else return 0;
// 输出:如选择No按钮,则返回1,否则返回0 。
```
## `idOk()`
消息对话框返回字,表明用户选中了OK按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_OkCancel ());
if b=rdo2 idOk() then return 1;
else return 0;
// 输出:如选择OK按钮,则返回1,否则返回0 。
```
## `idRetry()`
消息对话框返回字,表明用户选中了Retry按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore());
if b=rdo2 idRetry () then return 1;
else return 0;
// 输出:如选择Retry按钮,则返回1,否则返回0 。
```
## `idYes()`
消息对话框返回字,表明用户选中了Yes按钮。
返回:integer
### 示例
```tsl
a := 3;
b := rdo2 messageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo());
if b=rdo2 idYes() then return 1;
else return 0;
// 输出:如选择Yes按钮,则返回1,否则返回0 。
```