首页 > 开发 > HTML > 正文

winXP下用VBS写的代码编辑器

2020-01-29 17:24:16
字体:
来源:转载
供稿:网友
这几天不能访问的时候把硬盘上的东东复习了一遍,找出了这个东西出来,由于水平有限,而且对DHTML没有什么研究,所以做得很是粗糙,贴上来是为了抛砖引玉,希望有高人能帮忙修改或拿出更优秀的东东出来。
测试环境为windows XP 专业版 SP2,暂时发现代码着色方面有Bug,虽然已有解决方法,不过由于代码量的原因(用记事本写代码真的很恼火),暂时未纠正,另外预计将来加入自动完成等功能。
ps:利用VBS脚本+DHTML,主要功能由正则表达式+wmic来完成,代码需保存为HTA类型的文件,当然也可以更改为纯粹的VBS脚本,不过那样效率低多了,而且代码更复杂。
     代码如下:
    <HTML>
<HEAD>
<title>代码编辑器</title>
<HTA:APPLICATION selection="no" SCROLL="no" contextMenu="no" />

<SCRIPT LANGUAGE="VBSCRIPT">
'*******************************************************************'
'脚本开始
'*******************************************************************'
Set shell=CreateObject("WScript.Shell")
Set fso=CreateObject("Scripting.FileSystemObject")

'*******************************************************************'
'遍历本地所有类型文件
'*******************************************************************'
Sub OptionAdd(fExt)
str = "<select size=""1"" name=""objOption"" onChange=""TestSub"">"
Set objDataFiles = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!//./root/cimv2")
Set colFiles = objDataFiles. _
ExecQuery("Select * from CIM_DataFile where extension = '" & fExt & "'")
For Each objFile in colFiles
str = str & "<option value=""" & objFile.name & """>" & _
objFile.name & "</option>"
next
str = "<label>本地脚本文件:</label>" & str & "</select>"
forOption.innerHTML = str

end Sub

'*******************************************************************'
'颜色转换
'*******************************************************************'
Sub ChangeColor
if cxs.value = "vbs" then
WinMain.innerHTML = ChangeVBS(WinMain.innerText)
else 'CMD脚本
WinMain.innerHTML = ChangeCMD(WinMain.innerText)
end if
end Sub

'*******************************************************************'
'VBS转换模块
'*******************************************************************'
Function ChangeVBS(sText)

Set re=new RegExp
re.IgnoreCase =true
re.Global=true


'注释转换
re.Pattern = "(/'.*)/r/n"
sText = re.Replace(sText,"<font color=#339999>$1</font><p>")

'转换符号为[蓝色]
re.Pattern = "(/(|/)|/&|/+|/-|/*|/%|/:|/;|/.|/""" & ")"
sText = re.Replace(sText,"<font color=#993333>$1</font>")


sText = "<table ><tr><td width='1024' " & _
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表