Symbol循环检验核对Symbol脚本
时间:10-02
整理:3721RD
点击:
Symbol循环检验核对Symbol脚本
主要想检验某层(如"map"层的层名)中的放置的自定的Symbol名称(如"special"选项中的Symbol)
与
Scripts脚本代码中预设的Symbol是否存在,
(如下面脚本调用了一"ca1"名称的自定Symbol)
#!/usr/bin/csh
set ca1 = 0
COM open_entity,job=$JOB,type=step,name=wpnl,iconic=no
AUX set_group,group=1
COM units,type=inch
COM units,type=mm
COM display_sr,display=yes
COM display_layer,name=map,display=yes,number=1
COM work_layer,name=map
set info = c:/tmp/info.$$
COM info,out_file=$info,args= -t layer -e $JOB/wpnl/map
source $info
set symbol_temp_name = 1
while ($symbol_temp_name <= $gSYMS_HISTsymbol)
if ($symbol_temp_name == ca1) then
set ca1 == 1
endif
@ symbol_temp_name++
end
但脚本执行到"while ($symbol_temp_name <= $gSYMS_HISTsymbol)"这行时就不往下执行,不知是不是语句有问题,还是为什么?
请路过的高手点引一下
主要想检验某层(如"map"层的层名)中的放置的自定的Symbol名称(如"special"选项中的Symbol)
与
Scripts脚本代码中预设的Symbol是否存在,
(如下面脚本调用了一"ca1"名称的自定Symbol)
#!/usr/bin/csh
set ca1 = 0
COM open_entity,job=$JOB,type=step,name=wpnl,iconic=no
AUX set_group,group=1
COM units,type=inch
COM units,type=mm
COM display_sr,display=yes
COM display_layer,name=map,display=yes,number=1
COM work_layer,name=map
set info = c:/tmp/info.$$
COM info,out_file=$info,args= -t layer -e $JOB/wpnl/map
source $info
set symbol_temp_name = 1
while ($symbol_temp_name <= $gSYMS_HISTsymbol)
if ($symbol_temp_name == ca1) then
set ca1 == 1
endif
@ symbol_temp_name++
end
但脚本执行到"while ($symbol_temp_name <= $gSYMS_HISTsymbol)"这行时就不往下执行,不知是不是语句有问题,还是为什么?
请路过的高手点引一下
debug看一下$gSYMS_HISTsymbol
asdfasdfasdfsdf
改为while ($symbol_temp_name <= $#gSYMS_HISTsymbol)试下看
$gSYMS_HISTsymbol应该是个数组,而不是数组的元素的个数,变量名前面加$#才是
楼上高手.....
路过........
呵呵 呵呵 呵呵
DDDDDDDDDDDDDDD