[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] [已解决]数字电子表的显示是什么原理?

最近在网上看到一个数字电子表的批处理,头看晕了,源代码如下:
  1. @echo off&SetLocal EnableDelayedExpansion&Mode Con Cols=54 Lines=6&Color 0a
  2. for %%a in (4 1 2 1 2 1 4 2 1 2 1 2 1 2 1 2 4 2 5 2 6 2 4 2 5 1 2
  3. 1 4 2 1 2 5 2 3 2 8 2 4 1 7 2 1 2 1 2 1 2 5 1 5 1 8 1 4 2 4) do (
  4.   set/a "cc=~cc"
  5.   for /l %%i in (1,1,%%a) do if "!cc!"=="0" (set "dgts=!dgts! ") else set "dgts=!dgts!■"
  6. )
  7. for /l %%z in () do (
  8. if "!time:~7,1!" neq "!sec!" (
  9. set "sec=!time:~7,1!"
  10. set "oc="
  11. for /l %%h in (0,1,4) do (
  12. for %%d in (0 sp 1 sp : sp 3 sp 4 sp : sp 6 sp 7) do (
  13. if "%%d"==":" (
  14. set/a tt=%%h*5
  15. if "!tt:~-1!"=="0" (set "oc=!oc! ") else set "oc=!oc!●"
  16. ) else (
  17. if "%%d"=="sp" (set "oc=!oc! ") else (
  18. set "timeP=!time: =0!"
  19. set/a s=!timeP:~%%d,1!*15+%%h*3
  20. for %%o in (!s!) do set "oc=!oc!!dgts:~%%o,3!"
  21. )
  22. )
  23. )
  24. )
  25. cls
  26. set/p=!oc!<nul
  27. )
  28. )
复制代码
显示这样的:

恳求大虾们解释下其中的原理,实现这样的效果关键在哪里?还有第一个for里面的那一串数字有什么用?
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

刚入门先不要急着看这么复杂的代码,等弄懂for if set 语句的用法及原理后,就看得懂了,现在没法给你解释,解释起来不是一般的麻烦,你也未必能懂。

TOP

回复 2# FOR


    基础的东西自我感觉还行,麻烦解释下算法吧,主要是重点在哪里我不知道

TOP

咋就没人回答呢,是太简单了还是

TOP

找到方向了,感谢Bather~~!

TOP

回复 5# JooKin


等你理解顶楼代码之后,别忘了回来给其他不懂的人讲解一下啊
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表