📄 db.ado
字号:
*! version 1.1.5 17may2005
program define db
version 9
/* ------------------------------------------------------- parse */
if "`c(console)'" != "" {
error 8005
}
gettoken first : 0, parse(" ,")
if "`first'"=="" | "`first'"=="," {
di as err "{p 0 4 2}"
di as err "invalid syntax{break}"
di as err "db must be followed by a Stata command name."
di as err "For instance, you might type:"
di as err "{p_end}"
di as err _col(8) ". db use"
di as err _col(8) ". db regress"
di as err "{p 4 4 2}"
di as err "Alternatively, use one of the following Stata menus."
di as err "File, Statistics, Data management, or Graphics."
di as err "{p_end}"
exit 198
}
syntax anything(name=dbname id="command name") [, DEBUG DRYRUN]
local n : word count `dbname'
forvalues i = 1/`n' {
local token : word `i' of `dbname'
if `i' >= 2 {
local temp "`temp'_"
}
local temp "`temp'`token'"
}
local dbname "`temp'"
/* ---------------------------------------------------- preprocess */
LocalMap dbname isspecial : `dbname'
if !`isspecial' {
capture which `dbname'.dlg
if _rc & "`dbname'" != "predict" & "`dbname'" != "estat" {
capture which `dbname'_dlg.hlp
if _rc {
capture unabcmd `dbname'
if _rc==0 {
local dbname "`r(cmd)'"
local iscmd 1
}
else {
local oldname "`dbname'"
LocalUnabbreviate dbname : `dbname'
capture unabcmd `dbname'
local iscmd = (_rc==0)
}
}
}
}
/* --------------------------------------------- determine action */
// case 0: special
if `isspecial' {
if "`dryrun'"=="" {
`dbname'
}
else {
di as txt `"-> `dbname'"'
}
exit
}
// case 1: it's a .dlg
capture which `dbname'.dlg
if _rc ==0 | "`dbname'" == "predict" | "`dbname'" == "estat" {
if "`dryrun'"=="" {
// _dialog create `dbname', `debug'
// _dialog run `dbname'_dlg
_dialog show `dbname', `debug'
}
else {
// di as txt "-> _dialog create `dbname'"
// di as txt "-> _dialog run `dbname'_dlg"
di as txt "-> _dialog show `dbname'"
}
exit
}
// case 2: it's a _dlg.hlp
capture FindHelpFile name : `dbname'_dlg
if _rc==0 {
if "`dryrun'"=="" {
view help `name'##|_new
exit
}
di as txt "-> help `name'##|_new"
exit
}
/* -------------------------- not found; determine extended action */
if "`dryrun'" != "" {
di as err "neither `dbname'.dlg nor `dbname'_dlg.hlp found"
exit 111
}
// case 3: .hlp file exists
capture FindHelpFile name : `dbname'
if _rc==0 {
window stopbox rusure ///
"Dialog for `dbname' not found:" ///
"Either `dbname' is a programming command or a user-written" ///
"command for which no dialog box has been written." ///
"Would you like to see the help for `dbname'?"
view help `name'
exit
}
// case 4: not found
if `iscmd'==0 {
// case 4.1 & not command
di as err "{p 0 4 2}"
di as err "`dbname' is not a command name"
di as err "nor an abbreviation of a command name"
di as err "{p_end}"
exit 199
}
// case 4.2 & is command
di as err "{p 0 4 2}"
di as err "dialog for `dbname' not found{break}"
di as err "`dbname' is either a programming command or"
di as err "a user-written command for which there is no dialog."
di as err "No one has written a help file for it, either."
di as err "{p_end}"
exit 111
end
program FindHelpFile
args d colon name
capture which `name'.hlp
if _rc==0 {
c_local `d' "`name'"
exit
}
capture _findhlpalias `name'
if _rc==0 {
local alias "`r(name)'"
capture which `alias'.hlp
if _rc==0 {
c_local `d' "`alias'"
exit
}
}
exit 111
end
program LocalUnabbreviate
args d colon cmd
c_local `d' "`cmd'"
local l = length("`cmd'")
if "`cmd'" == substr("graph", 1, max(`l',2)) {
c_local `d' "graph"
exit
}
end
program LocalMap
args d sp colon cmd
c_local `sp' 0
if "`cmd'" == "avplots" {
local cmd "avplot"
}
else if "`cmd'" == "clo" | "`cmd'" == "clog" | "`cmd'" == "clogi" {
local cmd "clogit"
}
else if "`cmd'" == "cnr" | "`cmd'" == "cnre" {
local cmd "cnreg"
}
else if "`cmd'" == "d" | "`cmd'" == "de" | "`cmd'" == "des" ///
| "`cmd'" == "desc" | "`cmd'" == "descr" ///
| "`cmd'" == "descri" | "`cmd'" == "describ" ///
{
local cmd "describe"
}
else if "`cmd'" == "est" {
local cmd "estimates"
}
else if "`cmd'" == "esti" {
local cmd "estimates"
}
else if "`cmd'" == "fac" | "`cmd'" == "fact" | "`cmd'" == "facto" {
local cmd "factor"
}
else if "`cmd'" == "gr" {
local cmd "graph"
}
else if "`cmd'" == "graph_bar" {
local cmd "bar"
}
else if "`cmd'" == "graph_bar_data" {
local cmd "bar_data"
}
else if "`cmd'" == "graph_dot" {
local cmd "dot"
}
else if "`cmd'" == "graph_dot_data" {
local cmd "dot_data"
}
else if "`cmd'" == "graph_pie" {
local cmd "pie"
}
else if "`cmd'" == "graph_box" {
local cmd "box"
}
else if "`cmd'" == "graph_twoway" {
local cmd "twoway"
}
else if "`cmd'" == "hotel" {
local cmd "hotelling"
}
else if "`cmd'" == "icd9p" {
local cmd "icd9"
}
else if "`cmd'" == "keep" {
local cmd "drop"
}
else if "`cmd'" == "logi" {
local cmd "logit"
}
else if "`cmd'" == "note" {
local cmd "notes"
}
else if "`cmd'" == "prtesti" {
local cmd "prtest"
}
else if "`cmd'" == "mer" | "`cmd'" == "merg" {
local cmd "merge"
}
else if "`cmd'" == "mlog" | "`cmd'" == "mlogi" {
local cmd "mlogit"
}
else if "`cmd'" == "olo" | "`cmd'" == "olog" | "`cmd'" == "ologi" {
local cmd "ologit"
}
else if "`cmd'" == "opr" | "`cmd'" == "opro" | ///
"`cmd'" == "oprob" || "`cmd'" == "oprobi" {
local cmd "oprobit"
}
else if "`cmd'" == "prob" | "`cmd'" == "probi" {
local cmd "probit"
}
else if "`cmd'" == "reg" | "`cmd'" == "regr" | ///
"`cmd'" == "regre" | "`cmd'" == "regres" {
local cmd "regress"
}
else if "`cmd'" == "renpfix" {
local cmd "rename"
}
else if "`cmd'" == "rot" | "`cmd'" == "rota" | "`cmd'" == "rotat" {
local cmd "rotate"
}
else if "`cmd'" == "scree" {
local cmd "screeplot"
}
else if "`cmd'" == "sdtesti" {
local cmd "sdtest"
}
else if "`cmd'" == "te" {
local cmd "test"
}
else if "`cmd'" == "tes" {
local cmd "test"
}
else if "`cmd'" == "tsrline" {
local cmd "tsline"
}
else if "`cmd'" == "tis" {
local cmd "tsset"
}
else if "`cmd'" == "tob" | "`cmd'" == "tobi" {
local cmd "tobit"
}
else if "`cmd'" == "tset" {
local cmd "tsset"
}
else if "`cmd'" == "ttesti" {
local cmd "ttest"
}
else if "`cmd'" == "tw" {
local cmd "twoway"
}
else if "`cmd'" == "two" {
local cmd "twoway"
}
else if "`cmd'" == "yx" {
local cmd "twoway"
}
else if "`cmd'" == "scatter" {
local cmd "twoway"
}
else if "`cmd'" == "line" {
local cmd "twoway"
}
else if "`cmd'" == "ado" {
local cmd "view help net_mnu"
c_local `sp' 1
}
else if "`cmd'" == "browse" {
local cmd "browse"
c_local `sp' 1
}
else if "`cmd'" == "doedit" {
local cmd "doedit"
c_local `sp' 1
}
else if "`cmd'" == "edit" {
local cmd "edit"
c_local `sp' 1
}
else if "`cmd'" == "findit" {
local cmd "view search_d"
c_local `sp' 1
}
else if "`cmd'" == "help" {
local cmd "view help contents"
c_local `sp' 1
}
else if "`cmd'" == "net" {
local cmd "view help net_mnu"
c_local `sp' 1
}
else if "`cmd'" == "news" {
local cmd "view news"
c_local `sp' 1
}
else if "`cmd'" == "search" {
local cmd "view search_d"
c_local `sp' 1
}
else if "`cmd'" == "update" {
local cmd "view update"
c_local `sp' 1
}
else if "`cmd'" == "view" {
local cmd "view"
c_local `sp' 1
}
else {
local cpy `cmd'
capture unabcmd `cpy'
if !_rc {
capture which `cpy'_dlg
if !_rc {
local cmd `cpy'_dlg
c_local `sp' 1
}
}
}
if "`cmd'" == "twoway" {
local cmd "twoway_overlay"
}
c_local `d' "`cmd'"
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -