无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: mdyblog
打印 上一主题 下一主题

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
3361#
发表于 2012-6-14 14:23:06 | 只看该作者
PCIP ,感觉好像设置太快,机器没反应过来.

具体:虚拟机,貌似设置上了(虚拟机下,无法上网) ,实机测试, 大部分失败.

69-69-28 ----------- 目前的72

4.0没问题


安装驱动, TEMP下的驱动, 再DEVI INF 就能成功

直接DEVI CAB 只能解压到TEMP ,前面已经提供错误的LOG了
回复

使用道具 举报

3362#
 楼主| 发表于 2012-6-14 14:59:43 | 只看该作者

回复 #3505 diannao338 的帖子

重新下载吧。PECMD2012.1.69.72_win32.多窗口多线程-6.sfx.zip【3】
回复

使用道具 举报

3363#
发表于 2012-6-14 15:03:07 | 只看该作者
原帖由 2012abc19701 于 2012-6-14 13:28 发表


表格选择并记录.WCS.ZIP
看的一头雾水。
简化了一下逻辑。


--------------------------
谢楼主的解答,代码好“酷”!
“ FORX * %&RL0%,&&RL1, FIND $%&RL1% <> %&Row%.%&Col%,!! ENVI &NV=%NV% %&RL1%”
这句的意思是?
我原来的思路只是对比选择变量和存在变量中是否有相同,相同就继续,不同就退出这个段,但
楼主的这个代码没有退出语句,但是却完成了退出的效果。再者就是为何我原来的FORX语句用法
不行呢? 实在不太明白,可以说一下思路和原理吗? 并说说我错在哪里?谢谢!
回复

使用道具 举报

3364#
 楼主| 发表于 2012-6-14 15:15:10 | 只看该作者

回复 #3506 dvd008 的帖子

1. INF  可以 具体是输入什么样的命令。

2. 程序根本没考虑win8。可以用win7模拟试试。

DEVI *7pe   $VCARD.CAB,,X:\Users\Default\AppData\Local\Temp
这样需要 drvload.exe
回复

使用道具 举报

3365#
 楼主| 发表于 2012-6-14 15:20:31 | 只看该作者

回复 #3508 988668 的帖子

》》 FORX * %&RL0%,&&RL1, FIND $%&RL1% <> %&Row%.%&Col%,!! ENVI &NV=%&NV% %&RL1%
>>  ENVI &RL0=%&NV%
这句没有退出功能。不需要退出没问题。
他只是 将 %&RL0% 中的词  依次 拷入 新变量 NV, 如果 是 当前 %&Row%.%&Col% 则跳过。
下面一句再将 NV 替换 RL0
这样 将  当前 %&Row%.%&Col%   从 RL0 中扣掉。

你原来的,我看的一头雾水,没有耐心。




觉得这段代码有用。
做成2个函数,方便大家直接调用参见示例 表格选择单元格并记录.WCS。


_SUB PUSHPOS
     TEAM ENVI &&RL1=| ENVI &&HV=0
     FORX * %&RL0%,&&RL1, FIND $ %1 = %&RL1%, ENVI &HV=1
     FIND $ 0 = %&HV%, ENVI &RL0=%&RL0% %1
_END

_SUB POPPOS
     TEAM ENVI &&RL1=| ENVI &&NV=
     FORX * %&RL0%,&&RL1, FIND $%&RL1% <> %1,!! ENVI &NV=%&NV% %&RL1%
     ENVI &RL0=%&NV%
_END


使用:
IFEX $ %&Row% > 0, PUSHPOS  %&Row%.%&Col%  //加入

IFEX $ %&Row% > 0, POPPOS  %&Row%.%&Col%   //扣除

[ 本帖最后由 2012abc19701 于 2012-6-14 15:30 编辑 ]
回复

使用道具 举报

3366#
发表于 2012-6-14 15:52:47 | 只看该作者
PCIP ,你本机这几个版本,看看代码

