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

[原创] HTA版方程式上下标智能识别工具

一、程序介绍:能够将化学里 方程式或者化学式 中的数字、+、-智能识别为上下标,目前(测试阶段)本工具能够准确转化绝大多数的化学方程式、离子方程式、化合物、简单离子、复杂离子等中的上下标,可以大大减少化学教师手动输入上下标的麻烦。本工具完全开源,欢迎使用、复制、改装、传播,但在传播过程中请注明原作者:2laoshi(youxi01),另外,禁止将本工具用于商业用途!

二、注意事项使用本工具不能保证方程式中所有的上下标都能够转化正确,如果你在使用过程发现有错误,请在本文下边留言告知,我会及时的对程序中的正则算法进行更新,谢谢!


三、程序编写:vbs+hta

四、运行界面
转化前:

转化后:

保存:

五、作者:2laoshi(youxi01),个人博客:http://www.2laoshi.cn

六、程序下载智能转化上下标工具

源代码:
  1. <!--////////程序说明/////////====
  2. Intro  自动生成上下标
  3. FileName 自动
  4. Author  2laoshi(youxi01)
  5. Version  Beta1.0
  6. Web  http://www.2laoshi.cn
  7. MadeTime 2009-3-26~
  8. <!--//////////设置hta格式////////////-->
  9. <HTA:APPLICATION
  10. SCROLL="no"
  11. MaximizeButton="no"
  12. MinimizeButton="no"
  13. INNERBORDER="no"
  14. SHOWINTASKBAR="yes"
  15. SINGLEINSTANCE="yes"
  16. BORDER="thin"
  17. />
  18. <style type="text/css">
  19. a:link {color: blue}
  20. a:visited {color: blue}
  21. body  {background: #EEEEEE}
  22. button {
  23. height:23px;
  24. padding:2px 0 2px 0;
  25. margin:0px 2px 0 0;
  26. }
  27. .footer {
  28. text-align:center;
  29. margin:4px;
  30. font-size:15px;
  31. }
  32. #MyEditor {
  33. height:200px;
  34. width:388px;
  35. border:1px solid buttonshadow;
  36. }
  37. #ShowTip {
  38. background-color:#006644;
  39. color:Yellow;
  40. width=200px;
  41. height:30px;
  42. line-height:30px;
  43. font-size:12px;
  44. text-align:center;
  45. position:absolute;
  46. left:100px;
  47. top:80px;
  48. border:1px solid red;
  49. filter:Alpha(opacity=0);
  50. }
  51. #MyLink {
  52. width=99%;
  53. height:20px;
  54. font-size:12px;
  55. text-align:center;
  56. }
  57. </style>
  58. <script language="vbscript">
  59. width=400
  60. height=290
  61. window.resizeTo width,height
  62. ileft=(window.screen.width-width)/2
  63. itop=(window.screen.height-height)/2   
  64. window.moveTo ileft,itop
  65. Sub CopyText()
  66. MyEditor.document.execCommand("selectAll")
  67. MyEditor.document.execCommand("Copy")
  68. ShowTip.filters.alpha.opacity=100
  69. ShowTipinfo()
  70. MyEditor.document.selection.empty()
  71. End Sub
  72. Function RegExpRep(strng, patrn,patrn2)
  73. Set regEx =New RegExp ' 建立正则表达式。
  74. regEx.IgnoreCase =True' 设置是否区分字符大小写。
  75. regEx.Global =True' 设置全局可用性。
  76. regEx.Pattern=patrn
  77. RegExpRep=regEx.replace(strng,patrn2)
  78. set regEx=nothing
  79. End Function
  80. Sub GOGO()
  81. str=MyEditor.document.body.innertext&vbcrlf
  82. '处理特殊离子(带一个电荷的离子团,如:高锰酸根离子)
  83. ostr="MnO4-,ALO2-,NH4+,NO3-,HCO3-,HSO3-"
  84. ostr=split(ostr,",")
  85. for i=0 to Ubound(ostr)
  86.   Tr=right(ostr(i),2)
  87.   Tl=left(ostr(i),len(ostr(i))-2)
  88.   Tr1=left(Tr,1)
  89.   Tr2=Right(Tr,1)
  90. str=RegExpRep(str,ostr(i),Tl&"<sub>"&Tr1&"</sub><sup>"&Tr2&"</sup>")
  91. next
  92. '处理上标;
  93. str=RegExpRep(str,"(\d?[\+-])\s*([\+=\r\n、\.\u4e00-\u9fa5])","<sup>$1</sup> $2")
  94. '处理下标;
  95. str=RegExpRep(str,"([a-zA-Z))])([1-5])","$1<sub>$2</sub>")
  96. str=RegExpRep(str,"[\r\n]","<p>")
  97. str=replace(str,"<sup>+</sup><sup>+</sup>","<sup>+</sup>")
  98. MyEditor.document.body.innerhtml=str
  99. End Sub
  100. Function ShowTipinfo()
  101. if ShowTip.filters.alpha.opacity>0 then
  102. ShowTip.filters.alpha.opacity=ShowTip.filters.alpha.opacity-1
  103. settimeout "ShowTipinfo",50
  104. end if
  105. End Function
  106. </script>
  107. <body topmargin="2" leftmargin="2" oncontextmenu=self.event.returnvalue=false>
  108. <title>智能转化上下标-爱老师网 www.2laoshi.cn</title>
  109. <iframe id="MyEditor" onload="initeditor()"></iframe><br />
  110. <div id="ShowTip">已复制,请直接粘贴到word文档中</div>
  111. <p class=footer>
  112. <button onclick=GOGO><font color=red>生成上下标</font></button>
  113. <button onclick=CopyText>复制到剪贴板</button>
  114. <button onclick=self.close>退出</button></p>
  115. <div ID="Mylink"><a href="http://www.2laoshi.cn">欢迎光临爱老师网</a>¤<a href="http://www.2laoshi.cn/post/176.html">报告错误</a></div>
  116. <script language="javascript">
  117. function initeditor()
  118. {
  119. oStyle=MyEditor.document.createStyleSheet();
  120. oStyle.addRule("P","font-size:14px")
  121. oStyle.addRule("P","padding:0px")
  122. oStyle.addRule("P","margin:0px")
  123. oStyle.addRule("sub","font-family:Times new roman")
  124. oStyle.addRule("sup","font-family:Times new roman")
  125. MyEditor.document.designMode="on";
  126. }
  127. </script>
复制代码

对VBS及HTA还是不得其要领。。。
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

和批处理差不多
学习思路也差不多,多看,多练OK

TOP

图片无法显示
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

显示不了你就刷啊,呵呵。

TOP

现在可以了,可能是刚才网络不好吧。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表