无忧启动论坛

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

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

    [复制链接]
4591#
发表于 2013-3-3 18:47:36 | 只看该作者
SITE ?-local ,变量名=FTIME,文件名
获得的时间格式是:2013 03 02 23 10 00    498 6
date进行时间转换应该兼容这种格式的,星期应该放在最后为好
回复

使用道具 举报

4592#
发表于 2013-3-3 18:55:00 | 只看该作者
算周数的弄了半天才搞明白,这个周数是以周日为第一天,1月1日算第0周这样来的,我是说怎么和我的代码老是有些莫名其妙的差别。

[ 本帖最后由 2010qaqz111 于 2013-3-3 19:17 编辑 ]
回复

使用道具 举报

4593#
 楼主| 发表于 2013-3-3 19:25:27 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 18:47 发表
SITE ?-local ,变量名=FTIME,文件名
获得的时间格式是:2013 03 02 23 10 00    498 6
date进行时间转换应该兼容这种格式的,星期应该放在最后为好


重新下载
DATE *space &tm
MESS %&tm%
// 2013 03 03 00 19 23 29 006
回复

使用道具 举报

4594#
发表于 2013-3-3 19:29:20 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:25 发表


重新下载
DATE *space &tm
MESS %&tm%
// 2013 03 03 00 19 23 29 006

星期能放在后面吗
回复

使用道具 举报

4595#
 楼主| 发表于 2013-3-3 19:32:57 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 19:29 发表

星期能放在后面吗


// 2013 03 03 19 23 29 006 00
吗?
星期放在 毫秒后吗? 看起来很怪。
回复

使用道具 举报

4596#
 楼主| 发表于 2013-3-3 19:33:56 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 18:29 发表

前面的测试就是在UAC关闭的情况。

另外,那个算周数的,如果是1月1日算出来是第0周,这个能不能调整成1为基数啊,非计算机领域很少有用第0周这样的说法的。


》》 另外,那个算周数的,如果是1月1日算出来是第0周,这个能不能调整成1为基数啊,非计算机领域很少有用第0周这样的说法的。
已改
回复

使用道具 举报

4597#
发表于 2013-3-3 19:35:28 | 只看该作者
怎么我得到的结果还是2013 3 3 0 19 34 37 780啊
回复

使用道具 举报

4598#
 楼主| 发表于 2013-3-3 19:36:27 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 17:09 发表
_SUB WIN1,W300H200
PART list disk ,&DSKS
SET WM_DROPFILES=0x0233
EDIT * Edit1,L10T10W275H140,%DSKS%,,0x108
ENVI @Edit1.MSG=%WM_DROPFILES%:MESS DROP
_END
WIN1这个代码存成 z1.wcs,跟 pecmd.ex ...



你运行的PECMD.EXE  放在 哪儿?
需要放在 C:\windows\system32\ 下。

WIN8 下 放到其他非系统目录 权限是不同的。
回复

使用道具 举报

4599#
 楼主| 发表于 2013-3-3 19:37:10 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 19:35 发表
怎么我得到的结果还是2013 3 3 0 19 34 37 780啊

你那没改吧。
重新下载吧 。
参数是  *space0
有个0
回复

使用道具 举报

4600#
发表于 2013-3-3 19:37:29 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:32 发表


// 2013 03 03 19 23 29 006 00
吗?
星期放在 毫秒后吗? 看起来很怪。

site 就是将星期放在毫秒后面,你觉得怪吗,我觉得还是不怪啊
回复

使用道具 举报

4601#
发表于 2013-3-3 19:38:58 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:37 发表

你那没改吧。
重新下载吧 。
参数是  *space0
有个0

是重新下载的啊,是你哪搞错了吧
回复

使用道具 举报

4602#
 楼主| 发表于 2013-3-3 19:49:30 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 19:37 发表

site 就是将星期放在毫秒后面,你觉得怪吗,我觉得还是不怪啊


PECMD2012.1.73.1-130303-1.多窗口线程孵化版_win32_64.sfx.zip

site 和 date *space0 统一为
// 2013 03 03 09 07 01 008 0
星期在最后1位
毫秒3位
不知道会不会影响你以前的程序。
回复

使用道具 举报

4603#
发表于 2013-3-3 19:51:51 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:36 发表



你运行的PECMD.EXE  放在 哪儿?
需要放在 C:\windows\system32\ 下。

WIN8 下 放到其他非系统目录 权限是不同的。


放在 C:\windows\system32\ 也试过了,还是不行。


另外,Edit控件如何拦截内容改变的事件有比较通用一点的方法吗?不管通过什么方式改变,比如ENVI设置,键入,粘贴?

[ 本帖最后由 2010qaqz111 于 2013-3-3 19:54 编辑 ]
回复

使用道具 举报

4604#
 楼主| 发表于 2013-3-3 19:56:23 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 19:51 发表


放在 C:\windows\system32\ 也试过了,还是不行。


另外,Edit控件如何拦截内容改变的事件有比较通用一点的方法吗?不管通过什么方式改变,比如ENVI设置,键入,粘贴?

》》问一个技术问题,Edit控件如何拦截内容改变的事件有比较通用一点的方法吗?不管通过什么方式改变,比如ENVI设置,键入,粘贴?
什么意思?
拦截 是 响应 还是 阻止 ?
回复

使用道具 举报

4605#
 楼主| 发表于 2013-3-3 19:57:22 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 19:38 发表

是重新下载的啊,是你哪搞错了吧

改革名吧
PECMD2012.1.73.1-130303-1.多窗口线程孵化版_win32_64.sfx.zip
回复

使用道具 举报

4606#
发表于 2013-3-3 19:58:33 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:56 发表

》》问一个技术问题,Edit控件如何拦截内容改变的事件有比较通用一点的方法吗?不管通过什么方式改变,比如ENVI设置,键入,粘贴?
什么意思?
拦截 是 响应 还是 阻止 ?

响应,根据键入内容的变化改变其他控件的状态,比如不允许空密码等等。

如果阻止也能实现的话更好,可以定义密码的字符集,免得其他地方处理的时候出错,比如出现空格被截断之类。

[ 本帖最后由 2010qaqz111 于 2013-3-3 19:59 编辑 ]
回复

使用道具 举报

4607#
发表于 2013-3-3 20:00:35 | 只看该作者
原帖由 mdyblog 于 2013-3-3 19:49 发表


PECMD2012.1.73.1-130303-1.多窗口线程孵化版_win32_64.sfx.zip

site 和 date *space0 统一为
// 2013 03 03 09 07 01 008 0
星期在最后1位
毫秒3位
不知道会不会影响你以前的程序。

这样没有影响的
DATE *space0 &tm
date *local:"%&tm%" b utc
MESS %b%
这个转换有问题,只能支持 DATE *space &tm获得的时间的转换

国内的习惯周日都是一周的第一天啊,你看看日历吧
国内的习惯是你的习惯吧,你自己加个1就可以了

[ 本帖最后由 2011hwo1 于 2013-3-3 20:21 编辑 ]
回复

使用道具 举报

4608#
发表于 2013-3-3 20:16:23 | 只看该作者
130303-1的版本:

算周数那个,再次测试了下,1月1日仍然是第0周。这个问题倒是不大,自己加个1也可以。


一周的第一天这个问题,日历的确很多都是周日排第一,但是实际工作上我遇到的很多是周一算第一天的,而且win7win8点托盘出来的日历也是周一排第一,当然系统是中文版的。

在不同地区,一星期的开始时间并不完全一致。在许多英语国家、以色列、日本、香港和台湾[1],一般认为一个星期开始于星期日。埃及人的一星期是从星期六开始的。中国大陆以及多数欧洲国家都以星期一为一星期的第一天。
越来越多的英文字典也开始将星期日定义为每星期的第一天,以星期五为周末(weekend)。在中国大陆,一般认为周末包括了星期六和星期天。
国际标准化组织在ISO 8601中将星期一定为一星期的第一天。

以上是wiki抄下来的内容,链接是 http://zh.wikipedia.org/wiki/%E6%98%9F%E6%9C%9F ,上面那一段在这页底部。


这里的讨论只是给个建议,最好能用不同的开关照顾到两种不同的习惯,这样更有通用性。

[ 本帖最后由 2010qaqz111 于 2013-3-3 20:46 编辑 ]
回复

使用道具 举报

4609#
 楼主| 发表于 2013-3-3 20:49:31 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 19:58 发表
响应,根据键入内容的变化改变其他控件的状态,比如不允许空密码等等。
如果阻止也能实现的话更好,可以定义密码的字符集,免得其他地方处理的时候出错,比如出现空格被截断之类。



ENVI &&WM_COMMAND=0x0111
ENVI &&EN_CHANGE=0x0300
_SUB WIN1,W354H309,
    ENVI &&i=0
    ENVI &&OldMsg=原始内容
    MEMO &Edit1,L10T10W275H140,%&OldMsg%,,
    ENVI @WIN1.MSG=%&WM_COMMAND%::&&wp,&&lp, CALL OnCommand
    LABE &提示,L28T204W263H30,,,
_END
WIN1

_SUB OnCommand
    CALC -base=16 #&&wCode=%&wp% / 0x10000 //高16位
    IFEX $%&EN_CHANGE% = %&wCode% , EXIT  //不是改变
    //内容改变,响应  
    // 不要用 MESS
    CALC #&i= %&i% + 1
    ENVI @&提示=内容改变了    %&i%
    //ENVI @&Edit1=%&OldMsg%  //恢复旧内容,阻止改变
_END


多个 EDIT、MEMO 区分:
CALC -base=16 #&&id=%&wp% % 0x10000  //低16位
&id 不同, 依次加 1



[ 本帖最后由 mdyblog 于 2013-3-4 00:17 编辑 ]

Edit内容改变_WCS.zip

538 Bytes, 下载次数: 791, 下载积分: 无忧币 -2

回复

使用道具 举报

4610#
发表于 2013-3-3 20:58:16 | 只看该作者
DATE *space好像没有多少的使用价值,如果要得到年月日时分秒的数字还得去掉空格和星期,再取前几个字段,而DATE *space0就只需要去掉空格后取前14位就是了.因此DATE *space可以取消,当然你不愿意取消就算了,DATE *space0格式的时间转utc或者gmt还得修改下。
回复

使用道具 举报

4611#
发表于 2013-3-3 20:59:31 | 只看该作者
原帖由 mdyblog 于 2013-3-3 20:49 发表



ENVI &&WM_COMMAND=0x0111
ENVI &&EN_CHANGE=0x0300
_SUB WIN1,W354H309,
    ENVI &&i=0
    ENVI &&OldMsg=原始内容
    MEMO &Edit1,L10T10W275H140,%&OldMsg%,,
    ENVI @WIN1.MSG=%&WM_COMMA ...

谢谢,这个方法我在压缩包带的示例里面找到过,但是对于控件ID计算的问题有些吃不准。

在VC里面,不管几个对话框窗口用的控件ID都是从10000开始唯一排列的,不同的对话框控件的ID一般不会重复。
而PECMD建立的对话框是每一个_SUB都按照出现的顺序从10000开始排的是这样吗,不管有几个_SUB定义了窗口,每个_SUB的第一个控件的ID都一定是0x10000?
回复

使用道具 举报

4612#
 楼主| 发表于 2013-3-3 20:59:41 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 20:16 发表
130303-1的版本:

算周数那个,再次测试了下,1月1日仍然是第0周。这个问题倒是不大,自己加个1也可以。


一周的第一天这个问题,日历的确很多都是周日排第一,但是实际工作上我遇到的很多是周一算第一天 ...


WIINDOWS 周日用0表示, 为一周开始。
就这么来的。
计算周数, 加个开关吧

已修改上传。
DATE 用ws1子项
SITE 用 -ws1开关

[ 本帖最后由 mdyblog 于 2013-3-3 22:46 编辑 ]
回复

使用道具 举报

4613#
 楼主| 发表于 2013-3-3 22:58:47 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 20:59 发表

谢谢,这个方法我在压缩包带的示例里面找到过,但是对于控件ID计算的问题有些吃不准。
在VC里面,不管几个对话框窗口用的控件ID都是从10000开始唯一排列的,不同的对话框控件的ID一般不会重复。
而PECMD建立的对话框是每一个_SUB都按照出现的顺序从10000开始排的是这样吗,不管有几个_SUB定义了窗口,每个_SUB的第一个控件的ID都一定是0x10000?

PECMD 是这样的。
相同类的控件 ID 是一个单独系列。 EDIT和MEMO是同一控件,只是参数不同。
各个窗口的控件号独立。 控件号 对所在窗口才有意义。 离开其窗口就没意义了。

VC 也是这样的。只是其图形界面不好管理重复的ID, 所以干脆不同得了, 反正一般一个程序ID用不完。VC支持手动修改,这样可以重复。
PECMD 到底有多少控件,我事先是不知道的,所以得省着点花。
还有 一个好处减去其实值,就是知道是第几个控件,反之也成立。
回复

使用道具 举报

4614#
发表于 2013-3-3 22:59:32 | 只看该作者
原帖由 mdyblog 于 2013-3-3 20:49 发表



ENVI &&WM_COMMAND=0x0111
ENVI &&EN_CHANGE=0x0300
_SUB WIN1,W354H309,
    ENVI &&i=0
    ENVI &&OldMsg=原始内容
    MEMO &Edit1,L10T10W275H140,%&OldMsg%,,
    ENVI @WIN1.MSG=%&WM_COMMA ...


终于搞定了。

LZ你这段码把wParam里面的两个零件顺序弄反了,低位是 ID,高位才是 EN_XXXX。

另外这个方法只能拦截到直接键入、键盘快捷键剪切和粘贴、鼠标右键剪切粘贴,对用ENVI语句直接设置控件内容不起作用,对拖放后自动填写文件名也不起作用,要拦截ENVI直接设置和拖放自动填入文件名,需要在控件上挂WM_SETTEXT消息才可以。

[ 本帖最后由 2010qaqz111 于 2013-3-3 23:01 编辑 ]
回复

使用道具 举报

4615#
发表于 2013-3-3 23:01:08 | 只看该作者
原帖由 mdyblog 于 2013-3-3 22:58 发表


PECMD 是这样的。
相同类的控件 ID 是一个单独系列。 EDIT和MEMO是同一控件,只是参数不同。
各个窗口的控件号独立。 控件号 对所在窗口才有意义。 离开其窗口就没意义了。

VC 也是这样的。只是其图形 ...

是的,我折腾出来了,清楚了ID这个就好处理了,谢谢。
回复

使用道具 举报

4616#
 楼主| 发表于 2013-3-3 23:18:29 | 只看该作者
原帖由 2011hwo1 于 2013-3-3 20:58 发表
DATE *space好像没有多少的使用价值,如果要得到年月日时分秒的数字还得去掉空格和星期,再取前几个字段,而DATE *space0就只需要去掉空格后取前14位就是了.因此DATE *space可以取消,当然你不愿意取消就算了,DATE  ...


数据顺序不同。
DATE *space0 格式输入用开关  *local0: *sys0:

评分

参与人数 1无忧币 +5 收起 理由
2011hwo1 + 5

查看全部评分

回复

使用道具 举报

4617#
发表于 2013-3-3 23:20:47 | 只看该作者
23:09 上传的这个,用-ws1得到的结果,1月1日变成第2周了。

用-ws的结果正常。

我上传个可以改文件时间的小程序,可以方便测试。

另外,给个特殊的日期来测试:
2006-12-30,周六

-ws的时候,这个应该是第52周
-ws1的时候,这个应该是第53周

[ 本帖最后由 2010qaqz111 于 2013-3-3 23:43 编辑 ]

文件属性修改器.rar

150.26 KB, 下载次数: 8, 下载积分: 无忧币 -2

回复

使用道具 举报

4618#
 楼主| 发表于 2013-3-3 23:21:05 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 22:59 发表


终于搞定了。

LZ你这段码把wParam里面的两个零件顺序弄反了,低位是 ID,高位才是 EN_XXXX。

另外这个方法只能拦截到直接键入、键盘快捷键剪切和粘贴、鼠标右键剪切粘贴,对用ENVI语句直接设置控件内 ...


对的。

ENVI 是本程序的逻辑控制的。程序自己知道,可以事先处理, 就不用拦截了。
这只是抛砖引玉。

[ 本帖最后由 mdyblog 于 2013-3-4 00:33 编辑 ]
回复

使用道具 举报

4619#
 楼主| 发表于 2013-3-3 23:57:44 | 只看该作者
原帖由 2010qaqz111 于 2013-3-3 23:20 发表
23:09 上传的这个,用-ws1得到的结果,1月1日变成第2周了。

用-ws的结果正常。

我上传个可以改文件时间的小程序,可以方便测试。

另外,给个特殊的日期来测试:
2006-12-30,周六

-ws的时候,这个 ...

-ws1
已修正。

DATE *space0 *local0:"2013 01 06 03 46 01 024 0" &t ws1  // 1 周日

DATE *space0 *local0:"2013 01 07 03 46 01 024 0" &t ws1  // 2 这天换周

[ 本帖最后由 mdyblog 于 2013-3-4 00:04 编辑 ]
回复

使用道具 举报

4620#
发表于 2013-3-4 00:11:11 | 只看该作者
23:58 的版本:


2012-12-31的-ws1周数54 <-这个错了

附件有测试的文件和脚本,PECMD加载后直接拖入文件即可。

[ 本帖最后由 2010qaqz111 于 2013-3-4 00:17 编辑 ]

FTIME-TEST.rar

1.13 KB, 下载次数: 4, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-27 01:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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