V   PECMD v2012.1.69.70 fix06 X86U   每次都能成功,执行一次即可
x   PECMD v2012.1.69.71 fix03 X86U   没成功过
x   PECMD v2012.1.69.72-6 fix03 X86U  偶尔成功,需要执行多次. 有时,多次也不能成功.

其它,69-69-28 也没成功过, 最近的72 效果都差不多
回复

使用道具 举报

3367#
发表于 2012-6-14 15:56:26 | 只看该作者
安装INF

安装TEMP
DEVI *****\TEMP\NV\nv_disp.inf


安装C盘
PECMD "TEAM LOGS drv.log| ENVI V=%PECMDVER%|  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf|  LOGS"

好像都可以成功
回复

使用道具 举报

3368#
 楼主| 发表于 2012-6-14 15:59:36 | 只看该作者

回复 #3511 dvd008 的帖子

你是什么系统,  WIN7、WIN8、XP?

试试 *fresh *safe 开关。

PCIP *fresh *safe  192.168.1.2,255.255.255.0,192.168.1.1,192.168.1.1
PCIP *fresh *safe  -,-,-,-

[ 本帖最后由 2012abc19701 于 2012-6-14 16:02 编辑 ]
回复

使用道具 举报

3369#
发表于 2012-6-14 16:05:05 | 只看该作者
原帖由 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
回复

使用道具 举报

3370#
 楼主| 发表于 2012-6-14 16:08:13 | 只看该作者

回复 #3512 dvd008 的帖子

WIN8吗?

WIN8  『  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf』 也行????
难道WIN8反朴归真了??
上面执行的是XP的逻辑。

[ 本帖最后由 2012abc19701 于 2012-6-14 16:13 编辑 ]
回复

使用道具 举报

3371#
发表于 2012-6-14 16:10:52 | 只看该作者
WIN8

就是设置固定IP
回复

使用道具 举报

3372#
 楼主| 发表于 2012-6-14 16:13:49 | 只看该作者

回复 #3516 dvd008 的帖子

PCIP *fresh *safe  192.168.1.2,255.255.255.0,192.168.1.1,192.168.1.1
回复

使用道具 举报

3373#
 楼主| 发表于 2012-6-14 16:21:32 | 只看该作者
原帖由 988668 于 2012-6-14 16:05 发表
-------------------------------------
是的,这个真的很有用。
谢谢楼主的解释,但是我还是不明白,我将代码在此精简了一些,请楼主再看看,主要就是
那两句“FORX”语句的问题,请楼主最好可以试一下 ...




》》     FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB

可以肯定,这句有逻辑错误。
1.

比如 第一次 左键 1.1  第二次2.2  .. 3.3   4.4
此时 RL0的内容为 『1.1  2.2  3.3  4.4』
后面 右键  2.2  3.3  4.4
都会失败。
因为首先和 1.1 比较 , 因为 不匹配, 马上『EXIT _SUB』了, 完了!

2. 右键 OnRemove中 你没有将 取消的 位置从 记录  RL0  中 扣除。

比如首先点了1.1
则1.1  始终 赖在   RL0 不走。

[ 本帖最后由 2012abc19701 于 2012-6-14 16:35 编辑 ]
回复

使用道具 举报

3374#
发表于 2012-6-14 16:42:27 | 只看该作者
原帖由 2012abc19701 于 2012-6-14 16:21 发表




》》     FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB

可以肯定,这句有逻辑错误。
1.

比如 第一次 左键 1.1  第二次2.2  .. 3. ...


---------
那就真的奇怪了啊

“FORX * %RL0%,&&RL1, FIND $%&RL1%<>%&Row%.%&Col%,!EXIT -”这句也没有按照“RL0”

的变量排列来重点啊,但是可以比对出“RL0”变量中是否存在相同的。为何下一句就不行呢?

而且,我将上一句改为“ FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%, ..”也有效,

而下面的怎么改都不行了。难道 FORX * 这个格式不是将“RL0”的变量分拆了之后,由“FIND”

语句来比对的吗?

  *这里还发现,如果我将

》》FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB

更改为:

》》FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB



**比对的变量就会变成相同,楼主可以测试一下看看
**要如何做才能右键 OnRemove中将 取消的 位置从 记录  RL0  中 扣除
回复

使用道具 举报

3375#
发表于 2012-6-14 16:55:28 | 只看该作者
69-72-6

PECMD.EXE PCIP *fresh *safe

ok
回复

使用道具 举报

3376#
发表于 2012-6-14 17:02:12 | 只看该作者
原帖由 2012abc19701 于 2012-6-14 16:21 发表




》》     FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB

可以肯定,这句有逻辑错误。

比如 第一次 左键 1.1  第二次2.2  .. 3.3    ...


-------------------------------------------------------
那就真的奇怪了啊
“FORX * %RL0%,&&RL1, FIND $%&RL1%<>%&Row%.%&Col%,!EXIT -”这句也没有按照“RL0”
的变量排列来重点啊,但是可以比对出“RL0”变量中是否存在相同的。为何下一句就不行呢?
而且,我将上一句改为“FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,..”也有效,
而下面的怎么改都不行了。难道 FORX * 这个格式不是将“RL0”的变量分拆了之后,由“FIND”
语句来比对的吗?
  *这里还发现,如果我将
》》FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,!TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB
更改为:
》》FORX * %RL0%,&&RL1, FIND $%&RL1%=%&Row%.%&Col%,TEAM ENVI @LABE1=%&RL1%=%&Row%.%&Col%\n%RL0%|EXIT _SUB

**比对的变量就会变成相同,楼主可以测试一下看看
回复

使用道具 举报

3377#
 楼主| 发表于 2012-6-14 17:09:40 | 只看该作者

回复 #3520 dvd008 的帖子

NT6。x以上 *fresh 参数可以不要, 自动默认包含 *fresh.

这里关键 是 *safe。 采用以前保守算法, 慢点,但总可以。
回复

使用道具 举报

3378#
 楼主| 发表于 2012-6-14 17:12:45 | 只看该作者

回复 #3521 988668 的帖子

是逻辑错误,和其它无关,不改变逻辑,解决不了问题!

分析逻辑,只有一种情况下,才能有效:
始终只操作一个单元格, 你试试!

[ 本帖最后由 2012abc19701 于 2012-6-14 17:33 编辑 ]
回复

使用道具 举报

3379#
 楼主| 发表于 2012-6-14 17:14:48 | 只看该作者
原帖由 dvd008 于 2012-6-14 15:56 发表
安装INF

安装TEMP
DEVI *****\TEMP\NV\nv_disp.inf


安装C盘
PECMD "TEAM LOGS drv.log| ENVI V=%PECMDVER%|  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf|  LOGS"

好像都可以成功



WIN8吗?

WIN8  『  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf』 也行????
难道WIN8反朴归真了??
上面执行的是XP的逻辑。

是不是 WIN7 下面 删除 DrvLoad.exe, 用此方法也能安装成功,这样就可以统一了。
回复

使用道具 举报

3380#
 楼主| 发表于 2012-6-14 17:33:00 | 只看该作者
原帖由 dvd008 于 2012-6-14 15:56 发表
安装INF

安装TEMP
DEVI *****\TEMP\NV\nv_disp.inf


安装C盘
PECMD "TEAM LOGS drv.log| ENVI V=%PECMDVER%|  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf|  LOGS"

好像都可以成功



试试  PECMD2012.1.69.72_win32.多窗口多线程-6.sfx.zip【DVD008】
DEVI  $VCARD.CAB,,%TEMP%

用的仿 『DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf』算法。
回复

使用道具 举报

3381#
发表于 2012-6-14 17:41:49 | 只看该作者
原帖由 2012abc19701 于 2012-6-14 17:14 发表



WIN8吗?

WIN8  『  DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf』 也行????
难道WIN8反朴归真了??
上面执行的是XP的逻辑。

是不是 WIN7 下面 删除 DrvLoad.exe, 用此方法也能安装成功 ...


以前测试,WIN7 貌似不能删除DrvLoad.exe

WIN8下,也有DrvLoad.exe
回复

使用道具 举报

3382#
发表于 2012-6-14 18:31:51 | 只看该作者
上面版本,CAB 安装成功!

不过, 第一次,先安装显卡驱动, 再PCIP ,不行了

第二次,先PCIP 成功,再安装CAB的显卡驱动,也成功.


WIN8 兼容还不错.
回复

使用道具 举报

3383#
 楼主| 发表于 2012-6-14 18:48:42 | 只看该作者

回复 #3527 dvd008 的帖子

》》不过, 第一次,先安装显卡驱动, 再PCIP ,不行了
先安装显卡驱动 后  DEVI *rescan 试试。

安装显卡驱动
DEVI *rescan
PCIP *safe 192.168.1.2,255.255.255,192.168.1.1

要不看看 显卡INF,看看做了什么特别动作(主要是注册表)。
回复

使用道具 举报

3384#
 楼主| 发表于 2012-6-14 18:52:18 | 只看该作者

回复 #3527 dvd008 的帖子

1. 我觉得, WIN7 可以 删除DrvLoad.exe

2.
DEVI *7pe  $VCARD.CAB,,%TEMP%
应该也可以,用的是DrvLoad.EXE

WIN8 下无*7pe
DEVI   $VCARD.CAB,,%TEMP%
用的是PECMD 内置方法,不调用外部程序。
回复

使用道具 举报

3385#
发表于 2012-6-14 19:55:38 | 只看该作者
这个版本,确实可以不用DrvLoad.EXE
WIN7,WIN8 安装显卡,都能成功.

但是,PCIP 功能无效. 有冲突.

貌似只要安装驱动,PCIP就不行了.

WIN7
前面那个没问题的70版,需要DrvLoad.EXE,
但是,可以安装驱动,PCIP 正常.

新版的结果,将导致安装3卡后,无法PCIP ,
只能手工设置.


WIN8,由于内置网卡驱动,如果不内置网卡驱动,

结果可能和WIN7一样.


看看怎么完美处理这个问题?
回复

使用道具 举报

3386#
发表于 2012-6-14 20:12:02 | 只看该作者
正常xp系统下file %WinDir%\*.txt 为什么自己建的se开头的txt不删?比方se123.txt,有什么讲究么?

还有labe 有个小问题,可以不用更新
[执行命令]为空时,[颜色集合] 失效,当然 执行命令写入envi就可以解决
回复

使用道具 举报

3387#
 楼主| 发表于 2012-6-14 20:13:35 | 只看该作者

回复 #3530 dvd008 的帖子

是不是  用 DrvLoad.exe 就没问题。

DEVI *7pe  $VCARD.CAB,,%TEMP%
再PCIP
行吗?
WIN7,WIN8都可这样试试。
回复

使用道具 举报

3388#
发表于 2012-6-14 20:56:18 | 只看该作者

回复 #3532 2012abc19701 的帖子

call win1
_SUB win1,W300H100
ITEM Button1,W80H25, ABC,,#1
_END

按钮加图标后 不显示标题了
回复

使用道具 举报

3389#
发表于 2012-6-14 21:22:32 | 只看该作者
原帖由 2012abc19701 于 2012-6-14 20:13 发表
是不是  用 DrvLoad.exe 就没问题。

DEVI *7pe  $VCARD.CAB,,%TEMP%
再PCIP
行吗?
WIN7,WIN8都可这样试试。



这样都不行
回复

使用道具 举报

3390#
 楼主| 发表于 2012-6-14 21:31:39 | 只看该作者

回复 #3531 diannao338 的帖子

重新下载吧。PECMD2012.1.69.72_win32.多窗口多线程-6.sfx.zip【5】
关于LABE
原来 提供了一个接口,
伪命令即一个星号『*』。

前面帖子说过。
本版,为方便,对颜色,可以不用*,指定了颜色,则自动处理。
但是有些还是需要伪命令『*』。如需要捕捉消息时。

LABE:
*为伪命令,具有相应的行为特性,但不执行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-29 04:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表