20 KiB
GUI函数
内容
- GUI函数简介
- GUI功能函数
- 消息对话框的类型控制字
- 消息对话框的图标控制字
- 消息对话框的默认按钮控制字
- 消息对话框的模式控制字
- 消息对话框的其他控制字
- 消息对话框的返回字
GUI函数简介
GUI函数目前只能用于本地化执行,如WORD模板中,以及其他本地执行的应用中。GUI函数为TSL语言与用户提供一个运行中的交互提供了可能。如:显示消息对话框,显示文件打开对话框,显示输入对话框等等。
GUI功能函数
内容
- 对话框数据类别函数
- InputQuery
- PromptForFileName
- MessageBox
- InputDialog
- BuildOptionComboValue
- ShowValue
对话框数据类别函数
内容
- uiInteger
- uiBoolean
- uiString
- uiDate
- uiDouble
- uiMarketList
- uiIndexList
- uiStockList
- uiSelfBkList
- uiSysBkList
- uiRightStyle
- uiCycle
- uiReportDate
- uiBasicIDList
- uiUserDefine
- uiOneDimArray
- uiTwoDimDoubleArray
- uiOneDimStringArray
- uiTwoDimStringArray
- uiOneDimDateArray
- uiTwoDimDateArray
- uiTable
- uiUserData
- uiRightDay
- uiBasicID
- uiYear
- uiMonth
- uiDay
uiInteger
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiInteger();
// 结果:0
uiBoolean
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiBoolean();
// 结果:1
uiString
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiString();
// 结果:2
uiDate
用途:日期时间处理函数。 参数:无。 返回:日期或时间值。
范例
return rdo2 uiDate();
// 结果:3
uiDouble
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiDouble();
// 结果:4
uiMarketList
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiMarketList();
// 结果:5
uiIndexList
用途:对话框数据类别函数相关函数。 参数:无。 返回:整数。
范例
return rdo2 uiIndexList();
// 结果:6
uiStockList
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiStockList();
// 结果:7
uiSelfBkList
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiSelfBkList();
// 结果:8
uiSysBkList
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiSysBkList();
// 结果:9
uiRightStyle
用途:进行字符串提取或替换处理。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiRightStyle();
// 结果:11
uiCycle
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiCycle();
// 结果:12
uiReportDate
用途:日期时间处理函数。 参数:无。 返回:日期或时间值。
范例
return rdo2 uiReportDate();
// 结果:13
uiBasicIDList
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiBasicIDList();
// 结果:14
uiUserDefine
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiUserDefine();
// 结果:17
uiOneDimArray
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiOneDimArray();
// 结果:18
uiTwoDimDoubleArray
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiTwoDimDoubleArray();
// 结果:19
uiOneDimStringArray
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiOneDimStringArray();
// 结果:20
uiTwoDimStringArray
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiTwoDimStringArray();
// 结果:21
uiOneDimDateArray
用途:日期时间处理函数。 参数:无。 返回:日期或时间值。
范例
return rdo2 uiOneDimDateArray();
// 结果:22
uiTwoDimDateArray
用途:日期时间处理函数。 参数:无。 返回:日期或时间值。
范例
return rdo2 uiTwoDimDateArray();
// 结果:23
uiTable
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiTable();
// 结果:24
uiUserData
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiUserData();
// 结果:25
uiRightDay
用途:进行字符串提取或替换处理。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiRightDay();
// 结果:27
uiBasicID
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiBasicID();
// 结果:29
uiYear
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiYear();
// 结果:31
uiMonth
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiMonth();
// 结果:32
uiDay
用途:对话框数据类别函数相关函数。 参数:无。 返回:处理后的结果值。
范例
return rdo2 uiDay();
// 结果:33
InputQuery
范例
if not rdo2 inputquery("输入数据", "输入被除数", M1) then return "未输入被除数";
if not rdo2 inputquery("输入数据", "输入除数", M2) then return "未输入除数";
return strtofloat(M1) / strtofloat(M2);
执行第一个if时,弹出如上对话框,输入3点击确定,这是执行第二个if弹出如下个对话框
输入6点击OK则返回的结果是0.5.
PromptForFileName
范例
// 打开保存文件对话框
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;
MessageBox
范例
范例1:
a := 3;
if a > 2 then b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo());
if b = 6 then return 1;
else return 0;
显示的消息对话框如下:
其中,mb_YesNo()函数为控制字函数,各控制字函数可以参考链接:
http://www.tinysoft.com.cn/tsdn/helpdoc/display.tsl?id=1380
范例2:
两个控制字函数相加的消息显示框,两个控制字函数相加用位或的运算符号.|,程序如下:
a := 3;
c := rdo2 mb_YesNo() .| rdo2 mb_IconWarning();
if a > 2 then b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
if b = 7 then return 1;
else return b;
弹出的消息显示框则如下:
比范例1多了一个警告图标,即mb_IconWarning()是警告图标控制字函数参考消息对话框的返回字。
InputDialog
范例
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
范例
// 返回结果值为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);
ShowValue
范例
// 显示一个数组数据
a := rand(10, 10);
b := rdo2 ShowValue('测试显示', a, false);
return b;
// 显示一个字符串
a := '测试ABC';
b := rdo2 ShowValue('测试显示', a, false);
return b;
消息对话框的类型控制字
内容
- mb_AbortRetryIgnore
- mb_Ok
- mb_OkCancel
- mb_RetryCancel
- mb_YesNo
- mb_YesNoCancel
mb_AbortRetryIgnore
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore());
return b;
弹出如下消息对话框,选择“中止”则返回“中止”按钮id的返回字,选择“重试”则返回“重试”按钮id的返回字。选择“忽略”及返回“忽略”按钮Id的返回字。
mb_Ok
- mb_AbortRetryIgnore
- mb_Ok
- mb_OkCancel
- mb_RetryCancel
- mb_YesNo
- mb_YesNoCancel
mb_OkCancel
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_OkCancel());
return b;
弹出如下消息对话框,选择“确定”则返回“确定”按钮id的返回字,选择“取消”则返回“取消”按钮id的返回字。
mb_RetryCancel
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_RetryCancel());
return b;
弹出如下消息对话框,选择“重试”则返回“重试”按钮id的返回字,选择“取消”则返回“取消”按钮id的返回字。
mb_YesNo
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo());
return b;
弹出如下消息对话框,选择“是”则返回“是”按钮id的返回字,选择否则返回“否”按钮id的返回字。
参考MessageBox
mb_YesNoCancel
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNoCancel());
return b;
弹出如下消息对话框,选择“是”则返回“是”按钮id的返回字,选择“否”则返回“否”按钮id的返回字,选择“取消”则返回“取消”按钮id的返回字。
消息对话框的图标控制字
内容
- mb_IconInformation
- mb_IconExclamation
- mb_IconWarning
- mb_IconInfomation
- mb_IconAsterisk
- mb_IconQuestion
- mb_IconStop
- mb_IconError
- mb_IconHand
mb_IconInformation
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_IconInformation();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出对话框如下:
mb_IconExclamation
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2 mb_IconExclamation();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个感叹号图标。
mb_IconWarning
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2 mb_IconWarning();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个警告图标。
mb_IconInfomation
- mb_IconInformation
- mb_IconExclamation
- mb_IconWarning
- mb_IconInfomation
- mb_IconAsterisk
- mb_IconQuestion
- mb_IconStop
- mb_IconError
- mb_IconHand
mb_IconAsterisk
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2 mb_IconAsterisk();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个星号图标。
mb_IconQuestion
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_IconQuestion ();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个问好图标。
mb_IconStop
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_IconStop();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个停止图标。
mb_IconError
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_IconError();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个错误图标。
mb_IconHand
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_IconHand();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,在控制字mb_YesNo()显示框的基础上加了一个手图标。
消息对话框的默认按钮控制字
内容
- mb_DefButton1
- mb_DefButton2
- mb_DefButton3
- mb_DefButton4
mb_DefButton1
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_DefButton1();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,控制字mb_YesNo()消息显示框的第一个按钮呈浅蓝色。
mb_DefButton2
范例
a := 3;
c := rdo2 mb_YesNo() .| rdo2mb_DefButton2();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,控制字mb_YesNo()消息显示框的第二个按钮呈浅蓝色。
mb_DefButton3
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_DefButton3();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,控制字mb_AbortRetryIgnore()消息显示框的第三个按钮呈浅蓝色。
mb_DefButton4
范例
如没有第四个按钮,则从超出按钮个数起重新从第一个按钮数,如mb_AbortRetryIgnore()
在默认第四个按钮,由于mb_AbortRetryIgnore()只有三个按钮,则第四个显示的是第一个。
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_DefButton4();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,控制字mb_AbortRetryIgnore()消息显示框的第一个按钮呈浅蓝色。
消息对话框的模式控制字
内容
- mb_ApplModal
- mb_AppModal
- mb_SystemModal
- mb_TaskModal
mb_ApplModal
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_ApplModal();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图:
mb_AppModal
- mb_ApplModal
- mb_AppModal
- mb_SystemModal
- mb_TaskModal
mb_SystemModal
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_SystemModal();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,如不返回选择按钮,消息显示框总是在最前端。
mb_TaskModal
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_TaskModal();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图,如不返回选择按钮,将无法继续操作天软系统。
消息对话框的其他控制字
内容
- mb_TopMost
- mb_Default_Desktop_Only
- mb_Help
- mb_Right
- mb_RtlReading
- mb_SetForeGround
- mb_SetTopMost
- mb_Service_Notification
- mb_Service_Notification_NT3X
mb_TopMost
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_TopMost();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出对话框如:
mb_Default_Desktop_Only
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_Default_Desktop_Only();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
mb_Help
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_Help();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
mb_Right
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_Right();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
mb_RtlReading
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_RtlReading();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
mb_SetForeGround
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_SetForeGround();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
mb_SetTopMost
- mb_TopMost
- mb_Default_Desktop_Only
- mb_Help
- mb_Right
- mb_RtlReading
- mb_SetForeGround
- mb_SetTopMost
- mb_Service_Notification
- mb_Service_Notification_NT3X
mb_Service_Notification
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_Service_Notification();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
mb_Service_Notification_NT3X
范例
a := 3;
c := rdo2 mb_AbortRetryIgnore() .| rdo2mb_Service_Notification_NT3X();
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', c);
return b;
弹出消息显示框如下图
消息对话框的返回字
内容
- idAbort
- idCancel
- idIgnore
- idNo
- idOk
- idRetry
- idYes
idAbort
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore());
if b = rdo2 idAbort () then return 1;
else return 0;
返回结果如选择Abort按钮,则返回1,否则返回0 。
idCancel
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_OkCancel());
if b = rdo2 idCancel () then return 1;
else return 0;
返回结果如选择Cancel按钮,则返回1,否则返回0 。
idIgnore
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore ());
if b = rdo2 idIgnore () then return 1;
else return 0;
返回结果如选择Ignore按钮,则返回1,否则返回0 。
idNo
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo ());
if b = rdo2 idNo () then return 1;
else return 0;
返回结果如选择No按钮,则返回1,否则返回0 。
idOk
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_OkCancel ());
if b = rdo2 idOk() then return 1;
else return 0;
返回结果如选择OK按钮,则返回1,否则返回0 。
idRetry
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_AbortRetryIgnore());
if b = rdo2 idRetry () then return 1;
else return 0;
返回结果如选择Retry按钮,则返回1,否则返回0 。
idYes
范例
a := 3;
b := rdo2 MessageBox('a>2,要继续吗?', '测试对话框', rdo2 mb_YesNo());
if b = rdo2 IdYes() then return 1;
else return 0;
返回结果如选择Yes按钮,则返回1,否则返回0 。