17 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 。