|
原帖由 2012abc19701 于 2012-6-14 15:20 发表
》》 FORX * %&RL0%,&&RL1, FIND $%&RL1% %&Row%.%&Col%,!! ENVI &NV=%&NV% %&RL1%
>> ENVI &RL0=%&NV%
这句没有退出功能。不需要退出没问题。
他只是 将 %&RL0% 中的词 依次 拷入 新变量 NV, 如果 是 当 ...
-------------------------------------
是的,这个真的很有用。
谢谢楼主的解释,但是我还是不明白,我将代码在此精简了一些,请楼主再看看,主要就是
那两句“FORX”语句的问题,请楼主最好可以试一下这段代码,拜托了,真的很想弄明白原因
--
非常灵异和奇怪的现象,请楼主再仔细看看:
ENVI$ TAB=09
ENVI$ NLC=0a
ENVI$ NL=0d 0a
SET &::WM_LBUTTONDOWN=0x0201
SET &::WM_LBUTTONDBLCLK=0x0203
SET &::WM_RBUTTONDOWN=0x0204
ENVI &BTADA=100:TABL3名称%TAB%+150:版本%TAB%150:备注
ENVI &BGADA=101%TAB%661%TAB%701%NLC%102%TAB%662%NLC%103%TAB%663%TAB%703%NLC%104%TAB%664%TAB%704%NLC%105%TAB%665%TAB%705%NLC%101%TAB%661%TAB%701%NLC%102%TAB%662%NLC%103%TAB%663%TAB%703%NLC%104%TAB%664%TAB%704%NLC%105%TAB%665%TAB%705
CALL @窗(子命令0)
_SUB 窗(子命令0),L0T0W380H656,命令切换窗口,*,shell32.dll#24,10,*,-discloseb
ITEM 按钮1,L56T488W60H36,确定,,,4
ITEM 按钮2,L121T488W60H36,保存参数,TEAM CALL 子(保存表格数据0),,4
ITEM 按钮3,L252T488W55H36,演示选择TABL3,演示选择,,4
ITEM ITEM4,L314T488W55H36,退出,KILL \,
CHEK CHEK7,L5T489W50H18,备份,,
CHEK CHEK8,L5T508W50H16,还原,,
EDIT| LABE1,L5T526W363H98,EDIT2\n%CurDir%,,0x66
ITEM ITEM1,L186T488W60H36,修改数据,
TABL -font:15 -color:00xACFFAC#0x004000#0x59ACFF#0x80 TABL3,L5T245W363H118,%&BTADA%,%&BGADA%,0x180840
ENVI @TABL3.MSG=_%&WM_LBUTTONDOWN%: CALL OneLButton3
ENVI @TABL3.MSG=_%&WM_RBUTTONDOWN%: CALL OnRemove
_END
//以上是窗口代码,不需要理会,请看下面两句FORX语句的注释原因
_SUB OneLButton3
TEAM ENVI @TABL3.Sel=?.&&Row;&&Col|ENVI &&RL1=
//同样FORX判断,这里可判断是否点击了相同,相同退出。
FORX * %RL0%,&&RL1, FIND $%&RL1%<>%&Row%.%&Col%,!EXIT _SUB
FIND $%RL0%=,ENVI RL0=%&Row%.%&Col%!ENVI RL0=%RL0%%NL%%&Row%.%&Col%
FIND KEY=17, ENVI &&C=1! ENVI &&C=0
FIND $0=%&C%, ENVI @TABL3.Color=%&Row%.%&Col%;;0xFF
FIND $1=%&C%, ENVI @TABL3.Color=*%&Row%;;0xFFFF00
ENVI @LABE1=%RL0%
_END
_SUB OnRemove
LOGS W:\UserSoft\x23.log
TEAM ENVI @TABL3.Sel=?.&&Row;&&Col|ENVI &&RL1=
//同样FORX判断,这里不能判断RL0变量中是否有相同,查看FORX的变量发现FORX语句好像执行有错误
FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB
//“ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%”是查看两者变量的语句
FIND KEY=17, ENVI &&C=1! ENVI &&C=0
FIND $0=%&C%, ENVI @TABL3.Color=%&Row%.%&Col%;;-1
FIND $1=%&C%, ENVI @TABL3.Color=*%&Row%;;-1
LOGS
_END |
|