📄 test.tcl
字号:
proc ShowInstProp {Inst} { global fp puts $fp " <---- properties ----" puts $fp " npiName=[npi_get $Inst -npiName]" puts $fp " npiFullName=[npi_get $Inst -npiFullName]" puts $fp " npiType=[npi_get $Inst -npiType]" puts $fp " npiFile=[npi_get $Inst -npiFile]" puts $fp " npiLineNo=[npi_get $Inst -npiLineNo]" puts $fp " npiIsArray=[npi_get $Inst -npiIsArray]" puts $fp " npiIsCellInstance=[npi_get $Inst -npiIsCellInstance]" #puts $fp " npiIsProtected=[npi_get $Inst -npiIsProtected]" puts $fp " npiSize=[npi_get $Inst -npiSize]" puts $fp " npiDefFile=[npi_get $Inst -npiDefFile]" puts $fp " npiDefLineNo=[npi_get $Inst -npiDefLineNo]" puts $fp " npiDefNetType=[npi_get $Inst -npiDefNetType]" puts $fp " npiTimePrecision=[npi_get $Inst -npiTimePrecision]" puts $fp " npiTimeUnit=[npi_get $Inst -npiTimeUnit]" #puts $fp " npiUnconnDrive=[npi_get $Inst -npiUnconnDrive]" puts $fp " >---- properties ----"}proc foreach_IterateHandle {iter_handle iter_type} { global fp puts $fp " <---$iter_type --->" set Object_Handle [npi_scan $iter_handle] while {$Object_Handle != "NULL"} { puts $fp " <---begin npi_scan \$iter_handle--->" puts $fp " npiType = [npi_get $Object_Handle -npiType]" puts $fp " npiName = [npi_get $Object_Handle -npiName]" puts $fp " npiLineNo = [npi_get $Object_Handle -npiLineNo]" puts $fp " <---end of npi_scan \$iter_handle--->" set Object_Handle [npi_scan $iter_handle] } puts $fp " <---end of $iter_type --->"}proc ShowHandleProp {Handle type} { global fp puts $fp " <---$type --->" if {$Handle != "NULL"} { puts $fp " npiType = [npi_get $Handle -npiType]" puts $fp " npiName = [npi_get $Handle -npiName]" puts $fp " npiLineNo = [npi_get $Handle -npiLineNo]" } puts $fp " <---end of $type --->"}proc ShowInstRelationship {Inst} { global fp puts $fp " <---relationship --->" set Def [npi_handle $Inst -npiType npiDefinition] ShowHandleProp $Def "npi_handle \$Inst -npiType npiDefinition" set Scope [npi_handle $Inst -npiType npiScope] ShowHandleProp $Scope "npi_handle \$Inst -npiType npiScope" set Inst_list [npi_iterate $Inst -npiType npiInst] foreach_IterateHandle $Inst_list "npi_iterate \$Inst -npiType npiInst" set Port_list [npi_iterate $Inst -npiType npiPort] foreach_IterateHandle $Port_list "npi_iterate \$Inst -npiType npiPort" set PortInst_list [npi_iterate $Inst -npiType npiPortInst] foreach_IterateHandle $PortInst_list "npi_iterate \$Inst -npiType npiPortInst" set Prim_list [npi_iterate $Inst -npiType npiPrimitive] foreach_IterateHandle $Prim_list "npi_iterate \$Inst -npiType npiPrimitive" set Net_list [npi_iterate $Inst -npiType npiNet] foreach_IterateHandle $Net_list "npi_iterate \$Inst -npiType npiNet" set Reg_list [npi_iterate $Inst -npiType npiReg] foreach_IterateHandle $Reg_list "npi_iterate \$Inst -npiType npiReg" set Memory_list [npi_iterate $Inst -npiType npiMemory] foreach_IterateHandle $Memory_list "npi_iterate \$Inst -npiType npiMemory" set Variables_list [npi_iterate $Inst -npiType npiVariables] foreach_IterateHandle $Variables_list "npi_iterate \$Inst -npiType npiVariables" set NamedEvent_list [npi_iterate $Inst -npiType npiNamedEvent] foreach_IterateHandle $NamedEvent_list "npi_iterate \$Inst -npiType npiNamedEvent" set Scope_list [npi_iterate $Inst -npiType npiInternalScope] foreach_IterateHandle $Scope_list "npi_iterate \$Inst -npiType npiInternalScope" set Process_list [npi_iterate $Inst -npiType npiProcess] foreach_IterateHandle $Process_list "npi_iterate \$Inst -npiType npiProcess" set ContAssign_list [npi_iterate $Inst -npiType npiContAssign] foreach_IterateHandle $ContAssign_list "npi_iterate \$Inst -npiType npiContAssign" set Parameter_list [npi_iterate $Inst -npiType npiParameter] foreach_IterateHandle $Parameter_list "npi_iterate \$Inst -npiType npiParameter" set DefParam_list [npi_iterate $Inst -npiType npiDefParam] foreach_IterateHandle $DefParam_list "npi_iterate \$Inst -npiType npiDefParam" set ParamAssign_list [npi_iterate $Inst -npiType npiParamAssign] foreach_IterateHandle $ParamAssign_list "npi_iterate \$Inst -npiType npiParamAssign" set IODecl_list [npi_iterate $Inst -npiType npiIODecl] foreach_IterateHandle $IODecl_list "npi_iterate \$Inst -npiType npiIODecl" puts $fp " <---end of relationship --->"}proc ShowInstPropAndRelationship {} { global g_Instance global fp set inst $g_Instance puts $fp "<---begin showing module inst information--->" ShowInstProp $inst ShowInstRelationship $inst puts $fp "<---end of showing module inst information--->"} set log_file [file join [file dirname [info script]] [file tail [info script]].out]set fp [open $log_file w]fconfigure $fp -buffering nonenpi_register_cb -npiModuleBased Instance ShowInstPropAndRelationshipnpi_traverse_model -npiModuleBasedclose $fp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -