📄 _get_irf.ado
字号:
*! version 1.0.0 03jan2005
program define _get_irf
version 9
syntax , DIALOGname(string) CONTROLnames(string) ///
[IRFVALues(string) IRFAPPENDS BUSYflag(string)]
local irffile `"$S_vrffile"'
if `"`irffile'"' != "" {
preserve
use `"`irffile'"' , clear
// get a list of irf names
local irflist : char _dta[irfnames]
}
// handle possible windows 98 naming
if "`.`dialogname'_dlg.isa'" != "class" {
local dialogname `"`dialogname'_98"'
if "`.`dialogname'_dlg.isa'" != "class" {
local dialogname `"`dialogname's"'
}
}
if "`.`dialogname'_dlg.isa'" != "class" {
display "`dialogname'_dlg" `.`dialogname'_dlg.isa'"
display as error "Invalid dialog name specified"
exit 198
}
local dialog ".`dialogname'_dlg"
if "``dialog'.`busyflag'.classname'" == "d_boolean" {
`dialog'.`busyflag'.settrue
}
if "`irfappends'" == "" { // non appendable irfname control
// add the names to the dialog controls
local n : word count `controlnames'
forvalues i = 1/`n' {
local control : word `i' of `controlnames'
local irfvalue : word `i' of `irfvalues'
.list = .dynamic_list_control.new, dialog(`dialogname') control(`control')
.list.setList, newlist("`irflist'") value("`irfvalue'")
}
}
else {
// single appendable irfname control
foreach control of local controlnames {
.list = .dynamic_list_control.new, dialog(`dialogname') control(`control')
.list.setList, newlist("`irflist'") value("`irfvalues'")
}
}
// Create an instance of an irf_result_list and attach it to the dialog
local type "``dialog'.irfList.isa'"
if "`type'" == "" {
`dialog'.Declare .irfList = .irf_result_list.new
}
`dialog'.irfList.clear
foreach irf of local irflist {
local vars : char _dta[`irf'_order]
`dialog'.irfList.addIrfResult, irfname(`irf') irfvars("`vars'")
}
// Print the list (DEBUGGING)
//`dialog'.irfList.print
if "``dialog'.`busyflag'.classname'" == "d_boolean" {
`dialog'.`busyflag'.setfalse
}
end
exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -