中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] [3] [4] »
作者:
标题: [原创]COLOR TIME 彩色时间屏保 上一主题 | 下一主题
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 16 楼』:  

P处理能玩到这个境界,实在是牛人啊
收下来慢慢品味

2007-1-29 03:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
doscc
中级用户




积分 256
发帖 93
注册 2006-3-26
来自 广东
状态 离线
『第 17 楼』:  

去掉 call 的效果也是一样.

call 有时的作用是很大的.

@echo off
set a=1
echo %a%
call :aa a
echo %a%
goto :EOF

:aa
call set %1=2
goto :EOF

2007-1-29 14:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 18 楼』:  

第一句call是本职工作

第二句call是蛇足之笔

set %1=2



call set %1=2

结果没有什么不同

在下面的例子中call是有用的
@echo off
set a=1 2 3
echo %a%
call :aa a
echo %a%
goto :EOF

:aa
call set %1=%%%1%% 4 5 6
goto :EOF
[ Last edited by qzwqzw on 2007-1-29 at 02:03 AM ]

2007-1-29 15:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qjbm
初级用户





积分 125
发帖 44
注册 2007-1-24
状态 离线
『第 19 楼』:  

请问 qzwqzw :

1.---------------------------
call set %1=%%%1%% 4 5 6

在代码没有测试运行前,如何判断该使用几次%符号.

2.---------------------------
call set %1=%%%1%% 4 5 6 等效于 set %1=%a% 4 5 6

call set是否有必要性.

[ Last edited by qjbm on 2007-1-29 at 02:23 AM ]

2007-1-29 15:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bbq123bbq
初级用户




积分 197
发帖 77
注册 2006-9-19
状态 离线
『第 20 楼』:  

强~~~~~~~够牛的虽然没看懂....汗~~

2007-1-29 15:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doscc
中级用户




积分 256
发帖 93
注册 2006-3-26
来自 广东
状态 离线
『第 21 楼』:  

加多一对 %%

call set %1=%%%1%% 4 5 6
      ↓
call set a=%%a%% 4 5 6
  ↓
set a=%a% 4 5 6

2007-1-29 15:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 22 楼』:  



  Quote:
@echo off
set a=1 2 3
echo %a%
call :aa a
echo %a%
goto :EOF

:aa
call set %1=%%%1%% 4 5 6
goto :EOF

领悟不错的话 call的作用在一定程度上是代替的变量延迟
@echo off
setlocal enabledelayedexpansion
set a=1 2 3
echo %a%
call :aa a
echo %a%
pause
goto :EOF

:aa
set %1=!%1! 4 5 6
goto :EOF




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2007-1-29 15:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 23 楼』:  

---qjbm-----------

Q1:总的原则是需要解析几次就用几层%

比如call set %1=%%%1%% 4 5 6

在call执行之前命令行已被处理成了类似这样的形式

call set a=%a% 4 5 6

在call执行之后set执行之前命令行则变成这样

set a=1 2 3 4 5 6

Q2:当aa段内使用的是不确定的或者动态变化的变量名时call set是有用的

---PPdos----------------------------------

领悟得不错

不过反过来理解更合适些——

变量延迟l的作用在一定程度上是代替的call

因为call的用法出现要早得多

在没有cmd的时候

dos下就是用call来实现类似C语言的传址特性的

   此帖被 +2 点积分    点击查看详情   
评分人:【 NWQ 分数: +1  时间:2007-1-30 00:47
评分人:【 qjbm 分数: +1  时间:2007-1-30 03:38


2007-1-30 00:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flykiss8
初级用户





积分 36
发帖 18
注册 2007-1-30
状态 离线
『第 24 楼』:  

厉害,收藏慢慢学~~~~~~

2007-1-30 05:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 25 楼』:  

创意很不错.就是不必要的语句有点多.简化一下.
@echo off & setlocal EnableDelayedExpansion
mode con cols=100 lines=40
title COLOR TIME
call :tnb
set spc=                                                                          
set font=█★●◆□◎◇¤⊙〓

:new
setlocal
color e%RANDOM:~-1%
set rdfont=!font:~%RANDOM:~-1%,1!
set/a a=%random%%%50,b=%random%%%35
set nk=!spc:~0,%a%!
for /l %%a in (0,1,%b%) do echo.
if "%time:~0,1%"==" " set time=0%time:~1%

echo %nk%                  %date%
echo %nk% !%time:~0,1%a:█=%rdfont%! !%time:~1,1%a:█=%rdfont%!     !%time:~3,1%a:█=%rdfont%! !%time:~4,1%a:█=%rdfont%!
echo %nk% !%time:~0,1%b:█=%rdfont%! !%time:~1,1%b:█=%rdfont%!     !%time:~3,1%b:█=%rdfont%! !%time:~4,1%b:█=%rdfont%!
echo %nk% !%time:~0,1%c:█=%rdfont%! !%time:~1,1%c:█=%rdfont%!  · !%time:~3,1%c:█=%rdfont%! !%time:~4,1%c:█=%rdfont%!
echo %nk% !%time:~0,1%d:█=%rdfont%! !%time:~1,1%d:█=%rdfont%!     !%time:~3,1%d:█=%rdfont%! !%time:~4,1%d:█=%rdfont%!
echo %nk% !%time:~0,1%e:█=%rdfont%! !%time:~1,1%e:█=%rdfont%!  · !%time:~3,1%e:█=%rdfont%! !%time:~4,1%e:█=%rdfont%!
echo %nk%             www.cn-dos.net DOSCC WINBY.
ping 127.1 -n 3 >NUL
cls
endlocal
goto :new

:tnb
rem 0-9 数字模样。
set 0a=█████
set 0b=█      █
set 0c=█      █
set 0d=█      █
set 0e=█████

set 1a=  ██   
set 1b=    █   
set 1c=    █   
set 1d=    █   
set 1e=    █   

set 2a=    ███
set 2b=        █
set 2c=█████
set 2d=█        
set 2e=█████

set 3a=    ███
set 3b=        █
set 3c=█████
set 3d=        █
set 3e=█████

set 4a=█        
set 4b=█      █
set 4c=█████
set 4d=        █
set 4e=        █

set 5a=███   
set 5b=█        
set 5c=█████
set 5d=        █
set 5e=█████

set 6a=███   
set 6b=█        
set 6c=█████
set 6d=█      █
set 6e=█████

set 7a=█████
set 7b=█      █
set 7c=        █
set 7d=        █
set 7e=        █

set 8a=█████
set 8b=█      █
set 8c=█████
set 8d=█      █
set 8e=█████

set 9a=█████
set 9b=█      █
set 9c=█████
set 9d=        █
set 9e=  ████


   此帖被 +8 点积分      点击查看详情   
评分人:【 electronixtar 分数: +8  时间:2007-1-30 14:05





认识自己,降伏自己,改变自己
,才能改变别人!
2007-1-30 12:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 26 楼』:  

太佩服你们了

哈哈。。。。

2007-1-30 12:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 27 楼』:  

很久没有来法帖子了

今天看到了很多好的东西了

正在狂学中啊

*_*

2007-1-30 12:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hngaoshou
社区乞丐

gaoshou



积分 -16
发帖 77
注册 2007-1-30
状态 离线
『第 28 楼』:  

大力支持



:cool:
[swf=1,1]http://img63.imageshack.us/my.php?image=58098766zh0.swf[/swf]
2007-1-31 00:22
查看资料  发送邮件  发短消息 网志  OICQ (327869085)  编辑帖子  回复  引用回复
bob1989
中级用户





积分 322
发帖 144
注册 2007-1-10
状态 离线
『第 29 楼』:  

数字写得不太好看啊`

2007-1-31 11:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hngaoshou
社区乞丐

gaoshou



积分 -16
发帖 77
注册 2007-1-30
状态 离线
『第 30 楼』:  

顶.............
不过我总觉得缺点什么



:cool:
[swf=1,1]http://img63.imageshack.us/my.php?image=58098766zh0.swf[/swf]
2007-2-1 00:53
查看资料  发送邮件  发短消息 网志  OICQ (327869085)  编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: