中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理时差显示 [SYBC彩色演示代码]
作者:
标题: [原创]批处理时差显示 [SYBC彩色演示代码] 上一主题 | 下一主题
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『楼 主』:  [原创]批处理时差显示 [SYBC彩色演示代码]

动态刷新显示当前时间到某个时间的时差,以及时差秒数
使用模块:SYBC[1.1.44],SYBT[修改],之前某代码的框架

[ Last edited by sl543001 on 2010-7-9 at 00:52 ]

附件 1: 时差.gif (2010-7-9 00:23, 9.61 K,下载次数: 1)


附件 2: 时差.gif (2010-7-9 00:52, 9.37 K)




SYBNQQ:354324773
2010-7-9 00:23
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 2 楼』:  

框架来源
http://www.cn-dos.net/forum/viewthread.php?tid=50583

关键代码
主要部分:
:JM1
::载入大数字信息
call :dsz
::设定目标时间
set timemb=24:00:00.00
::显示小框架
call :FK [简介]: %$JM1%时差计算程序
::显示提示信息
sybc 12110%duantou%%$JM3%描述信息:%$JM1%这只是一个简单的示例,用以演示和测试SYBC的性能.
:JM1_1
::记录当前时间
set timexz=%time%
::计算时差
call :sybt %timexz% %timemb%
::拆分时差的小数部分(厘秒部分)
set /a ts=T/100,tl=T%%100
::补足位数
if %tl% lss 10 set tl=0%tl%
::补足位数
set TT=000000000%Ts%.%tl%
::显示各时间
sybc 10610%duantou%%$JM3%现在时间: %$JM1%%timexz%;%duantou%%$JM3%目标时间: %$JM1%%timemb%;%duantou%%$JM3%剩余时间: %$JM1%%timecj%
::显示大字版时差
for /l %%A in (0,1,7) do set /a zb=10910+%%A*7&&call sybc !zb!%$JM3%%%dsz!timecj:~%%A,1!%%
::显示小字版时差
sybc 11410%duantou%%$JM3%剩余秒数: %$JM1%%Ts%.%Tl% %$JM3%秒   ;
::显示大字版秒差
for /l %%A in (-1,-1,-9) do set /a zb=11573+%%A*7&&call sybc !zb!%$JM3%%%dsz!TT:~%%A,1!%%
::返回刷新
goto :JM1_1
goto :EOF
附加部分:
:dsz
set dsz0=▓▓▓;▓  ▓;▓  ▓;▓  ▓;▓▓▓;
set dsz1=    ▓;    ▓;    ▓;    ▓;    ▓;
set dsz2=▓▓▓;    ▓;▓▓▓;▓    ;▓▓▓;
set dsz3=▓▓▓;    ▓;▓▓▓;    ▓;▓▓▓;
set dsz4=▓  ▓;▓  ▓;▓▓▓;    ▓;    ▓;
set dsz5=▓▓▓;▓    ;▓▓▓;    ▓;▓▓▓;
set dsz6=▓▓▓;▓    ;▓▓▓;▓  ▓;▓▓▓;
set dsz7=▓▓▓;    ▓;    ▓;    ▓;    ▓;
set dsz8=▓▓▓;▓  ▓;▓▓▓;▓  ▓;▓▓▓;
set dsz9=▓▓▓;▓  ▓;▓▓▓;    ▓;▓▓▓;
set dsz:=      ;  ▓  ;      ;  ▓  ;      ;
set dsz.=      ;      ;      ;      ;  ▓  ;
goto :eof

:SYBT
IF "%1" == "" EXIT /B 0
FOR /F "DELIMS=:. TOKENS=1,2,3,4" %%N IN ("%1") DO SET O=1%%O&SET P=1%%P&SET Q=1%%Q&SET /A N=100+%%N
IF "%2" == "" SET /A T=N*360000+O*6000+P*100+Q-36610100&&EXIT /B !T!
FOR /F "DELIMS=:. TOKENS=1,2,3,4" %%M IN ("%2") DO SET I=1%%N&SET J=1%%O&SET K=1%%P&SET /A H=100+%%M
SET /A H=H-N,I=I-O,J=J-P,K=K-Q,T=H*360000+I*6000+J*100+K
if %t% lss 1 set /a T=T+8640000
set /a H=T%%8640000/360000,I=T%%360000/6000,J=T%%6000/100,K=T%%100
if %H% lss 10 set h=0%h%
if %i% lss 10 set i=0%i%
if %j% lss 10 set j=0%j%
if %k% lss 10 set k=0%k%
set timecj=%H%:%I%:%J%.%K%
EXIT /B !%T%!
[ Last edited by sl543001 on 2010-7-9 at 00:33 ]



SYBNQQ:354324773
2010-7-9 00:25
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 3 楼』:  

主要就上边的10几行代码,嵌入到框架里[用上面的:JM1替换掉框架代码的:JM1]
将附加部分添加到框架代码结尾,就可以使用了



SYBNQQ:354324773
2010-7-9 00:29
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 4 楼』:  

看电影无聊,花了一个小时,写了这点代码,看不明白的可以问我

QQ 354324773 Q群 3401238



SYBNQQ:354324773
2010-7-9 00:34
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 5 楼』:  

解释一下这句话,省的大家看不明白
sybc 11410%duantou%%$JM3%剩余秒数: %$JM1%%Ts%.%Tl% %$JM3%秒   ;
一下三个变量属于此框架专属公共变量
%duantou% 是那个绿色的双圈字符   
%$JM3%      表示黄子
%$JM1%      表示白字
所以可以看成
在"11410"这个位置[14行10列],显示一个"绿色的双圈字符"然后显示"黄色的"剩余秒数:字样,然后"白色的"秒数信息,然后显示"黄色的"秒字

[ Last edited by sl543001 on 2010-7-9 at 00:40 ]



SYBNQQ:354324773
2010-7-9 00:37
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 6 楼』:  

完整代码

附件 1: SYBN彩色时差脚本[未优化].cmd.zip (2010-7-9 17:57, 4.29 K,下载次数: 8)


SYBNQQ:354324773
2010-7-9 17:57
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 7 楼』:  

此脚本,可以在win7中使用



SYBNQQ:354324773
2010-7-21 23:17
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: